summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/distrho/default.nix6
-rw-r--r--pkgs/applications/audio/ecasound/default.nix4
-rw-r--r--pkgs/applications/audio/giada/default.nix4
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix6
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix12
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix3
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix6
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix8
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix5
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/qt.nix4
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix119
-rw-r--r--pkgs/applications/editors/quartus-prime/vsim.patch11
-rw-r--r--pkgs/applications/editors/texstudio/default.nix12
-rw-r--r--pkgs/applications/editors/uberwriter/default.nix54
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/krop/default.nix7
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix1
-rw-r--r--pkgs/applications/graphics/pencil/default.nix116
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix4
-rw-r--r--pkgs/applications/graphics/rx/default.nix4
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix14
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract4.nix4
-rw-r--r--pkgs/applications/kde/default.nix2
-rw-r--r--pkgs/applications/kde/kmahjongg.nix19
-rw-r--r--pkgs/applications/kde/libkmahjongg.nix18
-rw-r--r--pkgs/applications/misc/bashSnippets/default.nix4
-rw-r--r--pkgs/applications/misc/blender/darwin.patch105
-rw-r--r--pkgs/applications/misc/blender/default.nix60
-rw-r--r--pkgs/applications/misc/calibre/default.nix86
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--pkgs/applications/misc/font-manager/default.nix19
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix13
-rw-r--r--pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch37
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/mako/default.nix6
-rw-r--r--pkgs/applications/misc/marktext/default.nix35
-rw-r--r--pkgs/applications/misc/nnn/default.nix12
-rw-r--r--pkgs/applications/misc/notejot/default.nix4
-rw-r--r--pkgs/applications/misc/osmctools/default.nix47
-rw-r--r--pkgs/applications/misc/qolibri/default.nix2
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/tmatrix/default.nix19
-rw-r--r--pkgs/applications/misc/todoist/default.nix4
-rw-r--r--pkgs/applications/misc/vit/default.nix2
-rw-r--r--pkgs/applications/misc/waybar/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xygrib/default.nix9
-rw-r--r--pkgs/applications/networking/Sylk/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/captive-browser/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-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/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cawbird/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix21
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/xhyve.nix24
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/luigi/default.nix11
-rw-r--r--pkgs/applications/networking/gns3/default.nix15
-rw-r--r--pkgs/applications/networking/gns3/gui.nix29
-rw-r--r--pkgs/applications/networking/gns3/server.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix91
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix138
-rw-r--r--pkgs/applications/networking/irc/tiny/default.nix35
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/magnetico/default.nix4
-rw-r--r--pkgs/applications/networking/protonvpn-cli-ng/default.nix34
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix22
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--pkgs/applications/office/csv2odf/default.nix28
-rw-r--r--pkgs/applications/office/skanlite/default.nix6
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix12
-rw-r--r--pkgs/applications/radio/soapysdr/default.nix4
-rw-r--r--pkgs/applications/radio/svxlink/default.nix71
-rw-r--r--pkgs/applications/radio/urh/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix22
-rw-r--r--pkgs/applications/science/astronomy/gildas/imager-py3.patch12
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/science/math/nota/default.nix40
-rw-r--r--pkgs/applications/search/doodle/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix2
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json8
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix1
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock8
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix8
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock-fancy.nix2
-rw-r--r--pkgs/applications/window-managers/way-cooler/bar.diff37
-rw-r--r--pkgs/applications/window-managers/way-cooler/crates-io.nix3004
-rw-r--r--pkgs/applications/window-managers/way-cooler/default.nix113
-rw-r--r--pkgs/applications/window-managers/way-cooler/way-cooler.nix314
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-bg.nix1372
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-grab.nix794
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-lock.nix1479
-rw-r--r--pkgs/applications/window-managers/way-cooler/wlc.nix39
-rw-r--r--pkgs/build-support/docker-slim/default.nix67
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix4
-rw-r--r--pkgs/build-support/rust/default.nix4
-rw-r--r--pkgs/data/fonts/jetbrains-mono/default.nix25
-rw-r--r--pkgs/data/fonts/sudo/default.nix4
-rw-r--r--pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--pkgs/data/icons/bibata-cursors/default.nix13
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix76
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix82
-rw-r--r--pkgs/desktops/cinnamon/cjs/fix-werror.patch39
-rw-r--r--pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix95
-rw-r--r--pkgs/desktops/cinnamon/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-klotski/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-code/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/default.nix4
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix4
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex6
-rw-r--r--pkgs/development/compilers/bs-platform/bs-platform-62.nix55
-rw-r--r--pkgs/development/compilers/bs-platform/build-bs-platform.nix51
-rw-r--r--pkgs/development/compilers/bs-platform/default.nix29
-rw-r--r--pkgs/development/compilers/bs-platform/ocaml.nix4
-rw-r--r--pkgs/development/compilers/computecpp/default.nix52
-rw-r--r--pkgs/development/compilers/dotnet/buildDotnet.nix67
-rw-r--r--pkgs/development/compilers/dotnet/combinePackages.nix20
-rw-r--r--pkgs/development/compilers/dotnet/default.nix68
-rw-r--r--pkgs/development/compilers/dotnet/sdk/default.nix54
-rw-r--r--pkgs/development/compilers/ghc/8.10.1.nix6
-rw-r--r--pkgs/development/compilers/ghc/8.8.2.nix6
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix8
-rw-r--r--pkgs/development/compilers/swift/default.nix160
-rw-r--r--pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch16
-rw-r--r--pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch20
-rw-r--r--pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch10
-rw-r--r--pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch16
-rw-r--r--pkgs/development/compilers/swift/patches/glibc-arch-headers.patch2
-rw-r--r--pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch13
-rw-r--r--pkgs/development/compilers/swift/patches/llvm-include-dirs.patch13
-rw-r--r--pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch24
-rw-r--r--pkgs/development/compilers/swift/purity.patch16
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml53
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix148
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1838
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix82
-rw-r--r--pkgs/development/interpreters/perl/default.nix3
-rw-r--r--pkgs/development/interpreters/python/hooks/default.nix12
-rw-r--r--pkgs/development/interpreters/python/hooks/venv-shell-hook.sh26
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix2
-rw-r--r--pkgs/development/interpreters/wasmer/default.nix40
-rw-r--r--pkgs/development/libraries/alure2/default.nix24
-rw-r--r--pkgs/development/libraries/blitz/blitz-gcc47.patch33
-rw-r--r--pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch13
-rw-r--r--pkgs/development/libraries/blitz/default.nix81
-rw-r--r--pkgs/development/libraries/cln/default.nix4
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix16
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/faudio/default.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix4
-rw-r--r--pkgs/development/libraries/glog/default.nix10
-rw-r--r--pkgs/development/libraries/grilo/default.nix4
-rw-r--r--pkgs/development/libraries/hpx/default.nix4
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--pkgs/development/libraries/libamqpcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libdeflate/default.nix6
-rw-r--r--pkgs/development/libraries/libevdevplus/default.nix2
-rw-r--r--pkgs/development/libraries/libimobiledevice/default.nix6
-rw-r--r--pkgs/development/libraries/liblinear/default.nix14
-rw-r--r--pkgs/development/libraries/libsixel/default.nix10
-rw-r--r--pkgs/development/libraries/libvirt/default.nix1
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix7
-rw-r--r--pkgs/development/libraries/onnxruntime/default.nix15
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix4
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix4
-rw-r--r--pkgs/development/libraries/sentencepiece/default.nix4
-rw-r--r--pkgs/development/libraries/trompeloeil/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.12.nix4
-rw-r--r--pkgs/development/ocaml-modules/lens/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix6
-rw-r--r--pkgs/development/python-modules/avro-python3/default.nix22
-rw-r--r--pkgs/development/python-modules/binwalk/default.nix25
-rw-r--r--pkgs/development/python-modules/django-extensions/default.nix11
-rw-r--r--pkgs/development/python-modules/fluidasserts/default.nix187
-rw-r--r--pkgs/development/python-modules/gpxpy/default.nix27
-rw-r--r--pkgs/development/python-modules/mixpanel/default.nix50
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix18
-rw-r--r--pkgs/development/python-modules/onnx/default.nix78
-rw-r--r--pkgs/development/python-modules/publicsuffix/default.nix5
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix20
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix4
-rw-r--r--pkgs/development/python-modules/pydicom/default.nix28
-rw-r--r--pkgs/development/python-modules/pyezminc/default.nix33
-rw-r--r--pkgs/development/python-modules/pylint-celery/default.nix37
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix39
-rw-r--r--pkgs/development/python-modules/pylint-flask/default.nix36
-rw-r--r--pkgs/development/python-modules/pynrrd/default.nix27
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix34
-rw-r--r--pkgs/development/python-modules/python-miio/default.nix39
-rw-r--r--pkgs/development/python-modules/python-olm/default.nix5
-rw-r--r--pkgs/development/python-modules/requirements-detector/default.nix9
-rw-r--r--pkgs/development/python-modules/rxv/default.nix40
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix3
-rw-r--r--pkgs/development/python-modules/solo-python/default.nix5
-rw-r--r--pkgs/development/python-modules/srsly/default.nix4
-rw-r--r--pkgs/development/python-modules/stups-pierone/default.nix47
-rw-r--r--pkgs/development/python-modules/sysv_ipc/default.nix22
-rw-r--r--pkgs/development/r-modules/default.nix2
-rw-r--r--pkgs/development/tools/analysis/coz/default.nix4
-rw-r--r--pkgs/development/tools/boomerang/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix4
-rw-r--r--pkgs/development/tools/buildah/default.nix10
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix12
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix15
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix48
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/database/pg_checksums/default.nix37
-rw-r--r--pkgs/development/tools/dive/default.nix6
-rw-r--r--pkgs/development/tools/geckodriver/cargo-lock.patch1846
-rw-r--r--pkgs/development/tools/geckodriver/default.nix29
-rw-r--r--pkgs/development/tools/git-quick-stats/default.nix4
-rw-r--r--pkgs/development/tools/kind/default.nix4
-rw-r--r--pkgs/development/tools/kind/deps.nix24
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix4
-rw-r--r--pkgs/development/tools/misc/elfinfo/default.nix4
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix4
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix6
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch283
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/data.nix7
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix30
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix14
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl6
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix20
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix34
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix172
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix119
-rw-r--r--pkgs/development/tools/prospector/default.nix74
-rw-r--r--pkgs/development/tools/prospector/setoptconf.nix26
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix4
-rw-r--r--pkgs/development/tools/rnix-lsp/default.nix22
-rw-r--r--pkgs/development/tools/rust/cargo-bloat/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock199
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/vagrant/default.nix2
-rw-r--r--pkgs/development/tools/wabt/default.nix20
-rw-r--r--pkgs/development/tools/wabt/version.patch28
-rw-r--r--pkgs/games/mindustry/default.nix106
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/stockfish/default.nix4
-rw-r--r--pkgs/games/teeworlds/default.nix8
-rw-r--r--pkgs/games/ultrastardx/default.nix8
-rw-r--r--pkgs/misc/drivers/hplip/default.nix13
-rw-r--r--pkgs/misc/drivers/hplip/image-processor.patch59
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix7
-rw-r--r--pkgs/misc/scream-receivers/default.nix6
-rw-r--r--pkgs/misc/seafile-shared/default.nix35
-rw-r--r--pkgs/misc/vim-plugins/generated.nix342
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/misc/vscode-extensions/python/default.nix6
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix4
-rw-r--r--pkgs/os-specific/linux/facetimehd/default.nix6
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.3.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rwxr-xr-xpkgs/os-specific/linux/kernel/update-libre.sh11
-rw-r--r--pkgs/os-specific/linux/rfkill/udev.nix22
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix32
-rw-r--r--pkgs/os-specific/linux/syslinux/perl-deps.patch81
-rw-r--r--pkgs/os-specific/linux/unstick/default.nix26
-rw-r--r--pkgs/os-specific/linux/zenpower/default.nix32
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix33
-rw-r--r--pkgs/servers/dante/default.nix4
-rw-r--r--pkgs/servers/ftp/bftpd/default.nix4
-rw-r--r--pkgs/servers/home-assistant/esphome.nix17
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix1
-rw-r--r--pkgs/servers/http/lwan/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix6
-rw-r--r--pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch172
-rw-r--r--pkgs/servers/mail/public-inbox/default.nix10
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/nginx-sso/default.nix4
-rw-r--r--pkgs/servers/rippled/default.nix74
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/tt-rss/theme-feedly/default.nix4
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/web-apps/shaarli/material-theme.nix5
-rw-r--r--pkgs/servers/zoneminder/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix10
-rw-r--r--pkgs/shells/mrsh/default.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-you-should-use/default.nix4
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/haskell-shellFor/default.nix24
-rw-r--r--pkgs/tools/X11/jumpapp/default.nix4
-rw-r--r--pkgs/tools/X11/xcape/default.nix2
-rw-r--r--pkgs/tools/X11/xlayoutdisplay/default.nix4
-rw-r--r--pkgs/tools/X11/xsecurelock/default.nix4
-rw-r--r--pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/sewer/default.nix5
-rw-r--r--pkgs/tools/backup/zfs-replicate/default.nix4
-rw-r--r--pkgs/tools/backup/zfsnap/default.nix42
-rw-r--r--pkgs/tools/compression/zopfli/default.nix17
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix20
-rw-r--r--pkgs/tools/filesystems/gcsfuse/go.mod.patch28
-rw-r--r--pkgs/tools/filesystems/gcsfuse/go.sum.patch38
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix4
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix4
-rw-r--r--pkgs/tools/graphics/grim/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix6
-rw-r--r--pkgs/tools/misc/broot/default.nix24
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix13
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/fpart/default.nix7
-rw-r--r--pkgs/tools/misc/fsmon/default.nix4
-rw-r--r--pkgs/tools/misc/hakuneko/default.nix94
-rw-r--r--pkgs/tools/misc/jdupes/default.nix13
-rw-r--r--pkgs/tools/misc/mcfly/default.nix5
-rw-r--r--pkgs/tools/misc/pfetch/default.nix11
-rw-r--r--pkgs/tools/misc/pg_flame/default.nix4
-rw-r--r--pkgs/tools/misc/pipreqs/default.nix4
-rw-r--r--pkgs/tools/misc/skim/default.nix8
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/topgrade/default.nix8
-rw-r--r--pkgs/tools/misc/txr/default.nix9
-rw-r--r--pkgs/tools/misc/usbmuxd/default.nix6
-rw-r--r--pkgs/tools/misc/vmtouch/default.nix5
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/axel/default.nix2
-rw-r--r--pkgs/tools/networking/bandwhich/default.nix6
-rw-r--r--pkgs/tools/networking/cassowary/default.nix23
-rw-r--r--pkgs/tools/networking/corerad/default.nix6
-rw-r--r--pkgs/tools/networking/httpie/default.nix10
-rw-r--r--pkgs/tools/networking/httpie/strip-venv.patch19
-rw-r--r--pkgs/tools/networking/iperf/3.nix3
-rw-r--r--pkgs/tools/networking/lftp/default.nix4
-rw-r--r--pkgs/tools/networking/mu/default.nix2
-rw-r--r--pkgs/tools/networking/nebula/default.nix6
-rw-r--r--pkgs/tools/networking/subfinder/default.nix4
-rw-r--r--pkgs/tools/networking/wavemon/default.nix4
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-bundle/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-prefetch/default.nix18
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix9
-rw-r--r--pkgs/tools/package-management/rpm/default.nix5
-rw-r--r--pkgs/tools/security/chrome-token-signing/default.nix4
-rw-r--r--pkgs/tools/security/fido2luks/default.nix32
-rw-r--r--pkgs/tools/security/jwt-cli/default.nix4
-rw-r--r--pkgs/tools/security/nmap/default.nix43
-rw-r--r--pkgs/tools/security/nmap/qt.nix4
-rw-r--r--pkgs/tools/security/pass/default.nix6
-rw-r--r--pkgs/tools/security/rage/default.nix24
-rw-r--r--pkgs/tools/system/bfs/default.nix4
-rw-r--r--pkgs/tools/text/mdcat/default.nix12
-rw-r--r--pkgs/tools/text/unoconv/default.nix19
-rw-r--r--pkgs/tools/text/unoconv/unoconv-python3.patch374
-rw-r--r--pkgs/tools/typesetting/tex/texlive/UPGRADING.md21
-rw-r--r--pkgs/top-level/all-packages.nix135
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix32
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix3
-rw-r--r--pkgs/top-level/static.nix12
407 files changed, 9165 insertions, 10127 deletions
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 3273d7de68c..97a9d60ec27 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "0q92ygz17iiriwzqylmaxd5ml2bhqy3n6c3f7g71n4hn9z3bl3s1";
+    sha256 = "0gyczxhd1jch7lwz3y1nrbpc0dycw9cc5i144rpif6b9gd2y1h1j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index 0d2858713eb..53d5330fb74 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -9,13 +9,13 @@ let
               else "linux";
 in stdenv.mkDerivation rec {
   pname = "distrho-ports";
-  version = "2018-04-16";
+  version = "unstable-2019-10-09";
 
   src = fetchFromGitHub {
     owner = "DISTRHO";
     repo = "DISTRHO-Ports";
-    rev = version;
-    sha256 = "0l4zwl4mli8jzch32a1fh7c88r9q17xnkxsdw17ds5hadnxlk12v";
+    rev = "7e62235e809e59770d0d91d2c48c3f50ce7c027a";
+    sha256 = "10hpsjcmk0cgcsic9r1wxyja9x6q9wb8w8254dlrnzyswl54r1f8";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index 6c9cd628a51..c17f6b745b3 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ecasound";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchurl {
     url = "https://ecasound.seul.org/download/ecasound-${version}.tar.gz";
-    sha256 = "15rcs28fq2wfvfs66p5na7adq88b55qszbhshpizgdbyqzgr2jf1";
+    sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6";
   };
 
   buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
index 8907011c16f..eff1d6411a1 100644
--- a/pkgs/applications/audio/giada/default.nix
+++ b/pkgs/applications/audio/giada/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "giada";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "monocasual";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lbxqa4kwzjdd79whrjgh8li453z4ckkjx4s4qzmrv7aqa2xmfsf";
+    sha256 = "0b3lhjs6myml5r5saky15523sbc3qr43r9rh047vhsiafmqdvfq1";
   };
 
   configureFlags = [ "--target=linux" ];
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
index 146e13f34de..bc5b35396e2 100644
--- a/pkgs/applications/audio/noise-repellent/default.nix
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "noise-repellent";
-  version = "unstable-2018-12-29";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "lucianodato";
     repo = pname;
-    rev = "9efdd0b41ec184a792087c87cbf5382f455e33ec";
-    sha256 = "0pn9cxapfvb5l62q86bchyfll1290vi0rhrzarb1jpc4ix7kz53c";
+    rev = version;
+    sha256 = "0hb89x9i2knzan46q4nwscf5zmnb2nwf4w13xl2c0y1mx1ls1mwl";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index fee86cb5bca..d07cf8a476b 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, libpulseaudio, gtkmm3
-, libcanberra-gtk3, makeWrapper, gnome3 }:
+, libcanberra-gtk3, gnome3, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "pavucontrol";
@@ -10,16 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g";
   };
 
-  preFixup = ''
-    wrapProgram "$out/bin/pavucontrol" \
-     --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
-  '';
-
-  buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 makeWrapper
+  buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3
                   gnome3.adwaita-icon-theme ];
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
 
   configureFlags = [ "--disable-lynx" ];
 
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 7c4cefb6ba4..aaceab6dc08 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools, wrapQtAppsHook
-, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2
+, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2, alsaLib
 , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }:
 
 stdenv.mkDerivation (rec {
@@ -30,6 +30,7 @@ stdenv.mkDerivation (rec {
     libsndfile
     lirc
     qtbase
+    alsaLib
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index 36ab017c5cb..b8063811030 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
-  version = "0.2.20";
+  version = "0.2.23";
 
   src = fetchFromGitHub {
     owner = "Spotifyd";
     repo = "spotifyd";
     rev = "v${version}";
-    sha256 = "1hf4wpk7r0s4jpjhxaz67y1hd8jx9ns5imd85r3cdg4lxf3j5gph";
+    sha256 = "0xxr21avgr4pvlr5vgb68jmad5xy5kqvaxfzh0qn1jpiax7y3avm";
   };
 
-  cargoSha256 = "1h3fis47hmxvppiv1icjhgp48nd46gayfcmzfjs34q6jask90n0w";
+  cargoSha256 = "1ykmn7zzwn9my96bbxwkparab5lck1zzdkpafil2mmrjyvyi40da";
 
   cargoBuildFlags = [
     "--no-default-features"
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 9599dc9407c..6b9630fa6b7 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }:
+{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-netcore }:
 
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     cd $out/opt/${pname}
     for i in $(find . -type f -name '*.so') wassabee
       do
-        patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $i
+        patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-netcore ]} $i
       done
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
     ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 364d432f1e3..dea00c99d7e 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -479,7 +479,7 @@ rec {
     src = fetchzip {
       stripRoot = false;
       url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.14-201912100610/org.eclipse.jdt-4.14.zip;
-      sha256 = "16c5v59mkb0cyfhf2475ds1ajma65bhqfxjr6v59hianqxq9h9la";
+      sha256 = "1c2a23qviv58xljpq3yb37ra8cqw7jh52hmzqlg1nij2sdxb6hm5";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index bfbddb6fc37..9d4fb66f732 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -3236,10 +3236,10 @@
       elpaBuild {
         pname = "undo-tree";
         ename = "undo-tree";
-        version = "0.7";
+        version = "0.7.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/undo-tree-0.7.el";
-          sha256 = "0mc5spiqx20z8vh8b24dp9hqj27h5bm5wqk0ga7c6s6mp69r72h4";
+          url = "https://elpa.gnu.org/packages/undo-tree-0.7.2.el";
+          sha256 = "0gdqh5rkgwlancbjx5whgl5gqkdipdkspkl2bqmrq70sgg5ahrcc";
         };
         packageRequires = [];
         meta = {
@@ -3734,4 +3734,4 @@
           license = lib.licenses.free;
         };
       }) {};
-  }
\ No newline at end of file
+  }
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index e15da80b3b1..5c9456b76a6 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -111,6 +111,11 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
 
         flycheck-rtags = fix-rtags super.flycheck-rtags;
 
+        gnuplot = super.gnuplot.overrideAttrs (old: {
+          nativeBuildInputs =
+            (old.nativeBuildInputs or []) ++ [ pkgs.autoreconfHook ];
+        });
+
         pdf-tools = super.pdf-tools.overrideAttrs(old: {
           nativeBuildInputs = [ external.pkgconfig ];
           buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index b08e3b5fa23..ccda1b4d4cb 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "focuswriter";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchurl {
     url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
-    sha256 = "155wf7z1g2yx6fb41w29kcb0m2rhnk9ci5yw882yy86s4x20b1jq";
+    sha256 = "1fli85p9d58gsg2kwmncqdcw1nmx062kddbrhr50mnsn04dc4j3g";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index a6580581f85..8cb70af40e0 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2019.12.10";
+  version = "2020.01.16";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "0cb3ndlczxvxnzb91s4idxx0cy30mnrc4znsbjpnch68fvpm0x2f";
+    sha256 = "16v6z1nzj54j19fraxhb18jdby4zfs1br91gxpg9s2s4nsk0km0b";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix
index 3a46f68e775..8fe93d37c7e 100644
--- a/pkgs/applications/editors/neovim/qt.nix
+++ b/pkgs/applications/editors/neovim/qt.nix
@@ -4,13 +4,13 @@
 let
   unwrapped = mkDerivation rec {
     pname = "neovim-qt-unwrapped";
-    version = "0.2.12";
+    version = "0.2.15";
 
     src = fetchFromGitHub {
       owner  = "equalsraf";
       repo   = "neovim-qt";
       rev    = "v${version}";
-      sha256 = "09s3044j0y8nmyi8ykslfii6fx7k9mckmdvb0jn2xmdabpb60i20";
+      sha256 = "097nykglqp4jyvla4yp32sc1f1hph4cqqhp6rm9ww7br8c0j54xl";
     };
 
     cmakeFlags = [
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
new file mode 100644
index 00000000000..6a6ea80ca45
--- /dev/null
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -0,0 +1,119 @@
+{ buildFHSUserEnv, makeDesktopItem, stdenv, lib, requireFile, unstick, cycloneVSupport ? true }:
+
+let
+  quartus = stdenv.mkDerivation rec {
+    version = "19.1.0.670";
+    pname = "quartus-prime-lite";
+
+    src = let
+      require = {name, sha256}: requireFile {
+        inherit name sha256;
+        url = "${meta.homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
+      };
+    in map require ([{
+      name = "QuartusLiteSetup-${version}-linux.run";
+      sha256 = "15vxvqxqdk29ahlw3lkm1nzxyhzy4626wb9s5f2h6sjgq64r8m7f";
+    } {
+      name = "ModelSimSetup-${version}-linux.run";
+      sha256 = "0j1vfr91jclv88nam2plx68arxmz4g50sqb840i60wqd5b0l3y6r";
+    }] ++ lib.optional cycloneVSupport {
+      name = "cyclonev-${version}.qdz";
+      sha256 = "0bqxpvjgph0y6slk0jq75mcqzglmqkm0jsx10y9xz5llm6zxzqab";
+    });
+
+    nativeBuildInputs = [ unstick ];
+
+    buildCommand = let
+      installers = lib.sublist 0 2 src;
+      components = lib.sublist 2 ((lib.length src) - 2) src;
+      copyInstaller = installer: ''
+        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
+        cp ${installer} $TEMP/${installer.name}
+        chmod u+w,+x $TEMP/${installer.name}
+        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
+      '';
+      copyComponent = component: "cp ${component} $TEMP/${component.name}";
+      # leaves enabled: quartus, modelsim_ase, devinfo
+      disabledComponents = [
+        "quartus_help"
+        "quartus_update"
+        "modelsim_ae"
+        # Devices
+        "arria_lite"
+        "cyclone"
+        "cyclone10lp"
+        "max"
+        "max10"
+      ] ++ lib.optional (!cycloneVSupport) "cyclonev";
+    in ''
+    ${lib.concatMapStringsSep "\n" copyInstaller installers}
+    ${lib.concatMapStringsSep "\n" copyComponent components}
+
+    unstick $TEMP/${(builtins.head installers).name} \
+      --disable-components ${lib.concatStringsSep "," disabledComponents} \
+      --mode unattended --installdir $out --accept_eula 1
+
+    # This patch is from https://wiki.archlinux.org/index.php/Altera_Design_Software
+    patch --force --strip 0 --directory $out < ${./vsim.patch}
+
+    rm -r $out/uninstall $out/logs
+  '';
+
+    meta = {
+      homepage = "https://fpgasoftware.intel.com";
+      description = "FPGA design and simulation software";
+      license = lib.licenses.unfree;
+      platforms = lib.platforms.linux;
+      maintainers = with lib.maintainers; [ kwohlfahrt ];
+    };
+  };
+
+  desktopItem = makeDesktopItem {
+    name = quartus.name;
+    exec = "quartus";
+    icon = "quartus";
+    desktopName = "Quartus";
+    genericName = "Quartus FPGA IDE";
+    categories = "Development;";
+  };
+
+# I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
+in buildFHSUserEnv {
+  name = "quartus-prime-lite";
+
+  targetPkgs = pkgs: with pkgs; [
+    # quartus requirements
+    glib
+    xorg.libICE
+    xorg.libSM
+    zlib
+    # qsys requirements
+    xorg.libXtst
+    xorg.libXi
+  ];
+  multiPkgs = pkgs: with pkgs; let
+    # This seems ugly - can we override `libpng = libpng12` for all `pkgs`?
+    freetype = pkgs.freetype.override { libpng = libpng12; };
+    fontconfig = pkgs.fontconfig.override { inherit freetype; };
+    libXft = pkgs.xorg.libXft.override { inherit freetype fontconfig; };
+  in [
+    # modelsim requirements
+    libxml2
+    ncurses5
+    unixODBC
+    libXft
+    # common requirements
+    freetype
+    fontconfig
+    xorg.libX11
+    xorg.libXext
+    xorg.libXrender
+  ];
+
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  runScript = "${quartus}/quartus/bin/quartus";
+}
diff --git a/pkgs/applications/editors/quartus-prime/vsim.patch b/pkgs/applications/editors/quartus-prime/vsim.patch
new file mode 100644
index 00000000000..36dc41b7ef1
--- /dev/null
+++ b/pkgs/applications/editors/quartus-prime/vsim.patch
@@ -0,0 +1,11 @@
+--- modelsim_ase/vco     	1970-01-01 01:00:01.000000000 +0100
++++ modelsim_ase/vco      	1970-01-01 01:00:01.000000000 +0100
+@@ -207,7 +207,7 @@
+           2.[5-9]*)         vco="linux" ;;
+           2.[1-9][0-9]*)    vco="linux" ;;
+           3.[0-9]*)    		vco="linux" ;;
+-          *)                vco="linux_rh60" ;;
++          *)                vco="linux" ;;
+         esac
+         if [ ! -x "$dir/$vco/vsim" ]; then
+           if [ -x "$dir/linuxle/vsim" ]; then
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 13b7f4db0c5..372d9508174 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "2.12.16";
+  version = "2.12.20";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
+    sha256 = "0hywx2knqdrslzmm4if476ryf4ma0aw5j8kdp6lyrz2jx7az2gqa";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
@@ -20,10 +20,10 @@ mkDerivation rec {
   meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
-	Fork of TeXMaker, this editor is a full fledged IDE for
-	LaTeX editing with completion, structure viewer, preview,
-	spell checking and support of any compilation chain.
-	'';
+      Fork of TeXMaker, this editor is a full fledged IDE for
+      LaTeX editing with completion, structure viewer, preview,
+      spell checking and support of any compilation chain.
+    '';
     homepage = http://texstudio.sourceforge.net;
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/editors/uberwriter/default.nix b/pkgs/applications/editors/uberwriter/default.nix
new file mode 100644
index 00000000000..ac3fb920da0
--- /dev/null
+++ b/pkgs/applications/editors/uberwriter/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, meson, ninja, cmake
+, wrapGAppsHook, pkgconfig, desktop-file-utils
+, appstream-glib, pythonPackages, glib, gobject-introspection
+, gtk3, webkitgtk, glib-networking, gnome3, gspell, texlive
+, haskellPackages}:
+
+let
+  pythonEnv = pythonPackages.python.withPackages(p: with p;
+    [ regex setuptools python-Levenshtein pyenchant pygobject3 pycairo pypandoc ]);
+  texliveDist = texlive.combined.scheme-medium;
+
+in stdenv.mkDerivation rec {
+  pname = "uberwriter";
+  version = "unstable-2019-11-29";
+
+  src = fetchFromGitHub {
+    owner  = pname;
+    repo   = pname;
+    rev    = "7606a55389f8516d9fed7927fa50ff8822ee9e38";
+    sha256 = "0ky001vs9nfvqf05h4q7fl0n8vsgim59z22i66a8sw6bqipv62sg";
+  };
+
+  nativeBuildInputs = [ meson ninja cmake pkgconfig desktop-file-utils
+    appstream-glib wrapGAppsHook ];
+
+  buildInputs = [ glib pythonEnv gobject-introspection gtk3
+    gnome3.adwaita-icon-theme webkitgtk gspell texliveDist
+    glib-networking ];
+
+  postPatch = ''
+    patchShebangs --build build-aux/meson_post_install.py
+
+    substituteInPlace uberwriter/config.py --replace "/usr/share/uberwriter" "$out/share/uberwriter"
+
+    # get rid of unused distributed dependencies
+    rm -r uberwriter/{pylocales,pressagio}
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PYTHONPATH : "$out/lib/python${pythonEnv.pythonVersion}/site-packages/"
+      --prefix PATH : "${texliveDist}/bin"
+      --prefix PATH : "${haskellPackages.pandoc-citeproc}/bin"
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://uberwriter.github.io/uberwriter/;
+    description = "A distraction free Markdown editor for GNU/Linux";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 3595908f143..f15804038e7 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "06g12gqri1sgfklla6jfpi7wm2qjazakcjs2w2rhrphnl50r6ca7";
+    sha256 = "0f4cmai2d1x7wbqllxp9na6gxgqfxqav8n4g9azyvm6ymd8zjnx8";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index f0057f3a1a8..b51db1e945f 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.2";
+  version = "3.8.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
+    sha256 = "1a0gss9cjcwayrcpkam5kc1giwbfy38jgqxvh33in9gfq9dgrygg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/krop/default.nix b/pkgs/applications/graphics/krop/default.nix
index c4c889cdba5..401e5f6fc57 100644
--- a/pkgs/applications/graphics/krop/default.nix
+++ b/pkgs/applications/graphics/krop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3Packages, libsForQt5, ghostscript }:
+{ stdenv, fetchFromGitHub, python3Packages, libsForQt5, ghostscript, qt5}:
 
 python3Packages.buildPythonApplication rec {
   pname = "krop";
@@ -19,6 +19,11 @@ python3Packages.buildPythonApplication rec {
     ghostscript
   ];
 
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+  makeWrapperArgs = [
+   "\${qtWrapperArgs[@]}"
+  ];
+
   # Disable checks because of interference with older Qt versions // xcb
   doCheck = false;
 
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index c743f8bd653..23cad7e859d 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -39,6 +39,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.unix;
-    badPlatforms = [ "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index 37857fc459e..edd923822ea 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -1,32 +1,72 @@
-{ stdenv, fetchurl, lib, makeWrapper,
+{ stdenv, fetchurl, lib, makeWrapper, wrapGAppsHook,
   # build dependencies
-  alsaLib, atk, cairo, cups, dbus, expat, fontconfig,
-  freetype, gdk-pixbuf, glib, gnome2, nspr, nss, xorg,
-  glibc, systemd
+  alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig,
+  freetype, gdk-pixbuf, glib, glibc, gtk3, libuuid, nspr, nss, pango,
+  xorg, systemd
 }:
+let
 
-stdenv.mkDerivation rec {
-  version = "3.0.4";
+  deps = [
+    alsaLib
+    atk
+    at-spi2-atk
+    at-spi2-core
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk-pixbuf
+    glib
+    glibc
+    gtk3
+    libuuid
+    nspr
+    nss
+    pango
+    xorg.libX11
+    xorg.libxcb
+    xorg.libXScrnSaver
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+    stdenv.cc.cc.lib
+    stdenv.cc.cc
+  ];
+
+in stdenv.mkDerivation rec {
+  version = "3.1.0";
   pname = "pencil";
 
   src = fetchurl {
-    url    = "http://pencil.evolus.vn/dl/V${version}/Pencil_${version}_amd64.deb";
-    sha256 = "58e2b794c615ea8715d8374f177e19c87f7071e359826ec34a59836d537a62fd";
+    url    = "http://pencil.evolus.vn/dl/V${version}.ga/pencil_${version}.ga_amd64.deb";
+    sha256 = "01ae54b1a1351b909eb2366c6ec00816e1deba370e58f35601cf7368f10aaba3";
   };
 
   sourceRoot = ".";
 
   unpackCmd = ''
-    ar p "$src" data.tar.xz | tar xJ
+    ar p "$src" data.tar.gz | tar xz
   '';
 
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+
+  buildInputs = deps;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp -R usr/share opt $out/
+    mkdir -p $out/bin $out/opt $out/share/applications
+    cp -R usr/share $out/
+    cp -R opt/pencil*/ $out/opt/pencil
+    cp $out/opt/pencil/pencil.desktop $out/share/applications/
 
     # fix the path in the desktop file
     substituteInPlace \
@@ -34,42 +74,12 @@ stdenv.mkDerivation rec {
       --replace /opt/ $out/opt/
 
     # symlink the binary to bin/
-    ln -s $out/opt/Pencil/pencil $out/bin/pencil
+    ln -s $out/opt/pencil/pencil $out/bin/pencil
   '';
 
 
   preFixup = let
-    packages = [
-      alsaLib
-      atk
-      cairo
-      cups
-      dbus
-      expat
-      fontconfig
-      freetype
-      gdk-pixbuf
-      glib
-      gnome2.GConf
-      gnome2.gtk
-      gnome2.pango
-      nspr
-      nss
-      xorg.libX11
-      xorg.libXScrnSaver
-      xorg.libXcomposite
-      xorg.libXcursor
-      xorg.libXdamage
-      xorg.libXext
-      xorg.libXfixes
-      xorg.libXi
-      xorg.libXrandr
-      xorg.libXrender
-      xorg.libXtst
-      stdenv.cc.cc.lib
-      stdenv.cc.cc
-      glibc
-    ];
+    packages = deps;
     libPathNative = lib.makeLibraryPath packages;
     libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
     libPath = "${libPathNative}:${libPath64}";
@@ -77,21 +87,13 @@ stdenv.mkDerivation rec {
     # patch executable
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}:$out/opt/Pencil" \
-      $out/opt/Pencil/pencil
-
-    # patch libnode
-    patchelf \
-      --set-rpath "${libPath}" \
-      $out/opt/Pencil/libnode.so
-
-    # libffmpeg is for some reason  not executable
-    chmod a+x $out/opt/Pencil/libffmpeg.so
+      --set-rpath "${libPath}:$out/opt/pencil" \
+      $out/opt/pencil/pencil
 
     # fix missing libudev
-    ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/Pencil/libudev.so.1
-    wrapProgram $out/opt/Pencil/pencil \
-      --prefix LD_LIBRARY_PATH : $out/opt/Pencil
+    ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/pencil/libudev.so.1
+    wrapProgram $out/opt/pencil/pencil \
+      --prefix LD_LIBRARY_PATH : $out/opt/pencil
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 426985d312c..843801011f7 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -13,14 +13,14 @@ let
   pythonPackages = python3Packages;
 in
 mkDerivation rec {
-  version = "1.5";
+  version = "1.6";
   pname = "renderdoc";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
+    sha256 = "0b2f9m5azzvcjbmxkwcl1d7jvvp720b81zwn19rrskznfcc2r1i8";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix
index f2b56b578b6..3093fa107d6 100644
--- a/pkgs/applications/graphics/rx/default.nix
+++ b/pkgs/applications/graphics/rx/default.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 rustPlatform.buildRustPackage rec {
   pname = "rx";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "cloudhead";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1byaxbhd3q49473kcdd52rvn3xq7bmy8bdx3pz0jiw96bclzhcgq";
+    sha256 = "1n5s7v2z13550gkqz7w6dw62jdy60wdi8w1lfa23609b4yhg4w94";
   };
 
   cargoSha256 = "173jfjvdag97f6jvfg366hjk9v3cz301cbzpcahy51rbf1cip1w1";
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 99c151f8c80..f5429958328 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -4,28 +4,24 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "sxiv";
-  version = "25";
+  version = "26";
 
   src = fetchFromGitHub {
     owner = "muennich";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp";
+    sha256 = "0xaawlfdy7b277m38mgg4423kd7p1ffn0dq4hciqs6ivbb3q9c4f";
   };
 
-  postUnpack = ''
-    substituteInPlace $sourceRoot/Makefile \
-      --replace /usr/local $out
-  '';
-
   configFile = optionalString (conf!=null) (builtins.toFile "config.def.h" conf);
   preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
 
   buildInputs = [ libXft imlib2 giflib libexif ];
 
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
   postInstall = ''
-    mkdir -p $out/share/applications/
-    cp -v sxiv.desktop $out/share/applications/
+    install -Dt $out/share/applications sxiv.desktop
   '';
 
   meta = {
diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix
index 548f58a50fb..95896337720 100644
--- a/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tesseract";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "tesseract-ocr";
     repo = "tesseract";
     rev = version;
-    sha256 = "06i7abxy2ifmdx1fak81cx0kns85n8hvp0339jk6242fhshibljx";
+    sha256 = "1ca27zbjpx35nxh9fha410z3jskwyj06i5hqiqdc08s2d7kdivwn";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 0bfa850cb26..3c45b05e9e8 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -121,6 +121,7 @@ let
       kio-extras = callPackage ./kio-extras.nix {};
       kldap = callPackage ./kldap.nix {};
       kleopatra = callPackage ./kleopatra.nix {};
+      kmahjongg = callPackage ./kmahjongg.nix {};
       kmail = callPackage ./kmail.nix {};
       kmail-account-wizard = callPackage ./kmail-account-wizard.nix {};
       kmailtransport = callPackage ./kmailtransport.nix {};
@@ -160,6 +161,7 @@ let
       libkgapi = callPackage ./libkgapi.nix {};
       libkipi = callPackage ./libkipi.nix {};
       libkleo = callPackage ./libkleo.nix {};
+      libkmahjongg = callPackage ./libkmahjongg.nix {};
       libkomparediff2 = callPackage ./libkomparediff2.nix {};
       libksane = callPackage ./libksane.nix {};
       libksieve = callPackage ./libksieve.nix {};
diff --git a/pkgs/applications/kde/kmahjongg.nix b/pkgs/applications/kde/kmahjongg.nix
new file mode 100644
index 00000000000..b51d0d147e2
--- /dev/null
+++ b/pkgs/applications/kde/kmahjongg.nix
@@ -0,0 +1,19 @@
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kdeclarative
+, knewstuff
+, libkdegames
+, libkmahjongg
+}:
+
+mkDerivation {
+  name = "kmahjongg";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ];
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ genesis ];
+  };
+}
diff --git a/pkgs/applications/kde/libkmahjongg.nix b/pkgs/applications/kde/libkmahjongg.nix
new file mode 100644
index 00000000000..4b7b8538290
--- /dev/null
+++ b/pkgs/applications/kde/libkmahjongg.nix
@@ -0,0 +1,18 @@
+{
+  mkDerivation, lib, kdepimTeam,
+  extra-cmake-modules, kdoctools,
+  kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n,
+  kwidgetsaddons
+}:
+
+mkDerivation {
+  name = "libkmahjongg";
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ genesis ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons ki18n
+    kwidgetsaddons ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/applications/misc/bashSnippets/default.nix b/pkgs/applications/misc/bashSnippets/default.nix
index b0af34ec760..0976e7625bc 100644
--- a/pkgs/applications/misc/bashSnippets/default.nix
+++ b/pkgs/applications/misc/bashSnippets/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper
 , curl, python, bind, iproute, bc, gitMinimal }:
 let
-  version = "1.17.3";
+  version = "1.23.0";
   deps = lib.makeBinPath [
     curl
     python
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     owner = "alexanderepstein";
     repo = "Bash-Snippets";
     rev = "v${version}";
-    sha256 = "1xdjk8bjh7l6h7gdqrra1dh4wdq89wmd0jsirsvqa3bmcsb2wz1r";
+    sha256 = "044nxgd3ic2qr6hgq5nymn3dyf5i4s8mv5z4az6jvwlrjnvbg8cp";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/blender/darwin.patch b/pkgs/applications/misc/blender/darwin.patch
new file mode 100644
index 00000000000..43b96466df2
--- /dev/null
+++ b/pkgs/applications/misc/blender/darwin.patch
@@ -0,0 +1,105 @@
+diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
+--- a/build_files/cmake/platform/platform_apple.cmake
++++ b/build_files/cmake/platform/platform_apple.cmake
+@@ -35,7 +35,6 @@ else()
+   message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
+ endif()
+ if(NOT EXISTS "${LIBDIR}/")
+-  message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
+ endif()
+ 
+ if(WITH_OPENAL)
+@@ -79,7 +78,7 @@ endif()
+ if(WITH_CODEC_SNDFILE)
+   set(LIBSNDFILE ${LIBDIR}/sndfile)
+   set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include)
+-  set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
++  set(LIBSNDFILE_LIBRARIES sndfile)
+   set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib)  # TODO, deprecate
+ endif()
+ 
+@@ -90,7 +89,7 @@ if(WITH_PYTHON)
+     # normally cached but not since we include them with blender
+     set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
+     set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
+-    set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a)
++    set(PYTHON_LIBRARY "${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.dylib")
+     set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
+     # set(PYTHON_LINKFLAGS "-u _PyMac_Error")  # won't  build with this enabled
+   else()
+@@ -155,10 +154,7 @@ if(WITH_CODEC_FFMPEG)
+   set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
+   set(FFMPEG_LIBRARIES
+     avcodec avdevice avformat avutil
+-    mp3lame swscale x264 xvidcore
+-    theora theoradec theoraenc
+-    vorbis vorbisenc vorbisfile ogg opus
+-    vpx swresample)
++    swscale swresample)
+   set(FFMPEG_LIBPATH ${FFMPEG}/lib)
+ endif()
+ 
+@@ -199,14 +195,14 @@ if(WITH_OPENCOLLADA)
+   set(OPENCOLLADA ${LIBDIR}/opencollada)
+ 
+   set(OPENCOLLADA_INCLUDE_DIRS
+-    ${LIBDIR}/opencollada/include/COLLADAStreamWriter
+-    ${LIBDIR}/opencollada/include/COLLADABaseUtils
+-    ${LIBDIR}/opencollada/include/COLLADAFramework
+-    ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader
+-    ${LIBDIR}/opencollada/include/GeneratedSaxParser
++    ${LIBDIR}/opencollada/include/opencollada/COLLADAStreamWriter
++    ${LIBDIR}/opencollada/include/opencollada/COLLADABaseUtils
++    ${LIBDIR}/opencollada/include/opencollada/COLLADAFramework
++    ${LIBDIR}/opencollada/include/opencollada/COLLADASaxFrameworkLoader
++    ${LIBDIR}/opencollada/include/opencollada/GeneratedSaxParser
+   )
+ 
+-  set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
++  set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib/opencollada)
+   set(OPENCOLLADA_LIBRARIES
+     OpenCOLLADASaxFrameworkLoader
+     -lOpenCOLLADAFramework
+@@ -215,7 +211,7 @@ if(WITH_OPENCOLLADA)
+     -lMathMLSolver
+     -lGeneratedSaxParser
+     -lbuffer -lftoa -lUTF
+-    ${OPENCOLLADA_LIBPATH}/libxml2.a
++    xml2
+   )
+   # PCRE is bundled with openCollada
+   # set(PCRE ${LIBDIR}/pcre)
+@@ -276,14 +272,13 @@ if(WITH_BOOST)
+ endif()
+ 
+ if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
+-  set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it !
+ endif()
+ 
+ if(WITH_OPENIMAGEIO)
+   set(OPENIMAGEIO ${LIBDIR}/openimageio)
+   set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
+   set(OPENIMAGEIO_LIBRARIES
+-    ${OPENIMAGEIO}/lib/libOpenImageIO.a
++    ${OPENIMAGEIO}/lib/libOpenImageIO.dylib
+     ${PNG_LIBRARIES}
+     ${JPEG_LIBRARIES}
+     ${TIFF_LIBRARY}
+@@ -306,7 +301,7 @@ endif()
+ if(WITH_OPENCOLORIO)
+   set(OPENCOLORIO ${LIBDIR}/opencolorio)
+   set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include)
+-  set(OPENCOLORIO_LIBRARIES OpenColorIO tinyxml yaml-cpp)
++  set(OPENCOLORIO_LIBRARIES OpenColorIO)
+   set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib)
+ endif()
+ 
+@@ -443,7 +438,7 @@ else()
+   set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing")
+ endif()
+ 
+-if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
++if(FALSE)
+   # Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv
+   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024")
+ endif()
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 0af78852204..83f2bf63642 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,13 +1,14 @@
 { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio2, openjpeg, python3Packages
 , openvdb, libXxf86vm, tbb
 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
 , colladaSupport ? true, opencollada
 , enableNumpy ? false, makeWrapper
+, pugixml, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
 }:
 
 with lib;
@@ -23,22 +24,53 @@ stdenv.mkDerivation rec {
     sha256 = "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j";
   };
 
+  patches = lib.optional stdenv.isDarwin ./darwin.patch;
+
   nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath;
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
-      libXi libX11 libXext libXrender
-      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal
-      opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc
+      freetype libjpeg libpng libsamplerate libsndfile libtiff
+      opencolorio openexr openimageio2 openjpeg python zlib fftw jemalloc
       (opensubdiv.override { inherit cudaSupport; })
-      openvdb libXxf86vm tbb
+      tbb
       makeWrapper
     ]
+    ++ (if (!stdenv.isDarwin) then [
+      libXi libX11 libXext libXrender
+      libGLU libGL openal
+      libXxf86vm
+      # OpenVDB currently doesn't build on darwin
+      openvdb
+    ]
+    else [
+      pugixml SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
+    ])
     ++ optional jackaudioSupport libjack2
     ++ optional cudaSupport cudatoolkit
     ++ optional colladaSupport opencollada;
 
   postPatch =
-    ''
+    if stdenv.isDarwin then ''
+      : > build_files/cmake/platform/platform_apple_xcode.cmake
+      substituteInPlace source/creator/CMakeLists.txt \
+        --replace '${"$"}{LIBDIR}/python' \
+                  '${python}'
+      substituteInPlace build_files/cmake/platform/platform_apple.cmake \
+        --replace '${"$"}{LIBDIR}/python' \
+                  '${python}' \
+        --replace '${"$"}{LIBDIR}/opencollada' \
+                  '${opencollada}' \
+        --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
+                  '${python3Packages.numpy}/${python.sitePackages}/numpy' \
+        --replace 'set(OPENJPEG_INCLUDE_DIRS ' \
+                  'set(OPENJPEG_INCLUDE_DIRS "'$(echo ${openjpeg.dev}/include/openjpeg-*)'") #' \
+        --replace 'set(OPENJPEG_LIBRARIES ' \
+                  'set(OPENJPEG_LIBRARIES "${openjpeg}/lib/libopenjp2.dylib") #' \
+        --replace 'set(OPENIMAGEIO ' \
+                  'set(OPENIMAGEIO "${openimageio2.out}") #' \
+        --replace 'set(OPENEXR_INCLUDE_DIRS ' \
+                  'set(OPENEXR_INCLUDE_DIRS "${openexr.dev}/include/OpenEXR") #'
+    '' else ''
       substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
     '';
 
@@ -48,7 +80,7 @@ stdenv.mkDerivation rec {
       "-DWITH_CODEC_SNDFILE=ON"
       "-DWITH_INSTALL_PORTABLE=OFF"
       "-DWITH_FFTW3=ON"
-      #"-DWITH_SDL=ON"
+      "-DWITH_SDL=OFF"
       "-DWITH_OPENCOLORIO=ON"
       "-DWITH_OPENSUBDIV=ON"
       "-DPYTHON_LIBRARY=${python.libPrefix}m"
@@ -61,10 +93,18 @@ stdenv.mkDerivation rec {
       "-DWITH_OPENVDB=ON"
       "-DWITH_TBB=ON"
       "-DWITH_IMAGE_OPENJPEG=ON"
+      "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
+    ]
+    ++ optionals stdenv.isDarwin [
+      "-DWITH_CYCLES_OSL=OFF" # requires LLVM
+      "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin
+
+      "-DLIBDIR=/does-not-exist"
     ]
+    # Clang doesn't support "-export-dynamic"
+    ++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
     ++ optional jackaudioSupport "-DWITH_JACK=ON"
-    ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
-    ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON";
+    ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON";
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
 
@@ -95,7 +135,7 @@ stdenv.mkDerivation rec {
     # They comment two licenses: GPLv2 and Blender License, but they
     # say: "We've decided to cancel the BL offering for an indefinite period."
     license = licenses.gpl2Plus;
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 9701db3c0b7..fd86f21dff0 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,7 +1,27 @@
-{ lib, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng
-, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite
-, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp
-, xdg_utils, makeDesktopItem, removeReferencesTo
+{ lib
+, mkDerivation
+, fetchurl
+, poppler_utils
+, pkgconfig
+, libpng
+, imagemagick
+, libjpeg
+, fontconfig
+, podofo
+, qtbase
+, qmake
+, icu
+, sqlite
+, hunspell
+, hyphen
+, unrarSupport ? false
+, chmlib
+, python2Packages
+, libusb1
+, libmtp
+, xdg_utils
+, makeDesktopItem
+, removeReferencesTo
 }:
 
 let
@@ -10,11 +30,11 @@ let
 in
 mkDerivation rec {
   pname = "calibre";
-  version = "3.48.0";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    sha256 = "034m89h7j2088p324i1kya33dfldmqyynjxk3w98xiqkz7q2hi82";
+    sha256 = "1lk44qh3hzqhpz2b00iik7cgjg4xm36qjh2pxflkjnbk691gbpqk";
   };
 
   patches = [
@@ -44,17 +64,49 @@ mkDerivation rec {
   CALIBRE_PY3_PORT = builtins.toString pypkgs.isPy3k;
 
   buildInputs = [
-    poppler_utils libpng imagemagick libjpeg
-    fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
-  ] ++ (with pypkgs; [
-    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
-    python pyqt5_with_qtwebkit sip
-    regex msgpack beautifulsoup4 html2text
-    # the following are distributed with calibre, but we use upstream instead
-    odfpy
-  ]) ++ lib.optionals (!pypkgs.isPy3k) (with pypkgs; [
-    mechanize
-  ]);
+    poppler_utils
+    libpng
+    imagemagick
+    libjpeg
+    fontconfig
+    podofo
+    qtbase
+    chmlib
+    icu
+    hunspell
+    hyphen
+    sqlite
+    libusb1
+    libmtp
+    xdg_utils
+  ] ++ (
+    with pypkgs; [
+      apsw
+      cssselect
+      css-parser
+      dateutil
+      dnspython
+      feedparser
+      html5-parser
+      lxml
+      markdown
+      netifaces
+      pillow
+      python
+      pyqt5_with_qtwebkit
+      sip
+      regex
+      msgpack
+      beautifulsoup4
+      html2text
+      # the following are distributed with calibre, but we use upstream instead
+      odfpy
+    ]
+  ) ++ lib.optionals (!pypkgs.isPy3k) (
+    with pypkgs; [
+      mechanize
+    ]
+  );
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index d6680c61eb9..ac2948c2d6e 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify }:
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "cbatticon";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
   };
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ pkgconfig gettext wrapGAppsHook ];
 
   buildInputs =  [ glib gtk3 libnotify ];
 
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index edb47e11dd7..afa0a06d33f 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch,
+{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
   pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools,
   vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
   pname = "font-manager";
-  version = "0.7.5";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "FontManager";
     repo = "master";
     rev = version;
-    sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g";
+    sha256 = "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f";
   };
 
   nativeBuildInputs = [
@@ -38,19 +38,6 @@ stdenv.mkDerivation rec {
     gnome3.adwaita-icon-theme
   ];
 
-  mesonFlags = [
-    "-Ddisable_pycompile=true"
-  ];
-
-  patches = [
-    # fix build with Vala 0.46
-    (fetchpatch {
-      url = "https://github.com/FontManager/font-manager/commit/c73b40de11f376f4515a0edfe97fb3721a264b35.patch";
-      sha256 = "0lacwsifgvda2r3z6j2a0svdqr6mgav7zkvih35xa8155y8wfpnw";
-      excludes = [ "fedora/font-manager.spec" ];
-    })
-  ];
-
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index 6bfb4907807..45bca7d3fbf 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "girara";
-  version = "0.3.3";
+  version = "0.3.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
-    sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
+    sha256 = "08zdsr4zwi49facsl5596l0g1xqqv2jk3sqk841gkxwawcggim44";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 9a9edba512a..9a4e765a1d6 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.18";
+  version = "7.19";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk";
+    sha256 = "0mfmj0g6q6p2i6bd64ik1hq2l1ddqxnc6i9m30dnfl4v1zyvlc38";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 957f0f7f68b..8b908f1f9cf 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -19,7 +19,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20170111";
+  version = "3.20190228";
 
   lib = stdenv.lib;
 in
@@ -27,8 +27,8 @@ stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.tar.xz";
-    sha256 = "00d7yzv426fvqbhvzyafddv7fa6b4j2647b0wi371wd5yjj9j3sz";
+    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.orig.tar.xz";
+    sha256 = "17pyblaqhkb61lxl63bzndiffism8k859p54k3k4sghclq6lsynh";
   };
 
   buildInputs = [ which ]
@@ -44,7 +44,11 @@ stdenv.mkDerivation {
     ++ lib.optionals subversionSupport [subversion]
     ++ lib.optionals mercurialSupport [mercurial];
 
-  patchPhase = ''
+  # A few markdown tests fail, but this is expected when using Text::Markdown
+  # instead of Text::Markdown::Discount.
+  patches = [ ./remove-markdown-tests.patch ];
+
+  postPatch = ''
     sed -i s@/usr/bin/perl@${perlPackages.perl}/bin/perl@ pm_filter mdwn2man
     sed -i s@/etc/ikiwiki@$out/etc@ Makefile.PL
     sed -i /ENV{PATH}/d ikiwiki.in
@@ -83,6 +87,5 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.peti ];
-    broken = true; # https://ikiwiki.info/bugs/imagemagick_6.9.8_test_suite_failure/
   };
 }
diff --git a/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch b/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch
new file mode 100644
index 00000000000..c981857a248
--- /dev/null
+++ b/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch
@@ -0,0 +1,37 @@
+diff --git a/t/mdwn.t b/t/mdwn.t
+index ca3180139..d64750403 100755
+--- a/t/mdwn.t
++++ b/t/mdwn.t
+@@ -16,32 +16,17 @@ is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"C. S. Lewis wrote books\n"),
+ 	"<p>C. S. Lewis wrote books</p>\n", "alphalist off by default");
+ 
+-$config{mdwn_alpha_lists} = 1;
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"A. One\n".
+-	"B. Two\n"),
+-	qr{<ol\W}, "alphalist can be enabled");
+-
+ $config{mdwn_alpha_lists} = 0;
+ like(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"A. One\n".
+ 	"B. Two\n"),
+ 	qr{<p>A. One\sB. Two</p>\n}, "alphalist can be disabled");
+ 
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
+-	qr{<p>This works<sup\W}, "footnotes on by default");
+-
+ $config{mdwn_footnotes} = 0;
+ like(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"An unusual link label: [^1]\n\n[^1]: http://example.com/\n"),
+ 	qr{<a href="http://example\.com/">\^1</a>}, "footnotes can be disabled");
+ 
+-$config{mdwn_footnotes} = 1;
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
+-	qr{<p>This works<sup\W}, "footnotes can be enabled");
+-
+ SKIP: {
+ 	skip 'set $IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT if you have Discount 2.2.0+', 4
+ 		unless $ENV{IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT};
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index bab4c2d0b7d..c6bcd56167c 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -33,13 +33,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
+    sha256 = "0z5bd17qaq7zpv96gw6qwv6rb4xx7xjq86ss6wm5zskcrraf7r7n";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix
index ffb938f30a5..f86effe989f 100644
--- a/pkgs/applications/misc/mako/default.nix
+++ b/pkgs/applications/misc/mako/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mako";
-  version = "1.4";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9";
+    sha256 = "0hwvibpnrximb628w9dsfjpi30b5jy7nfkm4d94z5vhp78p43vxh";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "A lightweight Wayland notification daemon";
     homepage = https://wayland.emersion.fr/mako/;
     license = licenses.mit;
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir synthetica ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
new file mode 100644
index 00000000000..5813fc15c0d
--- /dev/null
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -0,0 +1,35 @@
+{ appimageTools, fetchurl, lib }:
+
+let
+  pname = "marktext";
+  version = "v0.16.0-rc.2";
+in
+appimageTools.wrapType2 rec {
+  name = "${pname}-${version}-binary";
+
+  src = fetchurl {
+    url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage";
+    sha256 = "1w1mxa1j94zr36xhvlhzq8d77pi359vdxqb2j8mnz2bib9khxk9k";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [
+    p.libsecret
+    p.xlibs.libxkbfile
+  ];
+
+  # Strip version from binary name.
+  extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}";
+
+  meta = with lib; {
+    description = "A simple and elegant markdown editor, available for Linux, macOS and Windows.";
+    homepage = "https://marktext.app";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nh2 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index e7c32c13095..f2df8a09ff2 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,17 +4,17 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "2.8.1";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0h7j0wcpwwd2fibggr1nwkqpvhv2i1qnk54c4x6hixx31yidy2l0";
+    sha256 = "1pifrcrc8fh85b8h8x01hih9wfclb95sf38s443bs3gip1zdrlk3";
   };
 
-  configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
-  preBuild = optionalString (conf!=null) "cp ${configFile} nnn.h";
+  configFile = optionalString (conf != null) (builtins.toFile "nnn.h" conf);
+  preBuild = optionalString (conf != null) "cp ${configFile} nnn.h";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ readline ncurses ];
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Small ncurses-based file browser forked from noice";
-    homepage = https://github.com/jarun/nnn;
+    homepage = "https://github.com/jarun/nnn";
     license = licenses.bsd2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ jfrankenau filalex77 ];
   };
 }
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index b91f8018c57..1c02441474c 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notejot";
-  version = "1.5.8";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1v7f4xy5iwdjyf4416qpiwzifi68n466faia1hxzsq18fb1ri0af";
+    sha256 = "1b65m9gvq8ziqqgnw3vgjpjb1qw7bww40ngd3gardsjg9lcwpxaf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix
index 2dfbb7a2370..c03e57920da 100644
--- a/pkgs/applications/misc/osmctools/default.nix
+++ b/pkgs/applications/misc/osmctools/default.nix
@@ -1,46 +1,27 @@
-{ stdenv, fetchurl, zlib } :
+{ stdenv, fetchFromGitLab, autoreconfHook, zlib }:
 
-let
-
-  convert_src = fetchurl {
-    url = http://m.m.i24.cc/osmconvert.c;
-    sha256 = "1mvmb171c1jqxrm80jc7qicwk4kgg7yq694n7ci65g6i284r984x";
-    # version = 0.8.5
-  };
+stdenv.mkDerivation rec {
+  pname = "osmctools";
+  version = "0.9";
 
-  filter_src = fetchurl {
-    url = http://m.m.i24.cc/osmfilter.c;
-    sha256 = "0vm3bls9jb2cb5b11dn82sxnc22qzkf4ghmnkivycigrwa74i6xl";
-    # version = 1.4.0
+  src = fetchFromGitLab {
+    owner = "osm-c-tools";
+    repo = pname;
+    rev = version;
+    sha256 = "1m8d3r1q1v05pkr8k9czrmb4xjszw6hvgsf3kn9pf0v14gpn4r8f";
   };
 
-in
-
-stdenv.mkDerivation {
-  pname = "osmctools";
-  version = "0.8.5plus1.4.0";
-
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib ];
 
-  phases = [ "buildPhase" "installPhase" ];
-
-  buildPhase = ''
-    cc ${convert_src} -lz -O3 -o osmconvert
-    cc ${filter_src} -O3 -o osmfilter
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv osmconvert $out/bin
-    mv osmfilter $out/bin
-  '';
-
   meta = with stdenv.lib; {
     description = "Command line tools for transforming Open Street Map files";
     homepage = [
-      https://wiki.openstreetmap.org/wiki/Osmconvert
-      https://wiki.openstreetmap.org/wiki/Osmfilter
+      https://wiki.openstreetmap.org/wiki/osmconvert
+      https://wiki.openstreetmap.org/wiki/osmfilter
+      https://wiki.openstreetmap.org/wiki/osmupdate
     ];
+    maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
     license = licenses.agpl3;
   };
diff --git a/pkgs/applications/misc/qolibri/default.nix b/pkgs/applications/misc/qolibri/default.nix
index b7c137258fd..c96fbab4d81 100644
--- a/pkgs/applications/misc/qolibri/default.nix
+++ b/pkgs/applications/misc/qolibri/default.nix
@@ -23,7 +23,7 @@ mkDerivation {
     homepage = https://github.com/ludios/qolibri;
     description = "EPWING reader for viewing Japanese dictionaries";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ivan ];
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 5a722ffe111..907a2e046df 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.4";
+  version = "0.10.5";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "068v63bb1bq6vz7byhnd28l6dmr4jmivailxmjv86wakbsqvlhbi";
+    sha256 = "177ywk1dfdfwz7kvlxx3an1q4vv2c27d7qivy0463a3hvkacybxn";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/tmatrix/default.nix b/pkgs/applications/misc/tmatrix/default.nix
index ead8d7298e6..c03918c4875 100644
--- a/pkgs/applications/misc/tmatrix/default.nix
+++ b/pkgs/applications/misc/tmatrix/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, cmake, ncurses }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, installShellFiles
+, ncurses
+}:
 
 stdenv.mkDerivation rec {
   pname = "tmatrix";
-  version = "1.1";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "M4444";
     repo = "TMatrix";
     rev = "v${version}";
-    sha256 = "1x9drk3wdsd6vzcypk3x068sqcbgis488s9fhcpsv8xgb496rd6y";
+    sha256 = "1cvgxmdpdzpl8w4z3sh4g5pbd15rd8s1kcspi9v95yf9rydyy69s";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake installShellFiles ];
   buildInputs = [ ncurses ];
 
   postInstall = ''
-    mkdir -p $out/share/man/man6
-    install -m 0644 ../tmatrix.6 $out/share/man/man6
+    installManPage ../tmatrix.6
   '';
 
   meta = with lib; {
@@ -30,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/M4444/TMatrix";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ infinisil ];
+    maintainers = with maintainers; [ infinisil filalex77 ];
   };
 }
diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix
index eaedad16748..74b2b770215 100644
--- a/pkgs/applications/misc/todoist/default.nix
+++ b/pkgs/applications/misc/todoist/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "todoist";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "sachaos";
     repo = "todoist";
     rev = "v${version}";
-    sha256 = "0qhmv65il14lns817yxhma784jw5bz629svzh2ykrmilx5f7dxqc";
+    sha256 = "0d3c621jaqxd6i58xm6nvi0avrh5mk23r169i95bn73igzw62w33";
   };
 
   modSha256 = "1nnp5ijz4n34gc97rar4wlvlbx21ndpjyb2mc6gxdk1wzx3mgswp";
diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix
index 9953af19d90..cb71ec1524b 100644
--- a/pkgs/applications/misc/vit/default.nix
+++ b/pkgs/applications/misc/vit/default.nix
@@ -1,5 +1,6 @@
 { lib
 , python3Packages
+, glibcLocales
 , taskwarrior }:
 
 with python3Packages;
@@ -20,6 +21,7 @@ buildPythonApplication rec {
     tzlocal
     urwid
   ];
+  checkInputs = [ glibcLocales ];
 
   makeWrapperArgs = [ "--suffix" "PATH" ":" "${taskwarrior}/bin" ];
 
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 84735feef21..212013fb655 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja
+{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja, wrapGAppsHook
 , wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog, gtk-layer-shell
 , traySupport  ? true,  libdbusmenu-gtk3
 , pulseSupport ? false, libpulseaudio
@@ -19,7 +19,7 @@
     };
 
     nativeBuildInputs = [
-      meson ninja pkgconfig scdoc
+      meson ninja pkgconfig scdoc wrapGAppsHook
     ];
 
     buildInputs = with stdenv.lib;
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index b1bf98704c5..2f4c7828134 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "5.4.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1rwnlhzhasfa2iklrp897c0z7nvav2bz2z6nk41fvwwd3bsay2sf";
+    sha256 = "0b9wfv56s5696q493hid2ikaa0ycgkx35pyyvxsdrcf94rbxyd1x";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix
index 4f1ecbaf8b3..c7f449d97cd 100644
--- a/pkgs/applications/misc/xygrib/default.nix
+++ b/pkgs/applications/misc/xygrib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } :
+{ stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } :
 
 stdenv.mkDerivation rec {
   version = "1.2.6.1";
@@ -11,13 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia";
   };
 
-  nativeBuildInputs = [ cmake qttools ];
+  nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
   buildInputs = [ bzip2 qtbase libnova proj openjpeg libpng ];
   cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-2.3" ];
 
   postInstall = ''
-    mkdir $out/bin
-    ln -s $out/XyGrib/XyGrib $out/bin/XyGrib
+    wrapQtApp $out/XyGrib/XyGrib
+    mkdir -p $out/bin
+    ln -s $out/XyGrib/XyGrib $out/bin/xygrib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index 36f6279c209..d99a87954de 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "Sylk";
-  version = "2.1.0";
+  version = "2.5.0";
 in
 
 appimageTools.wrapType2 rec {
@@ -10,7 +10,7 @@ appimageTools.wrapType2 rec {
 
   src = fetchurl {
     url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
-    sha256 = "1ifi8qr6f84dcssxhv5ar1s48nsqxiv2j1blc82248hmq5is24mf";
+    sha256 = "1jhs25zzdac3r2wz886vlpb0bz77p52mdlrbsbv28h6is79pbd69";
   };
 
   profile = ''
diff --git a/pkgs/applications/networking/browsers/captive-browser/default.nix b/pkgs/applications/networking/browsers/captive-browser/default.nix
index e7bec997119..88bd32da8f1 100644
--- a/pkgs/applications/networking/browsers/captive-browser/default.nix
+++ b/pkgs/applications/networking/browsers/captive-browser/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
     description = "Dedicated Chrome instance to log into captive portals without messing with DNS settings";
     homepage = https://blog.filippo.io/captive-browser;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = with maintainers; [ volth ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index bbfce71a115..b8160a682e6 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -61,7 +61,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ bendlas ivan thefloweringash ];
+    maintainers = with maintainers; [ bendlas thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index ef0b5ac0eb6..c4a09c8063d 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -45,11 +45,11 @@ let
 
   flash = stdenv.mkDerivation rec {
     pname = "flashplayer-ppapi";
-    version = "32.0.0.303";
+    version = "32.0.0.314";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0b2cw8y9rif2p0lyy2ir1v5lchxlsh543b9c743a2p85c9p7q62b";
+      sha256 = "05xcscpzglpfpiiqc3ngs5snxli99irjk18g5vdhw91jk9808gnl";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 7e3705a3b0b..5ecb6bfb076 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -74,7 +74,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flashplayer";
-  version = "32.0.0.303";
+  version = "32.0.0.314";
 
   src = fetchurl {
     url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "05hfc5ywmcvp6zf8aqmzjp3qy3byp0zdl0ssrv9gvzcskdqkhsj2"
+          "076l93wjcy15sic88cyq6msp87gdhcvbk4ym2vbvvjz2bav2z456"
         else
-          "12hl8lvxz648ha70gi3v85mwf0nnayjiaslr669vjan3ww94jymv"
+          "0kxr8d6fh00akqgk3lwv0z6rk7xswislicsbh9b9p33f19mj7c8a"
       else
         if arch == "x86_64" then
-          "0x0mabgswly2v8z13832pkbjsv404aq61pback6sgmp2lyycdg6w"
+          "0a3hvp0qmqlann8k875ajf0i70cv0an1a3mr8kbgji46dxqvwjxz"
         else
-          "16kbpf1i3aqlrfbfh5ncg1n46ncl9hp6qdp36s5j3ivbc68pj81z";
+          "0jyywas2z7ssgzng82qgnp01gy6nccqavkbx9529m07xrclvqbxn";
   };
 
   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 28b4c8a36c9..353aff7e707 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation {
   pname = "flashplayer-standalone";
-  version = "32.0.0.303";
+  version = "32.0.0.314";
 
   src = fetchurl {
     url =
@@ -60,9 +60,9 @@ stdenv.mkDerivation {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0xkzlv90lpyy54j6pllknrp1l9vjyh6dsl63l4c8cgh4i830gi14"
+        "0zlin94rip13rn58m7v5l6m20ylnw59l77rbg5j5qyxkr53zawdz"
       else
-        "0mi3ggv6zhzmdd1h68cgl87n6izhp0pbkhnidd2gl2cp95f23c2d";
+        "0pfrm02iwa01pqx3adqj0sw27p1ddlz9knjky6x248ak8zywsqr2";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 3784ff6b00f..6825d2af64f 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.10.1745.26-1";
+  version = "2.10.1745.27-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0zl5sqa60x9yg7acp6vxgnmfzz27v849mlpp1wgnwh019fx3wf53";
+    sha256 = "1z9biiycxcxyw7i1lqhvk8092hqvidaipkfdvkz632vxcg33jz4q";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cawbird/default.nix b/pkgs/applications/networking/cawbird/default.nix
index 6462dd49949..af8b7241659 100644
--- a/pkgs/applications/networking/cawbird/default.nix
+++ b/pkgs/applications/networking/cawbird/default.nix
@@ -20,14 +20,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.3.1";
+  version = "1.0.4";
   pname = "cawbird";
 
   src = fetchFromGitHub {
     owner = "IBBoard";
     repo = "cawbird";
     rev = "v${version}";
-    sha256 = "sha256:1v1y4bx0mm518b9vlpsry12fw1qz2j28jfhjqq73blvzd89lgb0y";
+    sha256 = "sha256:1gqi7bn08b9cjpb0mgs6bk1a2npdfhn56ckps95nck0jyqzfbnir";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index d0186fb9b4c..39c3b9f6507 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }:
 buildGoPackage rec {
   pname = "cni-plugins";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "0dc4fs08x4x518yhgvq3drjvansnc0cb8rm4h5wiw7k3whjii3cd";
+    sha256 = "02kz6y3klhbriybsskn4hmldwli28cycnp2klsm2x0y9c73iczdp";
   };
 
   goDeps = ./plugins-deps.nix;
diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix
deleted file mode 100644
index 99cb7b98f5c..00000000000
--- a/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/docker/machine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/machine";
-      rev = "5b274558ea6ca822c06dd407a4e774a0105c3f60";
-      sha256 = "1wdq9h4bx7awgclh969gvmcnl9jvgv7ldfklnclh5iv47mi7q22d";
-    };
-  }
-  {
-    goPackagePath = "github.com/zchee/libhyperkit";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zchee/libhyperkit";
-      rev = "1a19a7693fac32b46ec6cdd22da6fbec974447fc";
-      sha256 = "119f5gcl24znwnmi837jk667asd3lirx32jldpd4mbyb3sm9nz24";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
index 1c2caff50d5..1f1e59a56a4 100644
--- a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
@@ -1,24 +1,36 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, Hypervisor, vmnet }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig, cctools, Hypervisor, vmnet }:
 
 buildGoPackage rec {
   pname = "docker-machine-xhyve";
-  version = "0.3.3";
+  version = "0.4.0";
 
   goPackagePath = "github.com/zchee/docker-machine-driver-xhyve";
-  goDeps = ./xhyve-deps.nix;
+
+  # https://github.com/machine-drivers/docker-machine-driver-xhyve/pull/225
+  patches = fetchpatch {
+    url = "https://github.com/machine-drivers/docker-machine-driver-xhyve/commit/546256494bf2ccc33e4125bf45f504b0e3027d5a.patch";
+    sha256 = "1i8wxqccqkxvqrbsyd0g9s0kdskd8xi2jv0c1bji9aj4rq0a8cgz";
+  };
+
+  preBuild = ''
+    make -C go/src/${goPackagePath} CC=${stdenv.cc}/bin/cc LIBTOOL=${cctools}/bin/libtool GIT_CMD=: lib9p
+    export CGO_CFLAGS=-I$(pwd)/go/src/${goPackagePath}/vendor/github.com/jceel/lib9p
+    export CGO_LDFLAGS=$(pwd)/go/src/${goPackagePath}/vendor/build/lib9p/lib9p.a
+  '';
+  buildFlags = "--tags lib9p";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
-    owner  = "zchee";
+    owner  = "machine-drivers";
     repo   = "docker-machine-driver-xhyve";
-    sha256 = "0rj6pyqp4yv4j28bglqjs95rip5i77vv8mrkmqv1rxrsl3i8aqqy";
+    sha256 = "0000v97fr8xc5b39v44hsa87wrbk4bcwyaaivxv4hxlf4vlgg863";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ Hypervisor vmnet ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/zchee/docker-machine-driver-xhyve;
+    homepage = https://github.com/machine-drivers/docker-machine-driver-xhyve;
     description = "Xhyve driver for docker-machine.";
     license = licenses.bsd3;
     maintainers = with maintainers; [ periklis ];
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 904eabfcda8..16472b98fdd 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.16.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "1yk78w9cwssk5y69iapfzqf7mnrkam3w64x4zsx3zjpdmvp9dq7l";
+    sha256 = "0kp4xk1b8vxajl3cl6any9gmf3412gsahm5fvkyaclnj20yvq807";
   };
 
-  modSha256 = "17rh8yilxqv0dwljwm5ay43diwcy5pa1g2jff9wyhsh8q7sy9wln";
+  modSha256 = "0fnlnavw4l3425c9nwjkd98xihrgxi9n5yc9yv15j5xzg47qnqav";
 
   subPackages = [ "cmd/fluxctl" ];
 
diff --git a/pkgs/applications/networking/cluster/luigi/default.nix b/pkgs/applications/networking/cluster/luigi/default.nix
index aad75264364..def13e2b9d0 100644
--- a/pkgs/applications/networking/cluster/luigi/default.nix
+++ b/pkgs/applications/networking/cluster/luigi/default.nix
@@ -2,19 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "luigi";
-  version = "2.8.0";
+  version = "2.8.11";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1869lb6flmca6s7ccws7mvyn66nvrqjky40jwf2liv9fg0lp8899";
+    sha256 = "17nc5xrqp6hp3ayscvdpsiiga8gsfpa4whsk0n97gzk5qpndrcy2";
   };
 
-  # Relax version constraint
-  postPatch = ''
-    sed -i 's/<2.2.0//' setup.py
-  '';
-
-  propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon boto3 ];
+  propagatedBuildInputs = with python3Packages; [ dateutil tornado_4 python-daemon boto3 ];
 
   # Requires tox, hadoop, and google cloud
   doCheck = false;
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 71044bd0f18..2dae8377055 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -7,8 +7,19 @@ let
     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)) { };
+  extraArgs = {
+    mkOverride = attrname: version: sha256:
+      self: super: {
+        ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
+          inherit version;
+          src = oldAttrs.src.override {
+            inherit version sha256;
+          };
+        });
+      };
+  };
+  mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
+  mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
   guiSrcHash = "1yxwbz93x9hn5y6dir8v7bdfsmfgppvjg4z88l8gx82hhf2476fx";
   serverSrcHash = "1d3m8qrz82g8ii6q6j015wqwp6j0415fbqbjvw43zhdx5mnn962d";
 in {
diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix
index d978b060aab..2d462d5c11d 100644
--- a/pkgs/applications/networking/gns3/gui.nix
+++ b/pkgs/applications/networking/gns3/gui.nix
@@ -1,25 +1,18 @@
-{ stable, branch, version, sha256Hash }:
+{ stable, branch, version, sha256Hash, mkOverride }:
 
-{ stdenv, python3, fetchFromGitHub }:
+{ lib, stdenv, python3, fetchFromGitHub }:
 
 let
+  # TODO: This package requires qt5Full to launch
+  defaultOverrides = [
+    (mkOverride "psutil" "5.6.3"
+      "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6")
+    (mkOverride "jsonschema" "2.6.0"
+      "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")
+  ];
+
   python = python3.override {
-    packageOverrides = self: super: {
-      psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
-        version = "5.6.3";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6";
-        };
-      });
-      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
-        };
-      });
-    };
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage rec {
   name = "${pname}-${version}";
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index d6c6b65846c..beeac9d0293 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -1,25 +1,17 @@
-{ stable, branch, version, sha256Hash }:
+{ stable, branch, version, sha256Hash, mkOverride }:
 
-{ stdenv, python3, fetchFromGitHub }:
+{ lib, stdenv, python3, fetchFromGitHub }:
 
 let
+  defaultOverrides = [
+    (mkOverride "psutil" "5.6.3"
+      "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6")
+    (mkOverride "jsonschema" "2.6.0"
+      "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")
+  ];
+
   python = python3.override {
-    packageOverrides = self: super: {
-      psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
-        version = "5.6.3";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6";
-        };
-      });
-      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
-        };
-      });
-    };
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage {
   pname = "gns3-server";
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index d7741bda646..010c06e0c2a 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake
+{ stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
 , qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
-, libidn, qca2-qt5, qtkeychain, libXScrnSaver, hunspell
+, libidn, qca2-qt5, libsecret, libXScrnSaver, hunspell
 , libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
 }:
 
 stdenv.mkDerivation rec {
   pname = "psi-plus";
-  version = "1.4.904";
+  version = "1.4.984";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "1bs7yk3qp91sm8nb9gna8vm59381afn1wfs7aii9yi29bhx6fw9h";
+    sha256 = "1nii2nfi37i6mn79xmygscmm8ax75ky244wxkzlga0ya8i8wfjh7";
   };
 
   resources = fetchFromGitHub {
     owner = "psi-plus";
     repo = "resources";
-    rev = "182c92ca0bcc055579d8c91bccba9efe157e77a9";
-    sha256 = "06k7q63cxpifpzjnlw1snclkr2mwf9fh71cgfd40n7jgzswzwhpb";
+    rev = "2f1c12564f7506bf902a26040fdb47ead4df6b73";
+    sha256 = "1dgm9k052fq7f2bpx13kchg7sxb227dkn115lyspzvhnhprnypz2";
   };
 
   postUnpack = ''
@@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
     "-DENABLE_PLUGINS=ON"
   ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
   buildInputs = [
     qtbase qtmultimedia qtx11extras qttools qtwebengine
-    libidn qca2-qt5 qtkeychain libXScrnSaver hunspell
+    libidn qca2-qt5 libsecret libXScrnSaver hunspell
     libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
   ];
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "XMPP (Jabber) client";
-    maintainers = with maintainers; [ orivej ];
+    maintainers = with maintainers; [ orivej misuzu ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index eeab5e32c0f..f588c31c183 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
       --prefix PATH : ${xdg_utils}/bin
   '';
 
-  inherit (rambox-bare.meta // {
+  meta = rambox-bare.meta // {
     platforms = [ "i686-linux" "x86_64-linux" ];
-  });
+  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 2e8581f4eae..bc41b023627 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -2,7 +2,8 @@
 , gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
-, cups, expat, udev, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
+, cups, expat, systemd, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
+, autoPatchelfHook
 # Unfortunately this also overwrites the UI language (not just the spell
 # checking language!):
 , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
@@ -21,11 +22,32 @@ let
         --set HUNSPELL_DICTIONARIES "${hunspellDicts.${hunspellDict}}/share/hunspell" \
         --set LC_MESSAGES "${spellcheckerLanguage}"''
       else "");
-  rpath = lib.makeLibraryPath [
+in stdenv.mkDerivation rec {
+  pname = "signal-desktop";
+  version = "1.29.6"; # Please backport all updates to the stable channel.
+  # All releases have a limited lifetime and "expire" 90 days after the release.
+  # When releases "expire" the application becomes unusable until an update is
+  # applied. The expiration date for the current release can be extracted with:
+  # $ grep -a "^{\"buildExpiration" "${signal-desktop}/lib/Signal/resources/app.asar"
+  # (Alternatively we could try to patch the asar archive, but that requires a
+  # few additional steps and might not be the best idea.)
+
+  src = fetchurl {
+    url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+    sha256 = "1s1rc4kyv0nxz5fy5ia7fflphf3izk80ks71q4wd67k1g9lvcw24";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
     alsaLib
-    atk
     at-spi2-atk
     at-spi2-core
+    atk
     cairo
     cups
     dbus
@@ -36,10 +58,6 @@ let
     glib
     gnome2.GConf
     gtk3
-    pango
-    libappindicator-gtk3
-    libnotify
-    libuuid
     libX11
     libXScrnSaver
     libXcomposite
@@ -51,55 +69,42 @@ let
     libXrandr
     libXrender
     libXtst
+    libappindicator-gtk3
+    libnotify
+    libuuid
     nspr
     nss
-    udev
+    pango
+    systemd
     xorg.libxcb
   ];
 
-in stdenv.mkDerivation rec {
-  pname = "signal-desktop";
-  version = "1.29.3"; # Please backport all updates to the stable channel.
-  # All releases have a limited lifetime and "expire" 90 days after the release.
-  # When releases "expire" the application becomes unusable until an update is
-  # applied. The expiration date for the current release can be extracted with:
-  # $ grep -a "^{\"buildExpiration" "${signal-desktop}/libexec/resources/app.asar"
-  # (Alternatively we could try to patch the asar archive, but that requires a
-  # few additional steps and might not be the best idea.)
-
-  src = fetchurl {
-    url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "1rkj6rwmwwvyd5041r96j1dxlfbmc6xsdrza43c0ykdrhfj73h11";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  nativeBuildInputs = [ dpkg wrapGAppsHook ];
+  runtimeDependencies = [
+    systemd.lib
+  ];
 
   unpackPhase = "dpkg-deb -x $src .";
 
-  installPhase = ''
-    mkdir -p $out
-    cp -R opt $out
-
-    mv ./usr/share $out/share
-    mv $out/opt/Signal $out/libexec
-    rmdir $out/opt
+  dontBuild = true;
+  dontConfigure = true;
+  dontPatchELF = true;
 
-    chmod -R g-w $out
+  installPhase = ''
+    mkdir -p $out/lib
 
-    # Patch signal
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-             --set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
-    wrapProgram $out/libexec/signal-desktop \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc.lib}/lib" \
-      ${customLanguageWrapperArgs} \
-      "''${gappsWrapperArgs[@]}"
+    mv usr/share $out/share
+    mv opt/Signal $out/lib
 
     # Symlink to bin
     mkdir -p $out/bin
-    ln -s $out/libexec/signal-desktop $out/bin/signal-desktop
+    ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] }"
+      ${customLanguageWrapperArgs}
+    )
 
     # Fix the desktop link
     substituteInPlace $out/share/applications/signal-desktop.desktop \
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index d43d8e1f988..500f8f3fe87 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.55.0.123";
+  version = "8.55.0.141";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -63,7 +63,7 @@ let
           "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "08dvgqwj7f8k3xv5kv96k6v6ga1v2chif9m7amncg6ppp81hy7nx";
+        sha256 = "0yfbxrnf2mjihrsvp0r81kbxh3rfh53y7sbfp3bwqky951a93qis";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index e57ff881af3..bec2f750526 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,79 +1,74 @@
-{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
-, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
-, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
+{ mkDerivation, lib, fetchurl, fetchsvn
+, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
+, qtbase, qtimageformats, gtk3, libappindicator-gtk3, enchant2, lz4, xxHash
 , dee, ffmpeg_4, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
+# TODO: Shouldn't be required:
+, pcre, xorg, utillinux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
+, xdg_utils
 }:
 
 with lib;
 
+# Main reference:
+# - This package is based on the Arch package:
+#   https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop
+# Other references that could be useful (but we should try to stick to Arch):
+# - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD
+# - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template
+
 mkDerivation rec {
   pname = "telegram-desktop";
-  version = "1.8.15";
+  version = "1.9.3";
   # Note: Due to our strong dependency on the Arch patches it's probably best
   # to also wait for the Arch update (especially if the patches don't apply).
 
   # Telegram-Desktop with submodules
-  src = fetchFromGitHub {
-    owner = "telegramdesktop";
-    repo = "tdesktop";
-    rev = "v${version}";
-    sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
-    fetchSubmodules = true;
+  src = fetchurl {
+    url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
+    sha256 = "1fx7v7j7iw4iywdbl89c5f1y74via61a0k20zrgjv5a0j4v6g76a";
   };
 
   # Arch patches (svn export telegram-desktop/trunk)
   archPatches = fetchsvn {
     url = "svn://svn.archlinux.org/community/telegram-desktop/trunk";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
-    rev = "512849";
-    sha256 = "1hl7znvv6qr4cwpkj8wlplpa63i1lhk2iax7hb4l1s1a4mijx9ls";
-  };
-  privateHeadersPatch = fetchpatch {
-    url = "https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch";
-    sha256 = "1s5xvcp9dk0jfywssk8xfcsh7bk5xxif8xqnba0413lfx5rgvs5v";
+    rev = "549803";
+    sha256 = "1py2a25wgpvx0n4kz383fj0jav1qdm8wqx5bdaygg6296r294czj";
   };
 
   # Note: It would be best if someone could get as many patches upstream as
   # possible (we currently depend a lot on custom patches...).
   patches = [
-    "${archPatches}/tdesktop.patch"
-    "${archPatches}/no-gtk2.patch"
-    "${archPatches}/Revert-Disable-DemiBold-fallback-for-Semibold.patch"
-    "${archPatches}/tdesktop_lottie_animation_qtdebug.patch"
-    # "${archPatches}/Revert-Change-some-private-header-includes.patch"
-    # "${archPatches}/Use-system-wide-font.patch"
+    "${archPatches}/0001-Dynamic-linking-system-libs.patch"
+    "${archPatches}/0002-Dynamic-linking-system-qt.patch"
+    "${archPatches}/0004-gtk3.patch"
+    "${archPatches}/0005-Use-system-wide-fonts.patch"
+    "${archPatches}/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch"
   ];
 
   postPatch = ''
     substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \
       --replace '"appindicator3"' '"${libappindicator-gtk3}/lib/libappindicator3.so"'
-    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp \
-      --replace '"notify"' '"${libnotify}/lib/libnotify.so"'
+    substituteInPlace cmake/external/ranges/CMakeLists.txt \
+      --replace "/usr/include" "${range-v3}/include"
   '';
 
   # We want to run wrapProgram manually (with additional parameters)
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
-  nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc9 ];
+  nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook ];
 
   buildInputs = [
-    qtbase qtimageformats gtk3 libappindicator-gtk3
+    qtbase qtimageformats gtk3 libappindicator-gtk3 enchant2 lz4 xxHash
     dee ffmpeg_4 openalSoft minizip libopus alsaLib libpulseaudio range-v3
+    # TODO: Shouldn't be required:
+    pcre xorg.libpthreadstubs xorg.libXdmcp utillinux libselinux libsepol epoxy at-spi2-core libXtst
   ];
 
   enableParallelBuilding = true;
 
-  GYP_DEFINES = concatStringsSep "," [
-    "TDESKTOP_DISABLE_CRASH_REPORTS"
-    "TDESKTOP_DISABLE_AUTOUPDATE"
-    "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
-  ];
-
   NIX_CFLAGS_COMPILE = [
-    "-DTDESKTOP_DISABLE_CRASH_REPORTS"
-    "-DTDESKTOP_DISABLE_AUTOUPDATE"
-    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
     "-I${minizip}/include/minizip"
     # See Telegram/gyp/qt.gypi
     "-I${getDev qtbase}/mkspecs/linux-g++"
@@ -87,64 +82,29 @@ mkDerivation rec {
     ]) [ "QtCore" "QtGui" "QtDBus" ];
   CPPFLAGS = NIX_CFLAGS_COMPILE;
 
-  preConfigure = ''
-    # Patches to revert:
-    patch -R -Np1 -i "${privateHeadersPatch}"
-
-    # Patches to apply:
-    pushd "Telegram/ThirdParty/libtgvoip"
-    patch -Np1 -i "${archPatches}/libtgvoip.patch"
-    popd
-
-    # disable static-qt for rlottie
-    sed "/RLOTTIE_WITH_STATIC_QT/d" -i "Telegram/gyp/lib_rlottie.gyp"
-
-    sed -i Telegram/gyp/telegram/linux.gypi \
-      -e 's,/usr,/does-not-exist,g' \
-      -e 's,appindicator-0.1,appindicator3-0.1,g' \
-      -e 's,-flto,,g'
-
-    sed -i Telegram/gyp/modules/qt.gypi \
-      -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
-      -e 's,\d+",\d+" | head -n1,g'
-    sed -i Telegram/gyp/modules/qt_moc.gypi \
-      -e "s,/usr/bin/moc,moc,g"
-    sed -i Telegram/gyp/modules/qt_rcc.gypi \
-      -e "s,/usr/bin/rcc,rcc,g"
-
-    # Build system assumes x86, but it works fine on non-x86 if we patch this one flag out
-    sed -i Telegram/ThirdParty/libtgvoip/libtgvoip.gyp \
-      -e "/-msse2/d"
-
-    gyp \
-      -Dapi_id=17349 \
-      -Dapi_hash=344583e45741c457fe1862106095a5eb \
-      -Dbuild_defines=${GYP_DEFINES} \
-      -Gconfig=Release \
-      --depth=Telegram/gyp \
-      --generator-output=../.. \
-      -Goutput_dir=out \
-      --format=cmake \
-      Telegram/gyp/Telegram.gyp
-
-    cd out/Release
-
-    NUM=$((`wc -l < CMakeLists.txt` - 2))
-    sed -i "$NUM r $archPatches/CMakeLists.inj" CMakeLists.txt
-
-    export ASM=$(type -p gcc)
-  '';
-
-  cmakeFlags = [ "-UTDESKTOP_OFFICIAL_TARGET" ];
+  cmakeFlags = [
+    #"-DTDESKTOP_API_TEST=ON" # TODO: Officiall API credentials for Nixpkgs
+    "-DTDESKTOP_API_ID=17349" # See: https://github.com/NixOS/nixpkgs/issues/55271
+    "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb"
+    "-DDESKTOP_APP_USE_GLIBC_WRAPS=OFF"
+    "-DDESKTOP_APP_USE_SYSTEM_LIBS=ON"
+    "-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON"
+    "-Ddisable_autoupdate=ON"
+    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON"
+    "-DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON"
+    #"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
+  ];
 
   installPhase = ''
-    install -Dm755 Telegram $out/bin/telegram-desktop
+    install -Dm755 bin/Telegram $out/bin/telegram-desktop
+
+    mkdir -p $out/share/{kservices5,applications,metainfo}
+    sed "s,/usr/bin,$out/bin,g" "../lib/xdg/tg.protocol" > "$out/share/kservices5/tg.protocol"
+    install -m444 "../lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop"
+    install -m644 "../lib/xdg/telegramdesktop.appdata.xml" "$out/share/metainfo/telegramdesktop.metainfo.xml"
 
-    mkdir -p $out/share/applications $out/share/kde4/services
-    install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop"
-    sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol
     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.png"
+      install -Dm644 "../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png"
     done
   '';
 
diff --git a/pkgs/applications/networking/irc/tiny/default.nix b/pkgs/applications/networking/irc/tiny/default.nix
new file mode 100644
index 00000000000..7967bdcc9c4
--- /dev/null
+++ b/pkgs/applications/networking/irc/tiny/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, lib
+, rustPlatform
+, fetchpatch
+, fetchFromGitHub
+, pkg-config
+, dbus
+, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tiny";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "osa1";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1m57xsrc7lzkrm8k1wh3yx3in5bhd0qjzygxdwr8lvigpsiy5caa";
+  };
+
+  cargoSha256 = "1vj6whnx8gd5r66zric9163ddlqc4al4azj0dvhv5sq0r33871kv";
+
+  RUSTC_BOOTSTRAP = 1;
+
+  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+  buildInputs = lib.optionals stdenv.isLinux [ dbus openssl ];
+
+  meta = with lib; {
+    description = "A console IRC client";
+    homepage = "https://github.com/osa1/tiny";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index f0b8fdcf8e2..b7bf5eb329c 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 {
   pname = "mutt";
-  version = "1.13.2";
+  version = "1.13.3";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "0x4yfvk8415p80h9an242n6q3b43mw6mnnczh95zd3j0zwdr6wrg";
+    sha256 = "0y3ks10mc7m8c7pd4c4j8pj7n5rqcvzrjs8mzldv7z7jnlb30hkq";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/p2p/magnetico/default.nix b/pkgs/applications/networking/p2p/magnetico/default.nix
index 1c266d247b7..94720f35504 100644
--- a/pkgs/applications/networking/p2p/magnetico/default.nix
+++ b/pkgs/applications/networking/p2p/magnetico/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "magnetico";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner  = "boramalper";
     repo   = "magnetico";
     rev    = "v${version}";
-    sha256 = "1f7y3z9ql079ix6ycihkmd3z3da3sfiqw2fap31pbvvjs65sg644";
+    sha256 = "1flw7r8igc0hhm288p67lpy9aj1fnywva5b28yfknpw8g97c9r5x";
   };
 
   modSha256 = "1h9fij8mxlxfw7kxix00n10fkhkvmf8529fxbk1n30cxc1bs2szf";
diff --git a/pkgs/applications/networking/protonvpn-cli-ng/default.nix b/pkgs/applications/networking/protonvpn-cli-ng/default.nix
new file mode 100644
index 00000000000..03d1a665273
--- /dev/null
+++ b/pkgs/applications/networking/protonvpn-cli-ng/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages, openvpn, dialog }:
+
+python3Packages.buildPythonApplication rec {
+  name = "protonvpn-cli-ng";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "protonvpn";
+    repo = "protonvpn-cli-ng";
+    rev = "v${version}";
+    sha256 = "11fvnnr5p3qdc4y10815jnydcjvxlxwkkq9kvaajg0yszq84rwkz";
+  };
+
+  propagatedBuildInputs = (with python3Packages; [
+      requests
+      docopt
+      setuptools
+      pythondialog
+    ]) ++ [
+      dialog
+      openvpn
+    ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Linux command-line client for ProtonVPN";
+    homepage = "https://github.com/protonvpn/protonvpn-cli-ng";
+    maintainers = [ maintainers.jtcoolen ];
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 16430d31e83..1b96e9fb663 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -1,33 +1,31 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
-, seafile-shared, ccnet
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
+, seafile-shared, ccnet, jansson, libsearpc
 , withShibboleth ? true, qtwebengine }:
 
-with stdenv.lib;
-
-mkDerivation rec {
-  version = "6.2.11";
+stdenv.mkDerivation rec {
   pname = "seafile-client";
+  version = "7.0.5";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
     rev = "v${version}";
-    sha256 = "1b8jqmr2qd3bpb3sr4p5w2a76x5zlknkj922sxrvw1rdwqhkb2pj";
+    sha256 = "08ysmhvdpyzq2s16i3fvii252fzjrxly3da74x8y6wbyy8yywmjy";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ qtbase qttools seafile-shared ]
-    ++ optional withShibboleth qtwebengine;
+  buildInputs = [ qtbase qttools seafile-shared jansson libsearpc ]
+    ++ lib.optional withShibboleth qtwebengine;
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]
-    ++ optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
+    ++ lib.optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
 
   qtWrapperArgs = [
     "--suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}"
   ];
 
-  meta = with stdenv.lib; {
-    homepage = https://github.com/haiwen/seafile-client;
+  meta = with lib; {
+    homepage = "https://github.com/haiwen/seafile-client";
     description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 67365405cc2..2da36be90de 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with stdenv.lib;
 
 let
-  version = "3.2.0";
+  version = "3.2.1";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac";
+    sha256 = "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
index 6894f1ca635..021eadb6476 100644
--- a/pkgs/applications/office/atlassian-cli/default.nix
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "9.0.0";
+  version = "9.1.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "1z8723krq65fcy5aapgiz216vrpw2nw8fbn1h3a4zpis7kw8qp0f";
+    sha256  = "06431nmz2k1d7vdpnyr88j777sfaa0vrfvxbr9zikn65176mkw7k";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/pkgs/applications/office/csv2odf/default.nix b/pkgs/applications/office/csv2odf/default.nix
new file mode 100644
index 00000000000..7bab06ed4ab
--- /dev/null
+++ b/pkgs/applications/office/csv2odf/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3, fetchurl }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "csv2odf";
+  version = "2.09";
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "09l0yfay89grjdzap2h11f0hcyn49np5zizg2yyp2aqgjs8ki57p";
+  };
+
+  meta = with lib; {
+    homepage = "https://sourceforge.net/p/csv2odf/wiki/Main_Page/";
+    description = "Convert csv files to OpenDocument Format";
+    longDescription = ''
+      csv2odf is a command line tool that can convert a comma separated value
+      (csv) file to an odf, ods, html, xlsx, or docx document that can be viewed in
+      LibreOffice and other office productivity programs. csv2odf is useful for
+      creating reports from databases and other data sources that produce csv files.
+      csv2odf can be combined with cron and shell scripts to automatically generate
+      business reports.
+      
+      The output format (fonts, number formatting, etc.) is controlled by a
+      template file that you can design in your office application of choice.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/applications/office/skanlite/default.nix b/pkgs/applications/office/skanlite/default.nix
index 416c86397f8..d4c1df75709 100644
--- a/pkgs/applications/office/skanlite/default.nix
+++ b/pkgs/applications/office/skanlite/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, cmake, extra-cmake-modules, qtbase,
+{ stdenv, mkDerivation, fetchurl, cmake, extra-cmake-modules, qtbase,
   kcoreaddons, kdoctools, ki18n, kio, kxmlgui, ktextwidgets,
   libksane
 }:
 
 let
   minorVersion = "2.0";
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   name = "skanlite-2.0.1";
 
   src = fetchurl {
@@ -21,8 +21,6 @@ in stdenv.mkDerivation rec {
     libksane
   ];
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "KDE simple image scanning application";
     homepage    = http://www.kde.org/applications/graphics/skanlite/;
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index abc2d1862cb..7032632da88 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  version = "11.1.0.8865";
+  version = "11.1.0.9080";
 
   src = fetchurl {
-    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/8865/wps-office_11.1.0.8865_amd64.deb";
-    sha256 = "1hfpj1ayhzlrnnp72yjzrpd60xsbj9y46m345lqysiaj1hnwdbd8";
+    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/9080/wps-office_11.1.0.9080.XA_amd64.deb";
+    sha256 = "1731e9aea22ef4e558ad66b1373d863452b4f570aecf09d448ae28a821333454";
   };
   unpackCmd = "dpkg -x $src .";
   sourceRoot = ".";
@@ -75,24 +75,20 @@ stdenv.mkDerivation rec{
     mkdir -p $out
     cp -r opt $out
     cp -r usr/* $out
-
     # Avoid forbidden reference error due use of patchelf
     rm -r *
-
     for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
-
       substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
     done
-
     for i in $out/share/applications/*;do
       substituteInPlace $i \
         --replace /usr/bin $out/bin \
         --replace /opt/kingsoft/wps-office $prefix
     done
   '';
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix
index c4879f01e60..e072ec97b97 100644
--- a/pkgs/applications/radio/soapysdr/default.nix
+++ b/pkgs/applications/radio/soapysdr/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  version = "0.7.1";
+  version = "0.7.2";
   modulesVersion = with lib; versions.major version + "." + versions.minor version;
   modulesPath = "lib/SoapySDR/modules" + modulesVersion;
   extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     owner = "pothosware";
     repo = "SoapySDR";
     rev = "soapy-sdr-${version}";
-    sha256 = "1rbnd3w12kzsh94fiywyn4vch7h0kf75m88fi6nq992b3vnmiwvl";
+    sha256 = "102wnpjxrwba20pzdh1vvx0yg1h8vqd8z914idxflg9p14r6v5am";
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
diff --git a/pkgs/applications/radio/svxlink/default.nix b/pkgs/applications/radio/svxlink/default.nix
new file mode 100644
index 00000000000..e06fcb5d3e6
--- /dev/null
+++ b/pkgs/applications/radio/svxlink/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, cmake, pkgconfig, fetchFromGitHub, makeDesktopItem, alsaLib, speex
+, libopus, curl, gsm, libgcrypt, libsigcxx, popt, qtbase, qttools
+, wrapQtAppsHook, rtl-sdr, tcl, doxygen, groff }:
+
+let
+  desktopItem = makeDesktopItem rec {
+    name = "Qtel";
+    exec = "qtel";
+    icon = "qtel";
+    desktopName = name;
+    genericName = "EchoLink Client";
+    categories = "HamRadio;Qt;Network;";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "svxlink";
+  version = "19.09.1";
+
+  src = fetchFromGitHub {
+    owner = "sm0svx";
+    repo = pname;
+    rev = version;
+    sha256 = "0xmbac821w9kl7imlz0mra19mlhi0rlpbyyay26w1y7h98j4g4yp";
+  };
+
+  cmakeFlags = [
+    "-DDO_INSTALL_CHOWN=NO"
+    "-DRTLSDR_LIBRARIES=${rtl-sdr}/lib/librtlsdr.so"
+    "-DRTLSDR_INCLUDE_DIRS=${rtl-sdr}/include"
+    "../src"
+  ];
+  enableParallelBuilding = true;
+  dontWrapQtApps = true;
+
+  nativeBuildInputs = [ cmake pkgconfig doxygen groff wrapQtAppsHook ];
+
+  buildInputs = [
+    alsaLib
+    curl
+    gsm
+    libgcrypt
+    libsigcxx
+    libopus
+    popt
+    qtbase
+    qttools
+    rtl-sdr
+    speex
+    tcl
+  ];
+
+  postInstall = ''
+    rm -f $out/share/applications/*
+    cp -v ${desktopItem}/share/applications/* $out/share/applications
+    mv $out/share/icons/link.xpm $out/share/icons/qtel.xpm
+
+    wrapQtApp $out/bin/qtel
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Advanced repeater controller and EchoLink software";
+    longDescription = ''
+      Advanced repeater controller and EchoLink software for Linux including a
+      GUI, Qtel - The Qt EchoLink client
+    '';
+    homepage = "http://www.svxlink.org/";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ zaninime ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index eea9bb9027c..8ca42ab94ac 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
+    sha256 = "0cypm602zl3s4qggmafj4c246h65qgzsj3bsimvc5zz7jspk6m77";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index 4bb3c7b34fe..cc6af8a17c0 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, gtk2-x11 , pkgconfig , python27 , gfortran , lesstif
-, cfitsio , getopt , perl , groff , which, darwin
+{ stdenv, fetchurl, gtk2-x11 , pkgconfig , python3 , gfortran , lesstif
+, cfitsio , getopt , perl , groff , which, darwin, ncurses
 }:
 
 let
-  python27Env = python27.withPackages(ps: with ps; [ numpy ]);
+  python3Env = python3.withPackages(ps: with ps; [ numpy ]);
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "dec19a";
-  version = "20191201_a";
+  srcVersion = "jan20a";
+  version = "20200101_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,17 +16,19 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "0kwq5gzgzx5hkbabwvbrw2958pqz4m2s501k5cbllgxh4sqp86b1";
+    sha256 = "12n08pax7gwg2z121ix3ah5prq3yswqnf2yc8jgs4i9rgkpbsfzz";
   };
 
-  enableParallelBuilding = true;
+  # Python scripts are not converted to Python 3 syntax when parallel
+  # building is turned on. Disable it until this is fixed upstream.
+  enableParallelBuilding = false;
 
   nativeBuildInputs = [ pkgconfig groff perl getopt gfortran which ];
 
-  buildInputs = [ gtk2-x11 lesstif cfitsio python27Env ]
+  buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
     ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
+  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ./imager-py3.patch ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
 
   configurePhase=''
     substituteInPlace admin/wrapper.sh --replace '%%OUT%%' $out
-    substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python27Env}
+    substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python3Env}
     substituteInPlace utilities/main/gag-makedepend.pl --replace '/usr/bin/perl' ${perl}/bin/perl
     source admin/gildas-env.sh -c gfortran -o openmp
     echo "gag_doc:        $out/share/doc/" >> kernel/etc/gag.dico.lcl
diff --git a/pkgs/applications/science/astronomy/gildas/imager-py3.patch b/pkgs/applications/science/astronomy/gildas/imager-py3.patch
new file mode 100644
index 00000000000..71a129164ba
--- /dev/null
+++ b/pkgs/applications/science/astronomy/gildas/imager-py3.patch
@@ -0,0 +1,12 @@
+diff -ruN gildas-src-jan20a.orig/contrib/imager/pro/define.ima gildas-src-jan20a/contrib/imager/pro/define.ima
+--- gildas-src-jan20a.orig/contrib/imager/pro/define.ima	2020-01-01 02:15:16.000000000 +0100
++++ gildas-src-jan20a/contrib/imager/pro/define.ima	2020-01-14 11:18:46.000000000 +0100
+@@ -9,7 +9,7 @@
+ !
+ ! Patch for a Bug on Mac-OS/X where Python blocks if activated first
+ ! from a script launched by a widget.
+-python print "Starting Python" 
++python print("Starting Python")
+ !
+ ! INPUT, GO and UVT_CONVERT always defined by GreG
+ define command GO "@ p_go.ima" gag_pro:go_greg.hlp  
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index daa2925de7c..f2c5e9f25be 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "samtools";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8";
+    sha256 = "119ms0dpydw8dkh3zc4yyw9zhdzgv12px4l2kayigv31bpqcb7kv";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/science/math/nota/default.nix b/pkgs/applications/science/math/nota/default.nix
new file mode 100644
index 00000000000..897785ef6e8
--- /dev/null
+++ b/pkgs/applications/science/math/nota/default.nix
@@ -0,0 +1,40 @@
+{ mkDerivation, haskellPackages, fetchurl, lib }:
+
+mkDerivation rec {
+  pname = "nota";
+  version = "1.0";
+
+  # Can't use fetchFromGitLab since codes.kary.us doesn't support https
+  src = fetchurl {
+    url = "http://codes.kary.us/nota/nota/-/archive/V${version}/nota-V${version}.tar.bz2";
+    sha256 = "0bbs6bm9p852hvqadmqs428ir7m65h2prwyma238iirv42pk04v8";
+  };
+
+  postUnpack = ''
+    export sourceRoot=$sourceRoot/source
+  '';
+
+  isLibrary = false;
+  isExecutable = true;
+
+  libraryHaskellDepends = with haskellPackages; [
+    base
+    bytestring
+    array
+    split
+    scientific
+    parsec
+    ansi-terminal
+    regex-compat
+    containers
+    terminal-size
+    numbers
+    text
+    time
+  ];
+
+  description = "The most beautiful command line calculator";
+  homepage = "https://kary.us/nota";
+  license = lib.licenses.mpl20;
+  maintainers = with lib.maintainers; [ dtzWill ];
+}
diff --git a/pkgs/applications/search/doodle/default.nix b/pkgs/applications/search/doodle/default.nix
index ba9fbee5d96..9d1da21492a 100644
--- a/pkgs/applications/search/doodle/default.nix
+++ b/pkgs/applications/search/doodle/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libextractor, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "doodle-0.7.0";
+  name = "doodle-0.7.1";
 
   buildInputs = [ libextractor gettext ];
 
   src = fetchurl {
     url = "https://grothoff.org/christian/doodle/download/${name}.tar.gz";
-    sha256 = "0ayx5q7chzll9sv3miq35xl36r629cvgdzphf379kxzlzhjldy3j";
+    sha256 = "086va4q8swiablv5x72yikrdh5swhy7kzmg5wlszi5a7vjya29xw";
   };
 
   meta = {
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index d57ffd75d7f..2e99ca666dc 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -46,7 +46,7 @@ let
   gitFull = gitBase.override {
     svnSupport = true;
     guiSupport = true;
-    sendEmailSupport = !stdenv.isDarwin;
+    sendEmailSupport = true;
     withLibsecret = !stdenv.isDarwin;
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index 969ea7cc2fa..54543bb4841 100644
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-subrepo";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "ingydotnet";
     repo = "git-subrepo";
     rev = version;
-    sha256 = "05m2dm9gq2nggwnxxdyq2kjj584sn2lxk66pr1qhjxnk81awj9l7";
+    sha256 = "0n10qnc8kyms6cv65k1n5xa9nnwpwbjn9h2cq47llxplawzqgrvp";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index 94753275b61..9b77690868b 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
   patchPhase = ''
-    sed -i "s|local daemon=.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh
+    sed -i "1i GITSTATUS_DAEMON=$out/bin/gitstatusd" gitstatus.plugin.zsh
   '';
   installPhase = ''
     install -Dm755 gitstatusd $out/bin/gitstatusd
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 4d5814548ff..2bd1f6434b7 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.10.2";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "04ksalhpf47wzjfhx295kf4rbamxbb3s9946vfda358lm360adic";
+    sha256 = "04jg1b0d1fbhnk434dnffc2c118gs084za3m33lxwf5lxzlbbimc";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index be7f0afdc77..3f1aef360ba 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,11 +1,11 @@
 {
-  "version": "12.6.2",
-  "repo_hash": "0bchamvr3f0ph49f7xa76gsp2mjj1ajy4q0wy1hjvr9bayxx94av",
+  "version": "12.6.4",
+  "repo_hash": "0jsww785bxvjdrp1wsz6zkvx9zr69j24bway6nfyjkz8a7vbl9ls",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v12.6.2-ee",
+  "rev": "v12.6.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83",
+    "GITALY_SERVER_VERSION": "1.77.1",
     "GITLAB_PAGES_VERSION": "1.12.0",
     "GITLAB_SHELL_VERSION": "10.3.0",
     "GITLAB_WORKHORSE_VERSION": "8.18.0"
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index fa2154c4472..36859892e8c 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -51,6 +51,7 @@ let
     # One of the patches uses this variable - if it's unset, execution
     # of rake tasks fails.
     GITLAB_LOG_PATH = "log";
+    FOSS_ONLY = !gitlabEnterprise;
 
     configurePhase = ''
       runHook preConfigure
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 97d7404de8b..a4b4540e87a 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,14 +17,14 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83";
+  version = "1.77.1";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
-    rev = version;
-    sha256 = "1pxmhq1nrc8q2kk83bz5afx14hshqgzqm6j4vgmyjvbmdvgl80wv";
+    rev = "v${version}";
+    sha256 = "08xc9lxlvga36yq1wdvb1h4zk70c36qspyd7azhkw84kzwfrif1c";
   };
 
   # Fix a check which assumes that hook files are writeable by their
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index b6f57297c07..2c4a5f2e816 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -327,7 +327,7 @@ group :metrics do
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~> 0.9.10'
+  gem 'prometheus-client-mmap', '~> 0.10.0'
   gem 'raindrops', '~> 0.18'
 end
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 0e322705862..57e428ca955 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -531,8 +531,8 @@ GEM
       regexp_parser (~> 1.1)
       regexp_property_values (~> 0.3)
     json (1.8.6)
-    json-jwt (1.9.4)
-      activesupport
+    json-jwt (1.11.0)
+      activesupport (>= 4.2)
       aes_key_wrap
       bindata
     json-schema (2.8.0)
@@ -746,7 +746,7 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.9.10)
+    prometheus-client-mmap (0.10.0)
     pry (0.11.3)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
@@ -1283,7 +1283,7 @@ DEPENDENCIES
   peek (~> 1.1)
   pg (~> 1.1)
   premailer-rails (~> 1.10.3)
-  prometheus-client-mmap (~> 0.9.10)
+  prometheus-client-mmap (~> 0.10.0)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   rack (~> 2.0.7)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 55cdfaa16b9..854178ffbe3 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -2326,10 +2326,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r";
+      sha256 = "18rf9v20i0dk5dblr7m22di959xpch2h7gsx0cl585cryr7apwp3";
       type = "gem";
     };
-    version = "1.9.4";
+    version = "1.11.0";
   };
   json-schema = {
     dependencies = ["addressable"];
@@ -3365,10 +3365,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0immyg4as0isyj2dcjf44n0avg1jv5kx1qk0asrgb5ayzwmjqg1k";
+      sha256 = "00d2c79xhz5k3fcclarjr1ffxbrvc6236f4rrvriad9kwqr7c1mp";
       type = "gem";
     };
-    version = "0.9.10";
+    version = "0.10.0";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index fc2b4aaf3cb..4736dedcb84 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "41.0.0";
+  version = "42.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0p9mwhc6smchwikxbslgk7a2f3hfccaih09xfhricb80d97jz218";
+    sha256 = "0bjb1cx1sj61yhpraqryhxma4wiz0yl3asnbsv9hvq730v07hg0b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index c333790d6a6..0ea042c1314 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -234,7 +234,7 @@ in stdenv.mkDerivation rec {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ma27 tadeokondrak ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index 7e8dbf33a7b..4bb03aa4ac3 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.25.0";
+  version = "1.25.1";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zlprmsgmj4z627snsl0qmq8y7ggcyqrqm5vxvrvcigl7zywnprc";
+    sha256 = "003rb5hp8plb3yvv0x5dwzz13gdvq91nvrvx29d41h97n1lklw67";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/window-managers/sway/lock-fancy.nix b/pkgs/applications/window-managers/sway/lock-fancy.nix
index 6dd8db0f45b..aa2db698f74 100644
--- a/pkgs/applications/window-managers/sway/lock-fancy.nix
+++ b/pkgs/applications/window-managers/sway/lock-fancy.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "Big-B";
-    repo = pname;
+    repo = "swaylock-fancy";
     rev = "35618ceec70338047355b6b057825e68f16971b5";
     sha256 = "06fjqwblmj0d9pq6y11rr73mizirna4ixy6xkvblf1c7sn5n8lpc";
   };
diff --git a/pkgs/applications/window-managers/way-cooler/bar.diff b/pkgs/applications/window-managers/way-cooler/bar.diff
deleted file mode 100644
index e60ebabe983..00000000000
--- a/pkgs/applications/window-managers/way-cooler/bar.diff
+++ /dev/null
@@ -1,37 +0,0 @@
---- bar.py.txt.orig	2017-12-05 18:10:20.108569182 +0300
-+++ ./bar.py.txt	2017-12-10 21:42:10.622781945 +0300
-@@ -5,6 +5,7 @@ import datetime
- import json
- from time import sleep
- from pydbus import SessionBus
-+from glob import glob
- 
- BUS = SessionBus()
- LAYOUT = BUS.get(bus_name='org.way-cooler', object_path='/org/way_cooler/Layout')
-@@ -32,7 +33,7 @@ def main():
-             output += func()
-         print(output)
-         sys.stdout.flush()
--        sleep(.1)
-+        sleep(1)
- 
- def get_workspaces(layout_json):
-     """Gets the workspace names from the layout json"""
-@@ -49,9 +50,14 @@ def get_time():
-     return datetime.datetime.now().strftime('  %a %b %d  %H:%M  ')
- 
- def get_battery():
--    with open("/sys/class/power_supply/BAT0/capacity", "r") as f:
--        bat = f.readlines()
--    return bat[0].strip() + "% Battery"
-+    try:
-+        [path] = glob("/sys/class/power_supply/BAT?/capacity")
-+        with open(path, "r") as f:
-+            bat = f.readlines()
-+            result = bat[0].strip() + "% Battery"
-+    except Exception:
-+        result = ""
-+    return result
- 
- def format_workspaces(layout, workspaces, active_workspace):
-     workspaces = "  " + workspaces.replace(" ", "  ") + "  "
diff --git a/pkgs/applications/window-managers/way-cooler/crates-io.nix b/pkgs/applications/window-managers/way-cooler/crates-io.nix
deleted file mode 100644
index 01638c6332c..00000000000
--- a/pkgs/applications/window-managers/way-cooler/crates-io.nix
+++ /dev/null
@@ -1,3004 +0,0 @@
-{ lib, buildRustCrate, buildRustCrateHelpers }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-rec {
-
-# aho-corasick-0.5.3
-
-  crates.aho_corasick."0.5.3" = deps: { features?(features_.aho_corasick."0.5.3" deps {}) }: buildRustCrate {
-    crateName = "aho-corasick";
-    version = "0.5.3";
-    description = "Fast multiple substring searching with finite state machines.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-    libName = "aho_corasick";
-    crateBin =
-      [{  name = "aho-corasick-dot"; }];
-    dependencies = mapFeatures features ([
-      (crates."memchr"."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
-    ]);
-  };
-  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f ({
-    aho_corasick."0.5.3".default = (f.aho_corasick."0.5.3".default or true);
-    memchr."${deps.aho_corasick."0.5.3".memchr}".default = true;
-  }) [
-    (features_.memchr."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
-  ];
-
-
-# end
-# bitflags-0.4.0
-
-  crates.bitflags."0.4.0" = deps: { features?(features_.bitflags."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.4.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
-    features = mkFeatures (features."bitflags"."0.4.0" or {});
-  };
-  features_.bitflags."0.4.0" = deps: f: updateFeatures f ({
-    bitflags."0.4.0".default = (f.bitflags."0.4.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.6.0
-
-  crates.bitflags."0.6.0" = deps: { features?(features_.bitflags."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.6.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
-  };
-  features_.bitflags."0.6.0" = deps: f: updateFeatures f ({
-    bitflags."0.6.0".default = (f.bitflags."0.6.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.7.0
-
-  crates.bitflags."0.7.0" = deps: { features?(features_.bitflags."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-  };
-  features_.bitflags."0.7.0" = deps: f: updateFeatures f ({
-    bitflags."0.7.0".default = (f.bitflags."0.7.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.9.1
-
-  crates.bitflags."0.9.1" = deps: { features?(features_.bitflags."0.9.1" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.9.1";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-    features = mkFeatures (features."bitflags"."0.9.1" or {});
-  };
-  features_.bitflags."0.9.1" = deps: f: updateFeatures f (rec {
-    bitflags = fold recursiveUpdate {} [
-      { "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); }
-      { "0.9.1".default = (f.bitflags."0.9.1".default or true); }
-    ];
-  }) [];
-
-
-# end
-# bitflags-1.0.4
-
-  crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "1.0.4";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08";
-    features = mkFeatures (features."bitflags"."1.0.4" or {});
-  };
-  features_.bitflags."1.0.4" = deps: f: updateFeatures f ({
-    bitflags."1.0.4".default = (f.bitflags."1.0.4".default or true);
-  }) [];
-
-
-# end
-# c_vec-1.2.1
-
-  crates.c_vec."1.2.1" = deps: { features?(features_.c_vec."1.2.1" deps {}) }: buildRustCrate {
-    crateName = "c_vec";
-    version = "1.2.1";
-    description = "Structures to wrap C arrays";
-    authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
-    sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
-  };
-  features_.c_vec."1.2.1" = deps: f: updateFeatures f ({
-    c_vec."1.2.1".default = (f.c_vec."1.2.1".default or true);
-  }) [];
-
-
-# end
-# cairo-rs-0.2.0
-
-  crates.cairo_rs."0.2.0" = deps: { features?(features_.cairo_rs."0.2.0" deps {}) }: buildRustCrate {
-    crateName = "cairo-rs";
-    version = "0.2.0";
-    description = "Rust bindings for the Cairo library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "0bcbhbyips15b7la4r43p4x57jv1w2ll8iwg9lxwvzz5k6c7iwvd";
-    libName = "cairo";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."c_vec"."${deps."cairo_rs"."0.2.0"."c_vec"}" deps)
-      (crates."cairo_sys_rs"."${deps."cairo_rs"."0.2.0"."cairo_sys_rs"}" deps)
-      (crates."libc"."${deps."cairo_rs"."0.2.0"."libc"}" deps)
-    ]
-      ++ (if features.cairo_rs."0.2.0".glib or false then [ (crates.glib."${deps."cairo_rs"."0.2.0".glib}" deps) ] else [])
-      ++ (if features.cairo_rs."0.2.0".glib-sys or false then [ (crates.glib_sys."${deps."cairo_rs"."0.2.0".glib_sys}" deps) ] else []))
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."cairo_rs"."0.2.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."cairo_rs"."0.2.0" or {});
-  };
-  features_.cairo_rs."0.2.0" = deps: f: updateFeatures f (rec {
-    c_vec."${deps.cairo_rs."0.2.0".c_vec}".default = true;
-    cairo_rs = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.2.0".default = (f.cairo_rs."0.2.0".default or true); }
-    ];
-    cairo_sys_rs = fold recursiveUpdate {} [
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."png" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."png" or false) ||
-        (cairo_rs."0.2.0"."png" or false) ||
-        (f."cairo_rs"."0.2.0"."png" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."v1_12" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."v1_12" or false) ||
-        (cairo_rs."0.2.0"."v1_12" or false) ||
-        (f."cairo_rs"."0.2.0"."v1_12" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."xcb" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."xcb" or false) ||
-        (cairo_rs."0.2.0"."xcb" or false) ||
-        (f."cairo_rs"."0.2.0"."xcb" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}".default = true; }
-    ];
-    glib."${deps.cairo_rs."0.2.0".glib}".default = true;
-    glib_sys."${deps.cairo_rs."0.2.0".glib_sys}".default = true;
-    libc."${deps.cairo_rs."0.2.0".libc}".default = true;
-    winapi."${deps.cairo_rs."0.2.0".winapi}".default = true;
-  }) [
-    (features_.c_vec."${deps."cairo_rs"."0.2.0"."c_vec"}" deps)
-    (features_.cairo_sys_rs."${deps."cairo_rs"."0.2.0"."cairo_sys_rs"}" deps)
-    (features_.glib."${deps."cairo_rs"."0.2.0"."glib"}" deps)
-    (features_.glib_sys."${deps."cairo_rs"."0.2.0"."glib_sys"}" deps)
-    (features_.libc."${deps."cairo_rs"."0.2.0"."libc"}" deps)
-    (features_.winapi."${deps."cairo_rs"."0.2.0"."winapi"}" deps)
-  ];
-
-
-# end
-# cairo-sys-rs-0.4.0
-
-  crates.cairo_sys_rs."0.4.0" = deps: { features?(features_.cairo_sys_rs."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "cairo-sys-rs";
-    version = "0.4.0";
-    description = "FFI bindings to libcairo";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "062nxihlydci65pyy2ldn7djkc9sm7a5xvkl8pxrsxfxvfapm5br";
-    libName = "cairo_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."cairo_sys_rs"."0.4.0"."libc"}" deps)
-    ])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."cairo_sys_rs"."0.4.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."cairo_sys_rs"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."cairo_sys_rs"."0.4.0" or {});
-  };
-  features_.cairo_sys_rs."0.4.0" = deps: f: updateFeatures f (rec {
-    cairo_sys_rs = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "0.4.0".default = (f.cairo_sys_rs."0.4.0".default or true); }
-    ];
-    libc."${deps.cairo_sys_rs."0.4.0".libc}".default = true;
-    pkg_config."${deps.cairo_sys_rs."0.4.0".pkg_config}".default = true;
-    winapi."${deps.cairo_sys_rs."0.4.0".winapi}".default = true;
-  }) [
-    (features_.libc."${deps."cairo_sys_rs"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."cairo_sys_rs"."0.4.0"."pkg_config"}" deps)
-    (features_.winapi."${deps."cairo_sys_rs"."0.4.0"."winapi"}" deps)
-  ];
-
-
-# end
-# cc-1.0.25
-
-  crates.cc."1.0.25" = deps: { features?(features_.cc."1.0.25" deps {}) }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.25";
-    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0pd8fhjlpr5qan984frkf1c8nxrqp6827wmmfzhm2840229z2hq0";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."cc"."1.0.25" or {});
-  };
-  features_.cc."1.0.25" = deps: f: updateFeatures f (rec {
-    cc = fold recursiveUpdate {} [
-      { "1.0.25"."rayon" =
-        (f.cc."1.0.25"."rayon" or false) ||
-        (f.cc."1.0.25".parallel or false) ||
-        (cc."1.0.25"."parallel" or false); }
-      { "1.0.25".default = (f.cc."1.0.25".default or true); }
-    ];
-  }) [];
-
-
-# end
-# cfg-if-0.1.6
-
-  crates.cfg_if."0.1.6" = deps: { features?(features_.cfg_if."0.1.6" deps {}) }: buildRustCrate {
-    crateName = "cfg-if";
-    version = "0.1.6";
-    description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11qrix06wagkplyk908i3423ps9m9np6c4vbcq81s9fyl244xv3n";
-  };
-  features_.cfg_if."0.1.6" = deps: f: updateFeatures f ({
-    cfg_if."0.1.6".default = (f.cfg_if."0.1.6".default or true);
-  }) [];
-
-
-# end
-# cloudabi-0.0.3
-
-  crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate {
-    crateName = "cloudabi";
-    version = "0.0.3";
-    description = "Low level interface to CloudABI. Contains all syscalls and related types.";
-    authors = [ "Nuxi (https://nuxi.nl/) and contributors" ];
-    sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5";
-    libPath = "cloudabi.rs";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else []));
-    features = mkFeatures (features."cloudabi"."0.0.3" or {});
-  };
-  features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true;
-    cloudabi = fold recursiveUpdate {} [
-      { "0.0.3"."bitflags" =
-        (f.cloudabi."0.0.3"."bitflags" or false) ||
-        (f.cloudabi."0.0.3".default or false) ||
-        (cloudabi."0.0.3"."default" or false); }
-      { "0.0.3".default = (f.cloudabi."0.0.3".default or true); }
-    ];
-  }) [
-    (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps)
-  ];
-
-
-# end
-# dbus-0.4.1
-
-  crates.dbus."0.4.1" = deps: { features?(features_.dbus."0.4.1" deps {}) }: buildRustCrate {
-    crateName = "dbus";
-    version = "0.4.1";
-    description = "Bindings to D-Bus, which is a bus commonly used on Linux for inter-process communication.";
-    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-    sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."dbus"."0.4.1"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."dbus"."0.4.1"."pkg_config"}" deps)
-    ]);
-  };
-  features_.dbus."0.4.1" = deps: f: updateFeatures f ({
-    dbus."0.4.1".default = (f.dbus."0.4.1".default or true);
-    libc."${deps.dbus."0.4.1".libc}".default = true;
-    pkg_config."${deps.dbus."0.4.1".pkg_config}".default = true;
-  }) [
-    (features_.libc."${deps."dbus"."0.4.1"."libc"}" deps)
-    (features_.pkg_config."${deps."dbus"."0.4.1"."pkg_config"}" deps)
-  ];
-
-
-# end
-# dbus-macros-0.0.6
-
-  crates.dbus_macros."0.0.6" = deps: { features?(features_.dbus_macros."0.0.6" deps {}) }: buildRustCrate {
-    crateName = "dbus-macros";
-    version = "0.0.6";
-    description = "Convenient macros to use the dbus crate";
-    authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
-    sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
-    dependencies = mapFeatures features ([
-      (crates."dbus"."${deps."dbus_macros"."0.0.6"."dbus"}" deps)
-    ]);
-  };
-  features_.dbus_macros."0.0.6" = deps: f: updateFeatures f ({
-    dbus."${deps.dbus_macros."0.0.6".dbus}".default = true;
-    dbus_macros."0.0.6".default = (f.dbus_macros."0.0.6".default or true);
-  }) [
-    (features_.dbus."${deps."dbus_macros"."0.0.6"."dbus"}" deps)
-  ];
-
-
-# end
-# dlib-0.3.1
-
-  crates.dlib."0.3.1" = deps: { features?(features_.dlib."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.3.1";
-    description = "Helper macros for handling manually loading optionnal system libraries.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-    dependencies = mapFeatures features ([
-      (crates."libloading"."${deps."dlib"."0.3.1"."libloading"}" deps)
-    ]);
-    features = mkFeatures (features."dlib"."0.3.1" or {});
-  };
-  features_.dlib."0.3.1" = deps: f: updateFeatures f ({
-    dlib."0.3.1".default = (f.dlib."0.3.1".default or true);
-    libloading."${deps.dlib."0.3.1".libloading}".default = true;
-  }) [
-    (features_.libloading."${deps."dlib"."0.3.1"."libloading"}" deps)
-  ];
-
-
-# end
-# dlib-0.4.1
-
-  crates.dlib."0.4.1" = deps: { features?(features_.dlib."0.4.1" deps {}) }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.4.1";
-    description = "Helper macros for handling manually loading optional system libraries.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0h5xm6lanbl6v9y16g592bia33g7xb0n0fg98pvz6nsvg0layxlk";
-    dependencies = mapFeatures features ([
-      (crates."libloading"."${deps."dlib"."0.4.1"."libloading"}" deps)
-    ]);
-    features = mkFeatures (features."dlib"."0.4.1" or {});
-  };
-  features_.dlib."0.4.1" = deps: f: updateFeatures f ({
-    dlib."0.4.1".default = (f.dlib."0.4.1".default or true);
-    libloading."${deps.dlib."0.4.1".libloading}".default = true;
-  }) [
-    (features_.libloading."${deps."dlib"."0.4.1"."libloading"}" deps)
-  ];
-
-
-# end
-# dtoa-0.4.3
-
-  crates.dtoa."0.4.3" = deps: { features?(features_.dtoa."0.4.3" deps {}) }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.3";
-    description = "Fast functions for printing floating-point primitives to an io::Write";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1xysdxdm24sk5ysim7lps4r2qaxfnj0sbakhmps4d42yssx30cw8";
-  };
-  features_.dtoa."0.4.3" = deps: f: updateFeatures f ({
-    dtoa."0.4.3".default = (f.dtoa."0.4.3".default or true);
-  }) [];
-
-
-# end
-# dummy-rustwlc-0.7.1
-
-  crates.dummy_rustwlc."0.7.1" = deps: { features?(features_.dummy_rustwlc."0.7.1" deps {}) }: buildRustCrate {
-    crateName = "dummy-rustwlc";
-    version = "0.7.1";
-    description = "A dummy version of the functions defined in rust-wlc, to be used in testing and for travis builds";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
-    sha256 = "13priwnxpjvmym6yh9v9x1230ca04cba7bzbnn21pbvqngis1y88";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."dummy_rustwlc"."0.7.1"."bitflags"}" deps)
-      (crates."libc"."${deps."dummy_rustwlc"."0.7.1"."libc"}" deps)
-      (crates."wayland_sys"."${deps."dummy_rustwlc"."0.7.1"."wayland_sys"}" deps)
-    ]);
-  };
-  features_.dummy_rustwlc."0.7.1" = deps: f: updateFeatures f ({
-    bitflags."${deps.dummy_rustwlc."0.7.1".bitflags}".default = true;
-    dummy_rustwlc."0.7.1".default = (f.dummy_rustwlc."0.7.1".default or true);
-    libc."${deps.dummy_rustwlc."0.7.1".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}"."dlopen" = true; }
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}"."server" = true; }
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."dummy_rustwlc"."0.7.1"."bitflags"}" deps)
-    (features_.libc."${deps."dummy_rustwlc"."0.7.1"."libc"}" deps)
-    (features_.wayland_sys."${deps."dummy_rustwlc"."0.7.1"."wayland_sys"}" deps)
-  ];
-
-
-# end
-# env_logger-0.3.5
-
-  crates.env_logger."0.3.5" = deps: { features?(features_.env_logger."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "env_logger";
-    version = "0.3.5";
-    description = "An logging implementation for `log` which is configured via an environment\nvariable.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
-    dependencies = mapFeatures features ([
-      (crates."log"."${deps."env_logger"."0.3.5"."log"}" deps)
-    ]
-      ++ (if features.env_logger."0.3.5".regex or false then [ (crates.regex."${deps."env_logger"."0.3.5".regex}" deps) ] else []));
-    features = mkFeatures (features."env_logger"."0.3.5" or {});
-  };
-  features_.env_logger."0.3.5" = deps: f: updateFeatures f (rec {
-    env_logger = fold recursiveUpdate {} [
-      { "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); }
-      { "0.3.5".default = (f.env_logger."0.3.5".default or true); }
-    ];
-    log."${deps.env_logger."0.3.5".log}".default = true;
-    regex."${deps.env_logger."0.3.5".regex}".default = true;
-  }) [
-    (features_.log."${deps."env_logger"."0.3.5"."log"}" deps)
-    (features_.regex."${deps."env_logger"."0.3.5"."regex"}" deps)
-  ];
-
-
-# end
-# fixedbitset-0.1.9
-
-  crates.fixedbitset."0.1.9" = deps: { features?(features_.fixedbitset."0.1.9" deps {}) }: buildRustCrate {
-    crateName = "fixedbitset";
-    version = "0.1.9";
-    description = "FixedBitSet is a simple bitset collection";
-    authors = [ "bluss" ];
-    sha256 = "1bkb5aq7h9p4rzlgxagnda1f0dd11q0qz41bmdy11z18q1p8igy1";
-  };
-  features_.fixedbitset."0.1.9" = deps: f: updateFeatures f ({
-    fixedbitset."0.1.9".default = (f.fixedbitset."0.1.9".default or true);
-  }) [];
-
-
-# end
-# fuchsia-zircon-0.3.3
-
-  crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.3.3";
-    description = "Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-    ]);
-  };
-  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f ({
-    bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
-    fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
-    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
-  }) [
-    (features_.bitflags."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-  ];
-
-
-# end
-# fuchsia-zircon-sys-0.3.3
-
-  crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.3.3";
-    description = "Low-level Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
-  };
-  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f ({
-    fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
-  }) [];
-
-
-# end
-# gcc-0.3.55
-
-  crates.gcc."0.3.55" = deps: { features?(features_.gcc."0.3.55" deps {}) }: buildRustCrate {
-    crateName = "gcc";
-    version = "0.3.55";
-    description = "**Deprecated** crate, renamed to `cc`\n\nA build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "18qxv3hjdhp7pfcvbm2hvyicpgmk7xw8aii1l7fla8cxxbcrg2nz";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."gcc"."0.3.55" or {});
-  };
-  features_.gcc."0.3.55" = deps: f: updateFeatures f (rec {
-    gcc = fold recursiveUpdate {} [
-      { "0.3.55"."rayon" =
-        (f.gcc."0.3.55"."rayon" or false) ||
-        (f.gcc."0.3.55".parallel or false) ||
-        (gcc."0.3.55"."parallel" or false); }
-      { "0.3.55".default = (f.gcc."0.3.55".default or true); }
-    ];
-  }) [];
-
-
-# end
-# gdk-pixbuf-0.2.0
-
-  crates.gdk_pixbuf."0.2.0" = deps: { features?(features_.gdk_pixbuf."0.2.0" deps {}) }: buildRustCrate {
-    crateName = "gdk-pixbuf";
-    version = "0.2.0";
-    description = "Rust bindings for the GdkPixbuf library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "082z1s30haa59ax35wsv06mj8z8bhhq0fac36g01qa77kpiphj5y";
-    libName = "gdk_pixbuf";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."gdk_pixbuf_sys"."${deps."gdk_pixbuf"."0.2.0"."gdk_pixbuf_sys"}" deps)
-      (crates."glib"."${deps."gdk_pixbuf"."0.2.0"."glib"}" deps)
-      (crates."glib_sys"."${deps."gdk_pixbuf"."0.2.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gdk_pixbuf"."0.2.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gdk_pixbuf"."0.2.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."gdk_pixbuf"."0.2.0" or {});
-  };
-  features_.gdk_pixbuf."0.2.0" = deps: f: updateFeatures f (rec {
-    gdk_pixbuf = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.2.0".default = (f.gdk_pixbuf."0.2.0".default or true); }
-    ];
-    gdk_pixbuf_sys = fold recursiveUpdate {} [
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_28" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_28" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_28" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_28" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_30" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_30" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_30" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_30" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_32" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_32" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_32" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_32" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_36" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_36" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_36" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_36" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}".default = true; }
-    ];
-    glib."${deps.gdk_pixbuf."0.2.0".glib}".default = true;
-    glib_sys."${deps.gdk_pixbuf."0.2.0".glib_sys}".default = true;
-    gobject_sys."${deps.gdk_pixbuf."0.2.0".gobject_sys}".default = true;
-    libc."${deps.gdk_pixbuf."0.2.0".libc}".default = true;
-  }) [
-    (features_.gdk_pixbuf_sys."${deps."gdk_pixbuf"."0.2.0"."gdk_pixbuf_sys"}" deps)
-    (features_.glib."${deps."gdk_pixbuf"."0.2.0"."glib"}" deps)
-    (features_.glib_sys."${deps."gdk_pixbuf"."0.2.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gdk_pixbuf"."0.2.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gdk_pixbuf"."0.2.0"."libc"}" deps)
-  ];
-
-
-# end
-# gdk-pixbuf-sys-0.4.0
-
-  crates.gdk_pixbuf_sys."0.4.0" = deps: { features?(features_.gdk_pixbuf_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gdk-pixbuf-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgdk_pixbuf-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "1r98zdqqik3hh1l10jmhhcjx59yk4m0bs9pc7hnkwp2p6gm968vp";
-    libName = "gdk_pixbuf_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gdk_pixbuf_sys"."0.4.0"."bitflags"}" deps)
-      (crates."gio_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."gio_sys"}" deps)
-      (crates."glib_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gdk_pixbuf_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gdk_pixbuf_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gdk_pixbuf_sys"."0.4.0" or {});
-  };
-  features_.gdk_pixbuf_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gdk_pixbuf_sys."0.4.0".bitflags}".default = true;
-    gdk_pixbuf_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.4.0".default = (f.gdk_pixbuf_sys."0.4.0".default or true); }
-    ];
-    gio_sys."${deps.gdk_pixbuf_sys."0.4.0".gio_sys}".default = true;
-    glib_sys."${deps.gdk_pixbuf_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys."${deps.gdk_pixbuf_sys."0.4.0".gobject_sys}".default = true;
-    libc."${deps.gdk_pixbuf_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gdk_pixbuf_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gdk_pixbuf_sys"."0.4.0"."bitflags"}" deps)
-    (features_.gio_sys."${deps."gdk_pixbuf_sys"."0.4.0"."gio_sys"}" deps)
-    (features_.glib_sys."${deps."gdk_pixbuf_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gdk_pixbuf_sys"."0.4.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gdk_pixbuf_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gdk_pixbuf_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# getopts-0.2.18
-
-  crates.getopts."0.2.18" = deps: { features?(features_.getopts."0.2.18" deps {}) }: buildRustCrate {
-    crateName = "getopts";
-    version = "0.2.18";
-    description = "getopts-like option parsing.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0c1m95wg8pkvdq4mwcd2v78r1lb6a5s3ljm7158dsl56mvzcwd5y";
-    dependencies = mapFeatures features ([
-      (crates."unicode_width"."${deps."getopts"."0.2.18"."unicode_width"}" deps)
-    ]);
-  };
-  features_.getopts."0.2.18" = deps: f: updateFeatures f ({
-    getopts."0.2.18".default = (f.getopts."0.2.18".default or true);
-    unicode_width."${deps.getopts."0.2.18".unicode_width}".default = true;
-  }) [
-    (features_.unicode_width."${deps."getopts"."0.2.18"."unicode_width"}" deps)
-  ];
-
-
-# end
-# gio-sys-0.4.0
-
-  crates.gio_sys."0.4.0" = deps: { features?(features_.gio_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gio-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgio-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "064lv6h3qfgjzc6pbbxgln24b2fq9gxzh78z6d7fwfa97azllv2l";
-    libName = "gio_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gio_sys"."0.4.0"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."gio_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gio_sys"."0.4.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gio_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gio_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gio_sys"."0.4.0" or {});
-  };
-  features_.gio_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gio_sys."0.4.0".bitflags}".default = true;
-    gio_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.4.0".default = (f.gio_sys."0.4.0".default or true); }
-    ];
-    glib_sys."${deps.gio_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys."${deps.gio_sys."0.4.0".gobject_sys}".default = true;
-    libc."${deps.gio_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gio_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gio_sys"."0.4.0"."bitflags"}" deps)
-    (features_.glib_sys."${deps."gio_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gio_sys"."0.4.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gio_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gio_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# glib-0.3.1
-
-  crates.glib."0.3.1" = deps: { features?(features_.glib."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "glib";
-    version = "0.3.1";
-    description = "Rust bindings for the GLib library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "00s3n0pd8by1fk2l01mxmbnqq4ff6wadnkcf9jbjvr1l9bzgyqbl";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."glib"."0.3.1"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."glib"."0.3.1"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."glib"."0.3.1"."gobject_sys"}" deps)
-      (crates."lazy_static"."${deps."glib"."0.3.1"."lazy_static"}" deps)
-      (crates."libc"."${deps."glib"."0.3.1"."libc"}" deps)
-    ]);
-    features = mkFeatures (features."glib"."0.3.1" or {});
-  };
-  features_.glib."0.3.1" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.glib."0.3.1".bitflags}".default = true;
-    glib = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.3.1".default = (f.glib."0.3.1".default or true); }
-    ];
-    glib_sys = fold recursiveUpdate {} [
-      { "${deps.glib."0.3.1".glib_sys}"."v2_34" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_34" or false) ||
-        (glib."0.3.1"."v2_34" or false) ||
-        (f."glib"."0.3.1"."v2_34" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_38" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_38" or false) ||
-        (glib."0.3.1"."v2_38" or false) ||
-        (f."glib"."0.3.1"."v2_38" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_40" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_40" or false) ||
-        (glib."0.3.1"."v2_40" or false) ||
-        (f."glib"."0.3.1"."v2_40" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_44" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_44" or false) ||
-        (glib."0.3.1"."v2_44" or false) ||
-        (f."glib"."0.3.1"."v2_44" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_46" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_46" or false) ||
-        (glib."0.3.1"."v2_46" or false) ||
-        (f."glib"."0.3.1"."v2_46" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_48" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_48" or false) ||
-        (glib."0.3.1"."v2_48" or false) ||
-        (f."glib"."0.3.1"."v2_48" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_50" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_50" or false) ||
-        (glib."0.3.1"."v2_50" or false) ||
-        (f."glib"."0.3.1"."v2_50" or false); }
-      { "${deps.glib."0.3.1".glib_sys}".default = true; }
-    ];
-    gobject_sys = fold recursiveUpdate {} [
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_34" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_34" or false) ||
-        (glib."0.3.1"."v2_34" or false) ||
-        (f."glib"."0.3.1"."v2_34" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_38" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_38" or false) ||
-        (glib."0.3.1"."v2_38" or false) ||
-        (f."glib"."0.3.1"."v2_38" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_44" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_44" or false) ||
-        (glib."0.3.1"."v2_44" or false) ||
-        (f."glib"."0.3.1"."v2_44" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_46" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_46" or false) ||
-        (glib."0.3.1"."v2_46" or false) ||
-        (f."glib"."0.3.1"."v2_46" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}".default = true; }
-    ];
-    lazy_static."${deps.glib."0.3.1".lazy_static}".default = true;
-    libc."${deps.glib."0.3.1".libc}".default = true;
-  }) [
-    (features_.bitflags."${deps."glib"."0.3.1"."bitflags"}" deps)
-    (features_.glib_sys."${deps."glib"."0.3.1"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."glib"."0.3.1"."gobject_sys"}" deps)
-    (features_.lazy_static."${deps."glib"."0.3.1"."lazy_static"}" deps)
-    (features_.libc."${deps."glib"."0.3.1"."libc"}" deps)
-  ];
-
-
-# end
-# glib-sys-0.4.0
-
-  crates.glib_sys."0.4.0" = deps: { features?(features_.glib_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "glib-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libglib-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "153i1zmk824hdf8agkaqcgddlwpvgng71n7bdpaav5f4zzlfyp2w";
-    libName = "glib_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."glib_sys"."0.4.0"."bitflags"}" deps)
-      (crates."libc"."${deps."glib_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."glib_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."glib_sys"."0.4.0" or {});
-  };
-  features_.glib_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.glib_sys."0.4.0".bitflags}".default = true;
-    glib_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.4.0".default = (f.glib_sys."0.4.0".default or true); }
-    ];
-    libc."${deps.glib_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.glib_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."glib_sys"."0.4.0"."bitflags"}" deps)
-    (features_.libc."${deps."glib_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."glib_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# gobject-sys-0.4.0
-
-  crates.gobject_sys."0.4.0" = deps: { features?(features_.gobject_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gobject-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgobject-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "00zmcbzqfhn9w01cphhf3hbq8ldd9ajba7x07z59vv1gdq6wjzli";
-    libName = "gobject_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gobject_sys"."0.4.0"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."gobject_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."libc"."${deps."gobject_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gobject_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gobject_sys"."0.4.0" or {});
-  };
-  features_.gobject_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gobject_sys."0.4.0".bitflags}".default = true;
-    glib_sys."${deps.gobject_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.4.0".default = (f.gobject_sys."0.4.0".default or true); }
-    ];
-    libc."${deps.gobject_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gobject_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gobject_sys"."0.4.0"."bitflags"}" deps)
-    (features_.glib_sys."${deps."gobject_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.libc."${deps."gobject_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gobject_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# itoa-0.3.4
-
-  crates.itoa."0.3.4" = deps: { features?(features_.itoa."0.3.4" deps {}) }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.3.4";
-    description = "Fast functions for printing integer primitives to an io::Write";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-    features = mkFeatures (features."itoa"."0.3.4" or {});
-  };
-  features_.itoa."0.3.4" = deps: f: updateFeatures f ({
-    itoa."0.3.4".default = (f.itoa."0.3.4".default or true);
-  }) [];
-
-
-# end
-# json_macro-0.1.1
-
-  crates.json_macro."0.1.1" = deps: { features?(features_.json_macro."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "json_macro";
-    version = "0.1.1";
-    description = "Pure json macro for rust_serialize. No need compiler features.";
-    authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
-    sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
-    dependencies = mapFeatures features ([
-      (crates."rustc_serialize"."${deps."json_macro"."0.1.1"."rustc_serialize"}" deps)
-    ]);
-  };
-  features_.json_macro."0.1.1" = deps: f: updateFeatures f ({
-    json_macro."0.1.1".default = (f.json_macro."0.1.1".default or true);
-    rustc_serialize."${deps.json_macro."0.1.1".rustc_serialize}".default = true;
-  }) [
-    (features_.rustc_serialize."${deps."json_macro"."0.1.1"."rustc_serialize"}" deps)
-  ];
-
-
-# end
-# kernel32-sys-0.2.2
-
-  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-    ]);
-  };
-  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f ({
-    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
-    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
-    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
-  }) [
-    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-  ];
-
-
-# end
-# lazy_static-0.2.11
-
-  crates.lazy_static."0.2.11" = deps: { features?(features_.lazy_static."0.2.11" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.11";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."0.2.11" or {});
-  };
-  features_.lazy_static."0.2.11" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.2.11".default = (f.lazy_static."0.2.11".default or true); }
-    ];
-  }) [];
-
-
-# end
-# lazy_static-1.2.0
-
-  crates.lazy_static."1.2.0" = deps: { features?(features_.lazy_static."1.2.0" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "1.2.0";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "07p3b30k2akyr6xw08ggd5qiz5nw3vd3agggj360fcc1njz7d0ss";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."1.2.0" or {});
-  };
-  features_.lazy_static."1.2.0" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "1.2.0"."spin" =
-        (f.lazy_static."1.2.0"."spin" or false) ||
-        (f.lazy_static."1.2.0".spin_no_std or false) ||
-        (lazy_static."1.2.0"."spin_no_std" or false); }
-      { "1.2.0".default = (f.lazy_static."1.2.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# libc-0.2.44
-
-  crates.libc."0.2.44" = deps: { features?(features_.libc."0.2.44" deps {}) }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.44";
-    description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "17a7p0lcf3qwl1pcxffdflgnx8zr2659mgzzg4zi5fnv1mlj3q6z";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."libc"."0.2.44" or {});
-  };
-  features_.libc."0.2.44" = deps: f: updateFeatures f (rec {
-    libc = fold recursiveUpdate {} [
-      { "0.2.44"."align" =
-        (f.libc."0.2.44"."align" or false) ||
-        (f.libc."0.2.44".rustc-dep-of-std or false) ||
-        (libc."0.2.44"."rustc-dep-of-std" or false); }
-      { "0.2.44"."rustc-std-workspace-core" =
-        (f.libc."0.2.44"."rustc-std-workspace-core" or false) ||
-        (f.libc."0.2.44".rustc-dep-of-std or false) ||
-        (libc."0.2.44"."rustc-dep-of-std" or false); }
-      { "0.2.44"."use_std" =
-        (f.libc."0.2.44"."use_std" or false) ||
-        (f.libc."0.2.44".default or false) ||
-        (libc."0.2.44"."default" or false); }
-      { "0.2.44".default = (f.libc."0.2.44".default or true); }
-    ];
-  }) [];
-
-
-# end
-# libloading-0.3.4
-
-  crates.libloading."0.3.4" = deps: { features?(features_.libloading."0.3.4" deps {}) }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.3.4";
-    description = "A safer binding to platform’s dynamic library loading utilities";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."lazy_static"."${deps."libloading"."0.3.4"."lazy_static"}" deps)
-    ])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."kernel32_sys"."${deps."libloading"."0.3.4"."kernel32_sys"}" deps)
-      (crates."winapi"."${deps."libloading"."0.3.4"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."target_build_utils"."${deps."libloading"."0.3.4"."target_build_utils"}" deps)
-    ]);
-  };
-  features_.libloading."0.3.4" = deps: f: updateFeatures f ({
-    kernel32_sys."${deps.libloading."0.3.4".kernel32_sys}".default = true;
-    lazy_static."${deps.libloading."0.3.4".lazy_static}".default = true;
-    libloading."0.3.4".default = (f.libloading."0.3.4".default or true);
-    target_build_utils."${deps.libloading."0.3.4".target_build_utils}".default = true;
-    winapi."${deps.libloading."0.3.4".winapi}".default = true;
-  }) [
-    (features_.lazy_static."${deps."libloading"."0.3.4"."lazy_static"}" deps)
-    (features_.target_build_utils."${deps."libloading"."0.3.4"."target_build_utils"}" deps)
-    (features_.kernel32_sys."${deps."libloading"."0.3.4"."kernel32_sys"}" deps)
-    (features_.winapi."${deps."libloading"."0.3.4"."winapi"}" deps)
-  ];
-
-
-# end
-# libloading-0.5.0
-
-  crates.libloading."0.5.0" = deps: { features?(features_.libloading."0.5.0" deps {}) }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.5.0";
-    description = "A safer binding to platform’s dynamic library loading utilities";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "11vzjaka1y979aril4ggwp33p35yz2isvx9m5w88r5sdcmq6iscn";
-    build = "build.rs";
-    dependencies = (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."libloading"."0.5.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."cc"."${deps."libloading"."0.5.0"."cc"}" deps)
-    ]);
-  };
-  features_.libloading."0.5.0" = deps: f: updateFeatures f ({
-    cc."${deps.libloading."0.5.0".cc}".default = true;
-    libloading."0.5.0".default = (f.libloading."0.5.0".default or true);
-    winapi = fold recursiveUpdate {} [
-      { "${deps.libloading."0.5.0".winapi}"."errhandlingapi" = true; }
-      { "${deps.libloading."0.5.0".winapi}"."libloaderapi" = true; }
-      { "${deps.libloading."0.5.0".winapi}"."winerror" = true; }
-      { "${deps.libloading."0.5.0".winapi}".default = true; }
-    ];
-  }) [
-    (features_.cc."${deps."libloading"."0.5.0"."cc"}" deps)
-    (features_.winapi."${deps."libloading"."0.5.0"."winapi"}" deps)
-  ];
-
-
-# end
-# log-0.3.9
-
-  crates.log."0.3.9" = deps: { features?(features_.log."0.3.9" deps {}) }: buildRustCrate {
-    crateName = "log";
-    version = "0.3.9";
-    description = "A lightweight logging facade for Rust\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
-    dependencies = mapFeatures features ([
-      (crates."log"."${deps."log"."0.3.9"."log"}" deps)
-    ]);
-    features = mkFeatures (features."log"."0.3.9" or {});
-  };
-  features_.log."0.3.9" = deps: f: updateFeatures f (rec {
-    log = fold recursiveUpdate {} [
-      { "${deps.log."0.3.9".log}"."max_level_debug" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_debug" or false) ||
-        (log."0.3.9"."max_level_debug" or false) ||
-        (f."log"."0.3.9"."max_level_debug" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_error" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_error" or false) ||
-        (log."0.3.9"."max_level_error" or false) ||
-        (f."log"."0.3.9"."max_level_error" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_info" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_info" or false) ||
-        (log."0.3.9"."max_level_info" or false) ||
-        (f."log"."0.3.9"."max_level_info" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_off" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_off" or false) ||
-        (log."0.3.9"."max_level_off" or false) ||
-        (f."log"."0.3.9"."max_level_off" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_trace" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_trace" or false) ||
-        (log."0.3.9"."max_level_trace" or false) ||
-        (f."log"."0.3.9"."max_level_trace" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_warn" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_warn" or false) ||
-        (log."0.3.9"."max_level_warn" or false) ||
-        (f."log"."0.3.9"."max_level_warn" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_debug" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."release_max_level_error" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."release_max_level_info" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."release_max_level_off" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."release_max_level_trace" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."release_max_level_warn" =
-        (f.log."${deps.log."0.3.9".log}"."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); }
-      { "${deps.log."0.3.9".log}"."std" =
-        (f.log."${deps.log."0.3.9".log}"."std" or false) ||
-        (log."0.3.9"."use_std" or false) ||
-        (f."log"."0.3.9"."use_std" or false); }
-      { "${deps.log."0.3.9".log}".default = true; }
-      { "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); }
-      { "0.3.9".default = (f.log."0.3.9".default or true); }
-    ];
-  }) [
-    (features_.log."${deps."log"."0.3.9"."log"}" deps)
-  ];
-
-
-# end
-# log-0.4.6
-
-  crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate {
-    crateName = "log";
-    version = "0.4.6";
-    description = "A lightweight logging facade for Rust\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr";
-    dependencies = mapFeatures features ([
-      (crates."cfg_if"."${deps."log"."0.4.6"."cfg_if"}" deps)
-    ]);
-    features = mkFeatures (features."log"."0.4.6" or {});
-  };
-  features_.log."0.4.6" = deps: f: updateFeatures f ({
-    cfg_if."${deps.log."0.4.6".cfg_if}".default = true;
-    log."0.4.6".default = (f.log."0.4.6".default or true);
-  }) [
-    (features_.cfg_if."${deps."log"."0.4.6"."cfg_if"}" deps)
-  ];
-
-
-# end
-# memchr-0.1.11
-
-  crates.memchr."0.1.11" = deps: { features?(features_.memchr."0.1.11" deps {}) }: buildRustCrate {
-    crateName = "memchr";
-    version = "0.1.11";
-    description = "Safe interface to memchr.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."memchr"."0.1.11"."libc"}" deps)
-    ]);
-  };
-  features_.memchr."0.1.11" = deps: f: updateFeatures f ({
-    libc."${deps.memchr."0.1.11".libc}".default = true;
-    memchr."0.1.11".default = (f.memchr."0.1.11".default or true);
-  }) [
-    (features_.libc."${deps."memchr"."0.1.11"."libc"}" deps)
-  ];
-
-
-# end
-# nix-0.6.0
-
-  crates.nix."0.6.0" = deps: { features?(features_.nix."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "nix";
-    version = "0.6.0";
-    description = "Rust friendly bindings to *nix APIs";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."nix"."0.6.0"."bitflags"}" deps)
-      (crates."cfg_if"."${deps."nix"."0.6.0"."cfg_if"}" deps)
-      (crates."libc"."${deps."nix"."0.6.0"."libc"}" deps)
-      (crates."void"."${deps."nix"."0.6.0"."void"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."rustc_version"."${deps."nix"."0.6.0"."rustc_version"}" deps)
-      (crates."semver"."${deps."nix"."0.6.0"."semver"}" deps)
-    ]);
-    features = mkFeatures (features."nix"."0.6.0" or {});
-  };
-  features_.nix."0.6.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.nix."0.6.0".bitflags}".default = true;
-    cfg_if."${deps.nix."0.6.0".cfg_if}".default = true;
-    libc."${deps.nix."0.6.0".libc}".default = true;
-    nix."0.6.0".default = (f.nix."0.6.0".default or true);
-    rustc_version."${deps.nix."0.6.0".rustc_version}".default = true;
-    semver."${deps.nix."0.6.0".semver}".default = true;
-    void."${deps.nix."0.6.0".void}".default = true;
-  }) [
-    (features_.bitflags."${deps."nix"."0.6.0"."bitflags"}" deps)
-    (features_.cfg_if."${deps."nix"."0.6.0"."cfg_if"}" deps)
-    (features_.libc."${deps."nix"."0.6.0"."libc"}" deps)
-    (features_.void."${deps."nix"."0.6.0"."void"}" deps)
-    (features_.rustc_version."${deps."nix"."0.6.0"."rustc_version"}" deps)
-    (features_.semver."${deps."nix"."0.6.0"."semver"}" deps)
-  ];
-
-
-# end
-# nix-0.9.0
-
-  crates.nix."0.9.0" = deps: { features?(features_.nix."0.9.0" deps {}) }: buildRustCrate {
-    crateName = "nix";
-    version = "0.9.0";
-    description = "Rust friendly bindings to *nix APIs";
-    authors = [ "The nix-rust Project Developers" ];
-    sha256 = "00p63bphzwwn460rja5l2wcpgmv7ljf7illf6n95cppx63d180q0";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."nix"."0.9.0"."bitflags"}" deps)
-      (crates."cfg_if"."${deps."nix"."0.9.0"."cfg_if"}" deps)
-      (crates."libc"."${deps."nix"."0.9.0"."libc"}" deps)
-      (crates."void"."${deps."nix"."0.9.0"."void"}" deps)
-    ]);
-  };
-  features_.nix."0.9.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.nix."0.9.0".bitflags}".default = true;
-    cfg_if."${deps.nix."0.9.0".cfg_if}".default = true;
-    libc."${deps.nix."0.9.0".libc}".default = true;
-    nix."0.9.0".default = (f.nix."0.9.0".default or true);
-    void."${deps.nix."0.9.0".void}".default = true;
-  }) [
-    (features_.bitflags."${deps."nix"."0.9.0"."bitflags"}" deps)
-    (features_.cfg_if."${deps."nix"."0.9.0"."cfg_if"}" deps)
-    (features_.libc."${deps."nix"."0.9.0"."libc"}" deps)
-    (features_.void."${deps."nix"."0.9.0"."void"}" deps)
-  ];
-
-
-# end
-# num-traits-0.1.43
-
-  crates.num_traits."0.1.43" = deps: { features?(features_.num_traits."0.1.43" deps {}) }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.1.43";
-    description = "Numeric traits for generic mathematics";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1zdzx78vrcg3f39w94pqjs1mwxl1phyv7843hwgwkzggwcxhhf6s";
-    dependencies = mapFeatures features ([
-      (crates."num_traits"."${deps."num_traits"."0.1.43"."num_traits"}" deps)
-    ]);
-  };
-  features_.num_traits."0.1.43" = deps: f: updateFeatures f ({
-    num_traits = fold recursiveUpdate {} [
-      { "${deps.num_traits."0.1.43".num_traits}".default = true; }
-      { "0.1.43".default = (f.num_traits."0.1.43".default or true); }
-    ];
-  }) [
-    (features_.num_traits."${deps."num_traits"."0.1.43"."num_traits"}" deps)
-  ];
-
-
-# end
-# num-traits-0.2.6
-
-  crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.2.6";
-    description = "Numeric traits for generic mathematics";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk";
-    build = "build.rs";
-    features = mkFeatures (features."num_traits"."0.2.6" or {});
-  };
-  features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec {
-    num_traits = fold recursiveUpdate {} [
-      { "0.2.6"."std" =
-        (f.num_traits."0.2.6"."std" or false) ||
-        (f.num_traits."0.2.6".default or false) ||
-        (num_traits."0.2.6"."default" or false); }
-      { "0.2.6".default = (f.num_traits."0.2.6".default or true); }
-    ];
-  }) [];
-
-
-# end
-# ordermap-0.3.5
-
-  crates.ordermap."0.3.5" = deps: { features?(features_.ordermap."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "ordermap";
-    version = "0.3.5";
-    description = "A hash table with consistent order and fast iteration.";
-    authors = [ "bluss" ];
-    sha256 = "0b6vxfyh627yqm6war3392g1hhi4dbn49ibx2qv6mv490jdhv7d3";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."ordermap"."0.3.5" or {});
-  };
-  features_.ordermap."0.3.5" = deps: f: updateFeatures f (rec {
-    ordermap = fold recursiveUpdate {} [
-      { "0.3.5"."serde" =
-        (f.ordermap."0.3.5"."serde" or false) ||
-        (f.ordermap."0.3.5".serde-1 or false) ||
-        (ordermap."0.3.5"."serde-1" or false); }
-      { "0.3.5".default = (f.ordermap."0.3.5".default or true); }
-    ];
-  }) [];
-
-
-# end
-# petgraph-0.4.13
-
-  crates.petgraph."0.4.13" = deps: { features?(features_.petgraph."0.4.13" deps {}) }: buildRustCrate {
-    crateName = "petgraph";
-    version = "0.4.13";
-    description = "Graph data structure library. Provides graph types and graph algorithms.";
-    authors = [ "bluss" "mitchmindtree" ];
-    sha256 = "0a8k12b9vd0bndwqhafa853w186axdw05bv4kqjimyaz67428g1i";
-    dependencies = mapFeatures features ([
-      (crates."fixedbitset"."${deps."petgraph"."0.4.13"."fixedbitset"}" deps)
-    ]
-      ++ (if features.petgraph."0.4.13".ordermap or false then [ (crates.ordermap."${deps."petgraph"."0.4.13".ordermap}" deps) ] else []));
-    features = mkFeatures (features."petgraph"."0.4.13" or {});
-  };
-  features_.petgraph."0.4.13" = deps: f: updateFeatures f (rec {
-    fixedbitset."${deps.petgraph."0.4.13".fixedbitset}".default = true;
-    ordermap."${deps.petgraph."0.4.13".ordermap}".default = true;
-    petgraph = fold recursiveUpdate {} [
-      { "0.4.13"."generate" =
-        (f.petgraph."0.4.13"."generate" or false) ||
-        (f.petgraph."0.4.13".unstable or false) ||
-        (petgraph."0.4.13"."unstable" or false); }
-      { "0.4.13"."graphmap" =
-        (f.petgraph."0.4.13"."graphmap" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false) ||
-        (f.petgraph."0.4.13".default or false) ||
-        (petgraph."0.4.13"."default" or false); }
-      { "0.4.13"."ordermap" =
-        (f.petgraph."0.4.13"."ordermap" or false) ||
-        (f.petgraph."0.4.13".graphmap or false) ||
-        (petgraph."0.4.13"."graphmap" or false); }
-      { "0.4.13"."quickcheck" =
-        (f.petgraph."0.4.13"."quickcheck" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false); }
-      { "0.4.13"."serde" =
-        (f.petgraph."0.4.13"."serde" or false) ||
-        (f.petgraph."0.4.13".serde-1 or false) ||
-        (petgraph."0.4.13"."serde-1" or false); }
-      { "0.4.13"."serde_derive" =
-        (f.petgraph."0.4.13"."serde_derive" or false) ||
-        (f.petgraph."0.4.13".serde-1 or false) ||
-        (petgraph."0.4.13"."serde-1" or false); }
-      { "0.4.13"."stable_graph" =
-        (f.petgraph."0.4.13"."stable_graph" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false) ||
-        (f.petgraph."0.4.13".default or false) ||
-        (petgraph."0.4.13"."default" or false); }
-      { "0.4.13"."unstable" =
-        (f.petgraph."0.4.13"."unstable" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false); }
-      { "0.4.13".default = (f.petgraph."0.4.13".default or true); }
-    ];
-  }) [
-    (features_.fixedbitset."${deps."petgraph"."0.4.13"."fixedbitset"}" deps)
-    (features_.ordermap."${deps."petgraph"."0.4.13"."ordermap"}" deps)
-  ];
-
-
-# end
-# phf-0.7.23
-
-  crates.phf."0.7.23" = deps: { features?(features_.phf."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.23";
-    description = "Runtime support for perfect hash function data structures";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0annmaf9mmm12g2cdwpip32p674pmsf6xpiwa27mz3glmz73y8aq";
-    libPath = "src/lib.rs";
-    dependencies = mapFeatures features ([
-      (crates."phf_shared"."${deps."phf"."0.7.23"."phf_shared"}" deps)
-    ]);
-    features = mkFeatures (features."phf"."0.7.23" or {});
-  };
-  features_.phf."0.7.23" = deps: f: updateFeatures f (rec {
-    phf."0.7.23".default = (f.phf."0.7.23".default or true);
-    phf_shared = fold recursiveUpdate {} [
-      { "${deps.phf."0.7.23".phf_shared}"."core" =
-        (f.phf_shared."${deps.phf."0.7.23".phf_shared}"."core" or false) ||
-        (phf."0.7.23"."core" or false) ||
-        (f."phf"."0.7.23"."core" or false); }
-      { "${deps.phf."0.7.23".phf_shared}"."unicase" =
-        (f.phf_shared."${deps.phf."0.7.23".phf_shared}"."unicase" or false) ||
-        (phf."0.7.23"."unicase" or false) ||
-        (f."phf"."0.7.23"."unicase" or false); }
-      { "${deps.phf."0.7.23".phf_shared}".default = true; }
-    ];
-  }) [
-    (features_.phf_shared."${deps."phf"."0.7.23"."phf_shared"}" deps)
-  ];
-
-
-# end
-# phf_codegen-0.7.23
-
-  crates.phf_codegen."0.7.23" = deps: { features?(features_.phf_codegen."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.23";
-    description = "Codegen library for PHF types";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0k5ly0qykw56fxd19iy236wzghqdxq9zxnzcg8nm22cfzw4a35n0";
-    dependencies = mapFeatures features ([
-      (crates."phf_generator"."${deps."phf_codegen"."0.7.23"."phf_generator"}" deps)
-      (crates."phf_shared"."${deps."phf_codegen"."0.7.23"."phf_shared"}" deps)
-    ]);
-  };
-  features_.phf_codegen."0.7.23" = deps: f: updateFeatures f ({
-    phf_codegen."0.7.23".default = (f.phf_codegen."0.7.23".default or true);
-    phf_generator."${deps.phf_codegen."0.7.23".phf_generator}".default = true;
-    phf_shared."${deps.phf_codegen."0.7.23".phf_shared}".default = true;
-  }) [
-    (features_.phf_generator."${deps."phf_codegen"."0.7.23"."phf_generator"}" deps)
-    (features_.phf_shared."${deps."phf_codegen"."0.7.23"."phf_shared"}" deps)
-  ];
-
-
-# end
-# phf_generator-0.7.23
-
-  crates.phf_generator."0.7.23" = deps: { features?(features_.phf_generator."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.23";
-    description = "PHF generation logic";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "106cd0bx3jf7mf2gaa8nx62c1las1w95c5gwsd4yqm5lj2rj4mza";
-    dependencies = mapFeatures features ([
-      (crates."phf_shared"."${deps."phf_generator"."0.7.23"."phf_shared"}" deps)
-      (crates."rand"."${deps."phf_generator"."0.7.23"."rand"}" deps)
-    ]);
-  };
-  features_.phf_generator."0.7.23" = deps: f: updateFeatures f ({
-    phf_generator."0.7.23".default = (f.phf_generator."0.7.23".default or true);
-    phf_shared."${deps.phf_generator."0.7.23".phf_shared}".default = true;
-    rand."${deps.phf_generator."0.7.23".rand}".default = true;
-  }) [
-    (features_.phf_shared."${deps."phf_generator"."0.7.23"."phf_shared"}" deps)
-    (features_.rand."${deps."phf_generator"."0.7.23"."rand"}" deps)
-  ];
-
-
-# end
-# phf_shared-0.7.23
-
-  crates.phf_shared."0.7.23" = deps: { features?(features_.phf_shared."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.23";
-    description = "Support code shared by PHF libraries";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "04gzsq9vg9j8cr39hpkddxb0yqjdknvcpnylw112rqamy7ml4fy1";
-    libPath = "src/lib.rs";
-    dependencies = mapFeatures features ([
-      (crates."siphasher"."${deps."phf_shared"."0.7.23"."siphasher"}" deps)
-    ]);
-    features = mkFeatures (features."phf_shared"."0.7.23" or {});
-  };
-  features_.phf_shared."0.7.23" = deps: f: updateFeatures f ({
-    phf_shared."0.7.23".default = (f.phf_shared."0.7.23".default or true);
-    siphasher."${deps.phf_shared."0.7.23".siphasher}".default = true;
-  }) [
-    (features_.siphasher."${deps."phf_shared"."0.7.23"."siphasher"}" deps)
-  ];
-
-
-# end
-# pkg-config-0.3.14
-
-  crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.14";
-    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6";
-  };
-  features_.pkg_config."0.3.14" = deps: f: updateFeatures f ({
-    pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true);
-  }) [];
-
-
-# end
-# rand-0.3.22
-
-  crates.rand."0.3.22" = deps: { features?(features_.rand."0.3.22" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.22";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wrj12acx7l4hr7ag3nz8b50yhp8ancyq988bzmnnsxln67rsys0";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."rand"."0.3.22"."libc"}" deps)
-      (crates."rand"."${deps."rand"."0.3.22"."rand"}" deps)
-    ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([
-      (crates."fuchsia_zircon"."${deps."rand"."0.3.22"."fuchsia_zircon"}" deps)
-    ]) else []);
-    features = mkFeatures (features."rand"."0.3.22" or {});
-  };
-  features_.rand."0.3.22" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon."${deps.rand."0.3.22".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.3.22".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "${deps.rand."0.3.22".rand}".default = true; }
-      { "0.3.22"."i128_support" =
-        (f.rand."0.3.22"."i128_support" or false) ||
-        (f.rand."0.3.22".nightly or false) ||
-        (rand."0.3.22"."nightly" or false); }
-      { "0.3.22".default = (f.rand."0.3.22".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."rand"."0.3.22"."libc"}" deps)
-    (features_.rand."${deps."rand"."0.3.22"."rand"}" deps)
-    (features_.fuchsia_zircon."${deps."rand"."0.3.22"."fuchsia_zircon"}" deps)
-  ];
-
-
-# end
-# rand-0.4.3
-
-  crates.rand."0.4.3" = deps: { features?(features_.rand."0.4.3" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.4.3";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1644wri45l147822xy7dgdm4k7myxzs66cb795ga0x7dan11ci4f";
-    dependencies = (if kernel == "fuchsia" then mapFeatures features ([
-      (crates."fuchsia_zircon"."${deps."rand"."0.4.3"."fuchsia_zircon"}" deps)
-    ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.4.3".libc or false then [ (crates.libc."${deps."rand"."0.4.3".libc}" deps) ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."rand"."0.4.3"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."rand"."0.4.3" or {});
-  };
-  features_.rand."0.4.3" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon."${deps.rand."0.4.3".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.4.3".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "0.4.3"."i128_support" =
-        (f.rand."0.4.3"."i128_support" or false) ||
-        (f.rand."0.4.3".nightly or false) ||
-        (rand."0.4.3"."nightly" or false); }
-      { "0.4.3"."libc" =
-        (f.rand."0.4.3"."libc" or false) ||
-        (f.rand."0.4.3".std or false) ||
-        (rand."0.4.3"."std" or false); }
-      { "0.4.3"."std" =
-        (f.rand."0.4.3"."std" or false) ||
-        (f.rand."0.4.3".default or false) ||
-        (rand."0.4.3"."default" or false); }
-      { "0.4.3".default = (f.rand."0.4.3".default or true); }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.rand."0.4.3".winapi}"."minwindef" = true; }
-      { "${deps.rand."0.4.3".winapi}"."ntsecapi" = true; }
-      { "${deps.rand."0.4.3".winapi}"."profileapi" = true; }
-      { "${deps.rand."0.4.3".winapi}"."winnt" = true; }
-      { "${deps.rand."0.4.3".winapi}".default = true; }
-    ];
-  }) [
-    (features_.fuchsia_zircon."${deps."rand"."0.4.3"."fuchsia_zircon"}" deps)
-    (features_.libc."${deps."rand"."0.4.3"."libc"}" deps)
-    (features_.winapi."${deps."rand"."0.4.3"."winapi"}" deps)
-  ];
-
-
-# end
-# rand-0.5.5
-
-  crates.rand."0.5.5" = deps: { features?(features_.rand."0.5.5" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.5.5";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0d7pnsh57qxhz1ghrzk113ddkn13kf2g758ffnbxq4nhwjfzhlc9";
-    dependencies = mapFeatures features ([
-      (crates."rand_core"."${deps."rand"."0.5.5"."rand_core"}" deps)
-    ])
-      ++ (if kernel == "cloudabi" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.5.5".cloudabi}" deps) ] else [])) else [])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.5.5".fuchsia_zircon}" deps) ] else [])) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".libc or false then [ (crates.libc."${deps."rand"."0.5.5".libc}" deps) ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".winapi or false then [ (crates.winapi."${deps."rand"."0.5.5".winapi}" deps) ] else [])) else [])
-      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
-]) else []);
-    features = mkFeatures (features."rand"."0.5.5" or {});
-  };
-  features_.rand."0.5.5" = deps: f: updateFeatures f (rec {
-    cloudabi."${deps.rand."0.5.5".cloudabi}".default = true;
-    fuchsia_zircon."${deps.rand."0.5.5".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.5.5".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "0.5.5"."alloc" =
-        (f.rand."0.5.5"."alloc" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."cloudabi" =
-        (f.rand."0.5.5"."cloudabi" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."fuchsia-zircon" =
-        (f.rand."0.5.5"."fuchsia-zircon" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."i128_support" =
-        (f.rand."0.5.5"."i128_support" or false) ||
-        (f.rand."0.5.5".nightly or false) ||
-        (rand."0.5.5"."nightly" or false); }
-      { "0.5.5"."libc" =
-        (f.rand."0.5.5"."libc" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."serde" =
-        (f.rand."0.5.5"."serde" or false) ||
-        (f.rand."0.5.5".serde1 or false) ||
-        (rand."0.5.5"."serde1" or false); }
-      { "0.5.5"."serde_derive" =
-        (f.rand."0.5.5"."serde_derive" or false) ||
-        (f.rand."0.5.5".serde1 or false) ||
-        (rand."0.5.5"."serde1" or false); }
-      { "0.5.5"."std" =
-        (f.rand."0.5.5"."std" or false) ||
-        (f.rand."0.5.5".default or false) ||
-        (rand."0.5.5"."default" or false); }
-      { "0.5.5"."winapi" =
-        (f.rand."0.5.5"."winapi" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5".default = (f.rand."0.5.5".default or true); }
-    ];
-    rand_core = fold recursiveUpdate {} [
-      { "${deps.rand."0.5.5".rand_core}"."alloc" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."alloc" or false) ||
-        (rand."0.5.5"."alloc" or false) ||
-        (f."rand"."0.5.5"."alloc" or false); }
-      { "${deps.rand."0.5.5".rand_core}"."serde1" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."serde1" or false) ||
-        (rand."0.5.5"."serde1" or false) ||
-        (f."rand"."0.5.5"."serde1" or false); }
-      { "${deps.rand."0.5.5".rand_core}"."std" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."std" or false) ||
-        (rand."0.5.5"."std" or false) ||
-        (f."rand"."0.5.5"."std" or false); }
-      { "${deps.rand."0.5.5".rand_core}".default = (f.rand_core."${deps.rand."0.5.5".rand_core}".default or false); }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.rand."0.5.5".winapi}"."minwindef" = true; }
-      { "${deps.rand."0.5.5".winapi}"."ntsecapi" = true; }
-      { "${deps.rand."0.5.5".winapi}"."profileapi" = true; }
-      { "${deps.rand."0.5.5".winapi}"."winnt" = true; }
-      { "${deps.rand."0.5.5".winapi}".default = true; }
-    ];
-  }) [
-    (features_.rand_core."${deps."rand"."0.5.5"."rand_core"}" deps)
-    (features_.cloudabi."${deps."rand"."0.5.5"."cloudabi"}" deps)
-    (features_.fuchsia_zircon."${deps."rand"."0.5.5"."fuchsia_zircon"}" deps)
-    (features_.libc."${deps."rand"."0.5.5"."libc"}" deps)
-    (features_.winapi."${deps."rand"."0.5.5"."winapi"}" deps)
-  ];
-
-
-# end
-# rand_core-0.2.2
-
-  crates.rand_core."0.2.2" = deps: { features?(features_.rand_core."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "rand_core";
-    version = "0.2.2";
-    description = "Core random number generator traits and tools for implementation.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1cxnaxmsirz2wxsajsjkd1wk6lqfqbcprqkha4bq3didznrl22sc";
-    dependencies = mapFeatures features ([
-      (crates."rand_core"."${deps."rand_core"."0.2.2"."rand_core"}" deps)
-    ]);
-    features = mkFeatures (features."rand_core"."0.2.2" or {});
-  };
-  features_.rand_core."0.2.2" = deps: f: updateFeatures f (rec {
-    rand_core = fold recursiveUpdate {} [
-      { "${deps.rand_core."0.2.2".rand_core}"."alloc" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."alloc" or false) ||
-        (rand_core."0.2.2"."alloc" or false) ||
-        (f."rand_core"."0.2.2"."alloc" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}"."serde1" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."serde1" or false) ||
-        (rand_core."0.2.2"."serde1" or false) ||
-        (f."rand_core"."0.2.2"."serde1" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}"."std" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."std" or false) ||
-        (rand_core."0.2.2"."std" or false) ||
-        (f."rand_core"."0.2.2"."std" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}".default = (f.rand_core."${deps.rand_core."0.2.2".rand_core}".default or false); }
-      { "0.2.2".default = (f.rand_core."0.2.2".default or true); }
-    ];
-  }) [
-    (features_.rand_core."${deps."rand_core"."0.2.2"."rand_core"}" deps)
-  ];
-
-
-# end
-# rand_core-0.3.0
-
-  crates.rand_core."0.3.0" = deps: { features?(features_.rand_core."0.3.0" deps {}) }: buildRustCrate {
-    crateName = "rand_core";
-    version = "0.3.0";
-    description = "Core random number generator traits and tools for implementation.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1vafw316apjys9va3j987s02djhqp7y21v671v3ix0p5j9bjq339";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."rand_core"."0.3.0" or {});
-  };
-  features_.rand_core."0.3.0" = deps: f: updateFeatures f (rec {
-    rand_core = fold recursiveUpdate {} [
-      { "0.3.0"."alloc" =
-        (f.rand_core."0.3.0"."alloc" or false) ||
-        (f.rand_core."0.3.0".std or false) ||
-        (rand_core."0.3.0"."std" or false); }
-      { "0.3.0"."serde" =
-        (f.rand_core."0.3.0"."serde" or false) ||
-        (f.rand_core."0.3.0".serde1 or false) ||
-        (rand_core."0.3.0"."serde1" or false); }
-      { "0.3.0"."serde_derive" =
-        (f.rand_core."0.3.0"."serde_derive" or false) ||
-        (f.rand_core."0.3.0".serde1 or false) ||
-        (rand_core."0.3.0"."serde1" or false); }
-      { "0.3.0"."std" =
-        (f.rand_core."0.3.0"."std" or false) ||
-        (f.rand_core."0.3.0".default or false) ||
-        (rand_core."0.3.0"."default" or false); }
-      { "0.3.0".default = (f.rand_core."0.3.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# regex-0.1.80
-
-  crates.regex."0.1.80" = deps: { features?(features_.regex."0.1.80" deps {}) }: buildRustCrate {
-    crateName = "regex";
-    version = "0.1.80";
-    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-    dependencies = mapFeatures features ([
-      (crates."aho_corasick"."${deps."regex"."0.1.80"."aho_corasick"}" deps)
-      (crates."memchr"."${deps."regex"."0.1.80"."memchr"}" deps)
-      (crates."regex_syntax"."${deps."regex"."0.1.80"."regex_syntax"}" deps)
-      (crates."thread_local"."${deps."regex"."0.1.80"."thread_local"}" deps)
-      (crates."utf8_ranges"."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
-    ]);
-    features = mkFeatures (features."regex"."0.1.80" or {});
-  };
-  features_.regex."0.1.80" = deps: f: updateFeatures f (rec {
-    aho_corasick."${deps.regex."0.1.80".aho_corasick}".default = true;
-    memchr."${deps.regex."0.1.80".memchr}".default = true;
-    regex = fold recursiveUpdate {} [
-      { "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); }
-      { "0.1.80".default = (f.regex."0.1.80".default or true); }
-    ];
-    regex_syntax."${deps.regex."0.1.80".regex_syntax}".default = true;
-    thread_local."${deps.regex."0.1.80".thread_local}".default = true;
-    utf8_ranges."${deps.regex."0.1.80".utf8_ranges}".default = true;
-  }) [
-    (features_.aho_corasick."${deps."regex"."0.1.80"."aho_corasick"}" deps)
-    (features_.memchr."${deps."regex"."0.1.80"."memchr"}" deps)
-    (features_.regex_syntax."${deps."regex"."0.1.80"."regex_syntax"}" deps)
-    (features_.thread_local."${deps."regex"."0.1.80"."thread_local"}" deps)
-    (features_.utf8_ranges."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
-  ];
-
-
-# end
-# regex-syntax-0.3.9
-
-  crates.regex_syntax."0.3.9" = deps: { features?(features_.regex_syntax."0.3.9" deps {}) }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.3.9";
-    description = "A regular expression parser.";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-  };
-  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f ({
-    regex_syntax."0.3.9".default = (f.regex_syntax."0.3.9".default or true);
-  }) [];
-
-
-# end
-# rlua-0.9.7
-
-  crates.rlua."0.9.7" = deps: { features?(features_.rlua."0.9.7" deps {}) }: buildRustCrate {
-    crateName = "rlua";
-    version = "0.9.7";
-    description = "High level bindings to Lua 5.3";
-    authors = [ "kyren <catherine@chucklefish.org>" ];
-    sha256 = "1671b5ga54aq49sqx69hvnjr732hf9jpqwswwxgpcqq8q05mfzgp";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."rlua"."0.9.7"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-    ]
-      ++ (if features.rlua."0.9.7".gcc or false then [ (crates.gcc."${deps."rlua"."0.9.7".gcc}" deps) ] else []));
-    features = mkFeatures (features."rlua"."0.9.7" or {});
-  };
-  features_.rlua."0.9.7" = deps: f: updateFeatures f (rec {
-    gcc."${deps.rlua."0.9.7".gcc}".default = true;
-    libc."${deps.rlua."0.9.7".libc}".default = true;
-    rlua = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "0.9.7".default = (f.rlua."0.9.7".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."rlua"."0.9.7"."libc"}" deps)
-    (features_.gcc."${deps."rlua"."0.9.7"."gcc"}" deps)
-  ];
-
-
-# end
-# rustc-serialize-0.3.24
-
-  crates.rustc_serialize."0.3.24" = deps: { features?(features_.rustc_serialize."0.3.24" deps {}) }: buildRustCrate {
-    crateName = "rustc-serialize";
-    version = "0.3.24";
-    description = "Generic serialization/deserialization support corresponding to the\n`derive(RustcEncodable, RustcDecodable)` mode in the compiler. Also includes\nsupport for hex, base64, and json encoding and decoding.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
-  };
-  features_.rustc_serialize."0.3.24" = deps: f: updateFeatures f ({
-    rustc_serialize."0.3.24".default = (f.rustc_serialize."0.3.24".default or true);
-  }) [];
-
-
-# end
-# rustc_version-0.1.7
-
-  crates.rustc_version."0.1.7" = deps: { features?(features_.rustc_version."0.1.7" deps {}) }: buildRustCrate {
-    crateName = "rustc_version";
-    version = "0.1.7";
-    description = "A library for querying the version of a installed rustc compiler";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-    dependencies = mapFeatures features ([
-      (crates."semver"."${deps."rustc_version"."0.1.7"."semver"}" deps)
-    ]);
-  };
-  features_.rustc_version."0.1.7" = deps: f: updateFeatures f ({
-    rustc_version."0.1.7".default = (f.rustc_version."0.1.7".default or true);
-    semver."${deps.rustc_version."0.1.7".semver}".default = true;
-  }) [
-    (features_.semver."${deps."rustc_version"."0.1.7"."semver"}" deps)
-  ];
-
-
-# end
-# rustwlc-0.7.0
-
-  crates.rustwlc."0.7.0" = deps: { features?(features_.rustwlc."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "rustwlc";
-    version = "0.7.0";
-    description = "wlc Wayland library bindings for Rust";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-    sha256 = "0gqi9pdw74al33ja25h33q68vnfklj3gpjgkiqqbr3gflgli5h1i";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."rustwlc"."0.7.0"."bitflags"}" deps)
-      (crates."libc"."${deps."rustwlc"."0.7.0"."libc"}" deps)
-    ]
-      ++ (if features.rustwlc."0.7.0".wayland-sys or false then [ (crates.wayland_sys."${deps."rustwlc"."0.7.0".wayland_sys}" deps) ] else []));
-    features = mkFeatures (features."rustwlc"."0.7.0" or {});
-  };
-  features_.rustwlc."0.7.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.rustwlc."0.7.0".bitflags}".default = true;
-    libc."${deps.rustwlc."0.7.0".libc}".default = true;
-    rustwlc = fold recursiveUpdate {} [
-      { "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); }
-      { "0.7.0".default = (f.rustwlc."0.7.0".default or true); }
-    ];
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.rustwlc."0.7.0".wayland_sys}"."server" = true; }
-      { "${deps.rustwlc."0.7.0".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."rustwlc"."0.7.0"."bitflags"}" deps)
-    (features_.libc."${deps."rustwlc"."0.7.0"."libc"}" deps)
-    (features_.wayland_sys."${deps."rustwlc"."0.7.0"."wayland_sys"}" deps)
-  ];
-
-
-# end
-# semver-0.1.20
-
-  crates.semver."0.1.20" = deps: { features?(features_.semver."0.1.20" deps {}) }: buildRustCrate {
-    crateName = "semver";
-    version = "0.1.20";
-    description = "Semantic version parsing and comparison.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-  };
-  features_.semver."0.1.20" = deps: f: updateFeatures f ({
-    semver."0.1.20".default = (f.semver."0.1.20".default or true);
-  }) [];
-
-
-# end
-# serde-0.9.15
-
-  crates.serde."0.9.15" = deps: { features?(features_.serde."0.9.15" deps {}) }: buildRustCrate {
-    crateName = "serde";
-    version = "0.9.15";
-    description = "A generic serialization/deserialization framework";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."serde"."0.9.15" or {});
-  };
-  features_.serde."0.9.15" = deps: f: updateFeatures f (rec {
-    serde = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "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); }
-      { "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); }
-      { "0.9.15".default = (f.serde."0.9.15".default or true); }
-    ];
-  }) [];
-
-
-# end
-# serde_json-0.9.10
-
-  crates.serde_json."0.9.10" = deps: { features?(features_.serde_json."0.9.10" deps {}) }: buildRustCrate {
-    crateName = "serde_json";
-    version = "0.9.10";
-    description = "A JSON serialization file format";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-    dependencies = mapFeatures features ([
-      (crates."dtoa"."${deps."serde_json"."0.9.10"."dtoa"}" deps)
-      (crates."itoa"."${deps."serde_json"."0.9.10"."itoa"}" deps)
-      (crates."num_traits"."${deps."serde_json"."0.9.10"."num_traits"}" deps)
-      (crates."serde"."${deps."serde_json"."0.9.10"."serde"}" deps)
-    ]);
-    features = mkFeatures (features."serde_json"."0.9.10" or {});
-  };
-  features_.serde_json."0.9.10" = deps: f: updateFeatures f (rec {
-    dtoa."${deps.serde_json."0.9.10".dtoa}".default = true;
-    itoa."${deps.serde_json."0.9.10".itoa}".default = true;
-    num_traits."${deps.serde_json."0.9.10".num_traits}".default = true;
-    serde."${deps.serde_json."0.9.10".serde}".default = true;
-    serde_json = fold recursiveUpdate {} [
-      { "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); }
-      { "0.9.10".default = (f.serde_json."0.9.10".default or true); }
-    ];
-  }) [
-    (features_.dtoa."${deps."serde_json"."0.9.10"."dtoa"}" deps)
-    (features_.itoa."${deps."serde_json"."0.9.10"."itoa"}" deps)
-    (features_.num_traits."${deps."serde_json"."0.9.10"."num_traits"}" deps)
-    (features_.serde."${deps."serde_json"."0.9.10"."serde"}" deps)
-  ];
-
-
-# end
-# siphasher-0.2.3
-
-  crates.siphasher."0.2.3" = deps: { features?(features_.siphasher."0.2.3" deps {}) }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.3";
-    description = "SipHash functions from rust-core < 1.13";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "1ganj1grxqnkvv4ds3vby039bm999jrr58nfq2x3kjhzkw2bnqkw";
-  };
-  features_.siphasher."0.2.3" = deps: f: updateFeatures f ({
-    siphasher."0.2.3".default = (f.siphasher."0.2.3".default or true);
-  }) [];
-
-
-# end
-# target_build_utils-0.3.1
-
-  crates.target_build_utils."0.3.1" = deps: { features?(features_.target_build_utils."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "target_build_utils";
-    version = "0.3.1";
-    description = "DEPRECATED: Use Cargo environment variables `CARGO_CFG_TARGET_*`";
-    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."phf"."${deps."target_build_utils"."0.3.1"."phf"}" deps)
-    ]
-      ++ (if features.target_build_utils."0.3.1".serde_json or false then [ (crates.serde_json."${deps."target_build_utils"."0.3.1".serde_json}" deps) ] else []));
-
-    buildDependencies = mapFeatures features ([
-      (crates."phf_codegen"."${deps."target_build_utils"."0.3.1"."phf_codegen"}" deps)
-    ]);
-    features = mkFeatures (features."target_build_utils"."0.3.1" or {});
-  };
-  features_.target_build_utils."0.3.1" = deps: f: updateFeatures f (rec {
-    phf."${deps.target_build_utils."0.3.1".phf}".default = true;
-    phf_codegen."${deps.target_build_utils."0.3.1".phf_codegen}".default = true;
-    serde_json."${deps.target_build_utils."0.3.1".serde_json}".default = true;
-    target_build_utils = fold recursiveUpdate {} [
-      { "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); }
-      { "0.3.1".default = (f.target_build_utils."0.3.1".default or true); }
-    ];
-  }) [
-    (features_.phf."${deps."target_build_utils"."0.3.1"."phf"}" deps)
-    (features_.serde_json."${deps."target_build_utils"."0.3.1"."serde_json"}" deps)
-    (features_.phf_codegen."${deps."target_build_utils"."0.3.1"."phf_codegen"}" deps)
-  ];
-
-
-# end
-# thread-id-2.0.0
-
-  crates.thread_id."2.0.0" = deps: { features?(features_.thread_id."2.0.0" deps {}) }: buildRustCrate {
-    crateName = "thread-id";
-    version = "2.0.0";
-    description = "Get a unique thread ID";
-    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-    dependencies = mapFeatures features ([
-      (crates."kernel32_sys"."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
-      (crates."libc"."${deps."thread_id"."2.0.0"."libc"}" deps)
-    ]);
-  };
-  features_.thread_id."2.0.0" = deps: f: updateFeatures f ({
-    kernel32_sys."${deps.thread_id."2.0.0".kernel32_sys}".default = true;
-    libc."${deps.thread_id."2.0.0".libc}".default = true;
-    thread_id."2.0.0".default = (f.thread_id."2.0.0".default or true);
-  }) [
-    (features_.kernel32_sys."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
-    (features_.libc."${deps."thread_id"."2.0.0"."libc"}" deps)
-  ];
-
-
-# end
-# thread_local-0.2.7
-
-  crates.thread_local."0.2.7" = deps: { features?(features_.thread_local."0.2.7" deps {}) }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.2.7";
-    description = "Per-object thread-local storage";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-    dependencies = mapFeatures features ([
-      (crates."thread_id"."${deps."thread_local"."0.2.7"."thread_id"}" deps)
-    ]);
-  };
-  features_.thread_local."0.2.7" = deps: f: updateFeatures f ({
-    thread_id."${deps.thread_local."0.2.7".thread_id}".default = true;
-    thread_local."0.2.7".default = (f.thread_local."0.2.7".default or true);
-  }) [
-    (features_.thread_id."${deps."thread_local"."0.2.7"."thread_id"}" deps)
-  ];
-
-
-# end
-# token_store-0.1.2
-
-  crates.token_store."0.1.2" = deps: { features?(features_.token_store."0.1.2" deps {}) }: buildRustCrate {
-    crateName = "token_store";
-    version = "0.1.2";
-    description = "A token-based store for arbitrary values";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1v7acraqyh6iibg87pwkxm41v783sminxm5k9f4ndra7r0vq4zvq";
-  };
-  features_.token_store."0.1.2" = deps: f: updateFeatures f ({
-    token_store."0.1.2".default = (f.token_store."0.1.2".default or true);
-  }) [];
-
-
-# end
-# unicode-width-0.1.5
-
-  crates.unicode_width."0.1.5" = deps: { features?(features_.unicode_width."0.1.5" deps {}) }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.5";
-    description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "0886lc2aymwgy0lhavwn6s48ik3c61ykzzd3za6prgnw51j7bi4w";
-    features = mkFeatures (features."unicode_width"."0.1.5" or {});
-  };
-  features_.unicode_width."0.1.5" = deps: f: updateFeatures f ({
-    unicode_width."0.1.5".default = (f.unicode_width."0.1.5".default or true);
-  }) [];
-
-
-# end
-# utf8-ranges-0.1.3
-
-  crates.utf8_ranges."0.1.3" = deps: { features?(features_.utf8_ranges."0.1.3" deps {}) }: buildRustCrate {
-    crateName = "utf8-ranges";
-    version = "0.1.3";
-    description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-  };
-  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f ({
-    utf8_ranges."0.1.3".default = (f.utf8_ranges."0.1.3".default or true);
-  }) [];
-
-
-# end
-# uuid-0.3.1
-
-  crates.uuid."0.3.1" = deps: { features?(features_.uuid."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "uuid";
-    version = "0.3.1";
-    description = "A library to generate and parse UUIDs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.uuid."0.3.1".rand or false then [ (crates.rand."${deps."uuid"."0.3.1".rand}" deps) ] else [])
-      ++ (if features.uuid."0.3.1".rustc-serialize or false then [ (crates.rustc_serialize."${deps."uuid"."0.3.1".rustc_serialize}" deps) ] else []));
-    features = mkFeatures (features."uuid"."0.3.1" or {});
-  };
-  features_.uuid."0.3.1" = deps: f: updateFeatures f (rec {
-    rand."${deps.uuid."0.3.1".rand}".default = true;
-    rustc_serialize."${deps.uuid."0.3.1".rustc_serialize}".default = true;
-    uuid = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "0.3.1".default = (f.uuid."0.3.1".default or true); }
-    ];
-  }) [
-    (features_.rand."${deps."uuid"."0.3.1"."rand"}" deps)
-    (features_.rustc_serialize."${deps."uuid"."0.3.1"."rustc_serialize"}" deps)
-  ];
-
-
-# end
-# void-1.0.2
-
-  crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate {
-    crateName = "void";
-    version = "1.0.2";
-    description = "The uninhabited void type for use in statically impossible cases.";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-    features = mkFeatures (features."void"."1.0.2" or {});
-  };
-  features_.void."1.0.2" = deps: f: updateFeatures f (rec {
-    void = fold recursiveUpdate {} [
-      { "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); }
-      { "1.0.2".default = (f.void."1.0.2".default or true); }
-    ];
-  }) [];
-
-
-# end
-# way-cooler-0.8.1
-
-  crates.way_cooler."0.8.1" = deps: { features?(features_.way_cooler."0.8.1" deps {}) }: buildRustCrate {
-    crateName = "way-cooler";
-    version = "0.8.1";
-    description = "Customizeable Wayland compositor written in Rust";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-    sha256 = "01cp5z0qf522d7cvsr9gfp7f4hkphmp38hv70dsf9lvcnp6p1qkc";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."way_cooler"."0.8.1"."bitflags"}" deps)
-      (crates."cairo_rs"."${deps."way_cooler"."0.8.1"."cairo_rs"}" deps)
-      (crates."cairo_sys_rs"."${deps."way_cooler"."0.8.1"."cairo_sys_rs"}" deps)
-      (crates."dbus"."${deps."way_cooler"."0.8.1"."dbus"}" deps)
-      (crates."dbus_macros"."${deps."way_cooler"."0.8.1"."dbus_macros"}" deps)
-      (crates."env_logger"."${deps."way_cooler"."0.8.1"."env_logger"}" deps)
-      (crates."gdk_pixbuf"."${deps."way_cooler"."0.8.1"."gdk_pixbuf"}" deps)
-      (crates."getopts"."${deps."way_cooler"."0.8.1"."getopts"}" deps)
-      (crates."glib"."${deps."way_cooler"."0.8.1"."glib"}" deps)
-      (crates."json_macro"."${deps."way_cooler"."0.8.1"."json_macro"}" deps)
-      (crates."lazy_static"."${deps."way_cooler"."0.8.1"."lazy_static"}" deps)
-      (crates."log"."${deps."way_cooler"."0.8.1"."log"}" deps)
-      (crates."nix"."${deps."way_cooler"."0.8.1"."nix"}" deps)
-      (crates."petgraph"."${deps."way_cooler"."0.8.1"."petgraph"}" deps)
-      (crates."rlua"."${deps."way_cooler"."0.8.1"."rlua"}" deps)
-      (crates."rustc_serialize"."${deps."way_cooler"."0.8.1"."rustc_serialize"}" deps)
-      (crates."rustwlc"."${deps."way_cooler"."0.8.1"."rustwlc"}" deps)
-      (crates."uuid"."${deps."way_cooler"."0.8.1"."uuid"}" deps)
-      (crates."wayland_server"."${deps."way_cooler"."0.8.1"."wayland_server"}" deps)
-      (crates."wayland_sys"."${deps."way_cooler"."0.8.1"."wayland_sys"}" deps)
-      (crates."xcb"."${deps."way_cooler"."0.8.1"."xcb"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."wayland_scanner"."${deps."way_cooler"."0.8.1"."wayland_scanner"}" deps)
-    ]);
-    features = mkFeatures (features."way_cooler"."0.8.1" or {});
-  };
-  features_.way_cooler."0.8.1" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.way_cooler."0.8.1".bitflags}".default = true;
-    cairo_rs."${deps.way_cooler."0.8.1".cairo_rs}".default = true;
-    cairo_sys_rs."${deps.way_cooler."0.8.1".cairo_sys_rs}".default = true;
-    dbus."${deps.way_cooler."0.8.1".dbus}".default = true;
-    dbus_macros."${deps.way_cooler."0.8.1".dbus_macros}".default = true;
-    env_logger."${deps.way_cooler."0.8.1".env_logger}".default = true;
-    gdk_pixbuf."${deps.way_cooler."0.8.1".gdk_pixbuf}".default = true;
-    getopts."${deps.way_cooler."0.8.1".getopts}".default = true;
-    glib."${deps.way_cooler."0.8.1".glib}".default = true;
-    json_macro."${deps.way_cooler."0.8.1".json_macro}".default = true;
-    lazy_static."${deps.way_cooler."0.8.1".lazy_static}".default = true;
-    log."${deps.way_cooler."0.8.1".log}".default = true;
-    nix."${deps.way_cooler."0.8.1".nix}".default = true;
-    petgraph."${deps.way_cooler."0.8.1".petgraph}".default = true;
-    rlua = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".rlua}"."builtin-lua" =
-        (f.rlua."${deps.way_cooler."0.8.1".rlua}"."builtin-lua" or false) ||
-        (way_cooler."0.8.1"."builtin-lua" or false) ||
-        (f."way_cooler"."0.8.1"."builtin-lua" or false); }
-      { "${deps.way_cooler."0.8.1".rlua}".default = (f.rlua."${deps.way_cooler."0.8.1".rlua}".default or false); }
-    ];
-    rustc_serialize."${deps.way_cooler."0.8.1".rustc_serialize}".default = true;
-    rustwlc = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".rustwlc}"."static-wlc" =
-        (f.rustwlc."${deps.way_cooler."0.8.1".rustwlc}"."static-wlc" or false) ||
-        (way_cooler."0.8.1"."static-wlc" or false) ||
-        (f."way_cooler"."0.8.1"."static-wlc" or false); }
-      { "${deps.way_cooler."0.8.1".rustwlc}"."wlc-wayland" = true; }
-      { "${deps.way_cooler."0.8.1".rustwlc}".default = true; }
-    ];
-    uuid = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".uuid}"."rustc-serialize" = true; }
-      { "${deps.way_cooler."0.8.1".uuid}"."v4" = true; }
-      { "${deps.way_cooler."0.8.1".uuid}".default = true; }
-    ];
-    way_cooler."0.8.1".default = (f.way_cooler."0.8.1".default or true);
-    wayland_scanner."${deps.way_cooler."0.8.1".wayland_scanner}".default = true;
-    wayland_server."${deps.way_cooler."0.8.1".wayland_server}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".wayland_sys}"."client" = true; }
-      { "${deps.way_cooler."0.8.1".wayland_sys}"."dlopen" = true; }
-      { "${deps.way_cooler."0.8.1".wayland_sys}".default = true; }
-    ];
-    xcb = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".xcb}"."xkb" = true; }
-      { "${deps.way_cooler."0.8.1".xcb}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."way_cooler"."0.8.1"."bitflags"}" deps)
-    (features_.cairo_rs."${deps."way_cooler"."0.8.1"."cairo_rs"}" deps)
-    (features_.cairo_sys_rs."${deps."way_cooler"."0.8.1"."cairo_sys_rs"}" deps)
-    (features_.dbus."${deps."way_cooler"."0.8.1"."dbus"}" deps)
-    (features_.dbus_macros."${deps."way_cooler"."0.8.1"."dbus_macros"}" deps)
-    (features_.env_logger."${deps."way_cooler"."0.8.1"."env_logger"}" deps)
-    (features_.gdk_pixbuf."${deps."way_cooler"."0.8.1"."gdk_pixbuf"}" deps)
-    (features_.getopts."${deps."way_cooler"."0.8.1"."getopts"}" deps)
-    (features_.glib."${deps."way_cooler"."0.8.1"."glib"}" deps)
-    (features_.json_macro."${deps."way_cooler"."0.8.1"."json_macro"}" deps)
-    (features_.lazy_static."${deps."way_cooler"."0.8.1"."lazy_static"}" deps)
-    (features_.log."${deps."way_cooler"."0.8.1"."log"}" deps)
-    (features_.nix."${deps."way_cooler"."0.8.1"."nix"}" deps)
-    (features_.petgraph."${deps."way_cooler"."0.8.1"."petgraph"}" deps)
-    (features_.rlua."${deps."way_cooler"."0.8.1"."rlua"}" deps)
-    (features_.rustc_serialize."${deps."way_cooler"."0.8.1"."rustc_serialize"}" deps)
-    (features_.rustwlc."${deps."way_cooler"."0.8.1"."rustwlc"}" deps)
-    (features_.uuid."${deps."way_cooler"."0.8.1"."uuid"}" deps)
-    (features_.wayland_server."${deps."way_cooler"."0.8.1"."wayland_server"}" deps)
-    (features_.wayland_sys."${deps."way_cooler"."0.8.1"."wayland_sys"}" deps)
-    (features_.xcb."${deps."way_cooler"."0.8.1"."xcb"}" deps)
-    (features_.wayland_scanner."${deps."way_cooler"."0.8.1"."wayland_scanner"}" deps)
-  ];
-
-
-# end
-# wayland-scanner-0.12.5
-
-  crates.wayland_scanner."0.12.5" = deps: { features?(features_.wayland_scanner."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-scanner";
-    version = "0.12.5";
-    description = "Wayland Scanner for generating rust APIs from XML wayland protocol files. Intented for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1s0fsc3pff0fxvzqsy8n018smwacih9ix8ww0yf969aa0vak15dz";
-    dependencies = mapFeatures features ([
-      (crates."xml_rs"."${deps."wayland_scanner"."0.12.5"."xml_rs"}" deps)
-    ]);
-  };
-  features_.wayland_scanner."0.12.5" = deps: f: updateFeatures f ({
-    wayland_scanner."0.12.5".default = (f.wayland_scanner."0.12.5".default or true);
-    xml_rs."${deps.wayland_scanner."0.12.5".xml_rs}".default = true;
-  }) [
-    (features_.xml_rs."${deps."wayland_scanner"."0.12.5"."xml_rs"}" deps)
-  ];
-
-
-# end
-# wayland-server-0.12.5
-
-  crates.wayland_server."0.12.5" = deps: { features?(features_.wayland_server."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-server";
-    version = "0.12.5";
-    description = "Bindings to the standard C implementation of the wayland protocol, server side.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "17g0m9afcmi24ylirw4l8i70s5849x7m4b5nxk9k13s5pkza68ag";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."wayland_server"."0.12.5"."bitflags"}" deps)
-      (crates."libc"."${deps."wayland_server"."0.12.5"."libc"}" deps)
-      (crates."nix"."${deps."wayland_server"."0.12.5"."nix"}" deps)
-      (crates."token_store"."${deps."wayland_server"."0.12.5"."token_store"}" deps)
-      (crates."wayland_sys"."${deps."wayland_server"."0.12.5"."wayland_sys"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."wayland_scanner"."${deps."wayland_server"."0.12.5"."wayland_scanner"}" deps)
-    ]);
-    features = mkFeatures (features."wayland_server"."0.12.5" or {});
-  };
-  features_.wayland_server."0.12.5" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.wayland_server."0.12.5".bitflags}".default = true;
-    libc."${deps.wayland_server."0.12.5".libc}".default = true;
-    nix."${deps.wayland_server."0.12.5".nix}".default = true;
-    token_store."${deps.wayland_server."0.12.5".token_store}".default = true;
-    wayland_scanner."${deps.wayland_server."0.12.5".wayland_scanner}".default = true;
-    wayland_server."0.12.5".default = (f.wayland_server."0.12.5".default or true);
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.wayland_server."0.12.5".wayland_sys}"."dlopen" =
-        (f.wayland_sys."${deps.wayland_server."0.12.5".wayland_sys}"."dlopen" or false) ||
-        (wayland_server."0.12.5"."dlopen" or false) ||
-        (f."wayland_server"."0.12.5"."dlopen" or false); }
-      { "${deps.wayland_server."0.12.5".wayland_sys}"."server" = true; }
-      { "${deps.wayland_server."0.12.5".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."wayland_server"."0.12.5"."bitflags"}" deps)
-    (features_.libc."${deps."wayland_server"."0.12.5"."libc"}" deps)
-    (features_.nix."${deps."wayland_server"."0.12.5"."nix"}" deps)
-    (features_.token_store."${deps."wayland_server"."0.12.5"."token_store"}" deps)
-    (features_.wayland_sys."${deps."wayland_server"."0.12.5"."wayland_sys"}" deps)
-    (features_.wayland_scanner."${deps."wayland_server"."0.12.5"."wayland_scanner"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.6.0
-
-  crates.wayland_sys."0.6.0" = deps: { features?(features_.wayland_sys."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.6.0";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.6.0"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.6.0".libc or false then [ (crates.libc."${deps."wayland_sys"."0.6.0".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.6.0" or {});
-  };
-  features_.wayland_sys."0.6.0" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.6.0".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.6.0".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.6.0"."dlopen" or false) ||
-        (f."wayland_sys"."0.6.0"."dlopen" or false); }
-      { "${deps.wayland_sys."0.6.0".dlib}".default = true; }
-    ];
-    libc."${deps.wayland_sys."0.6.0".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "0.6.0".default = (f.wayland_sys."0.6.0".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.6.0"."dlib"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.6.0"."libc"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.9.10
-
-  crates.wayland_sys."0.9.10" = deps: { features?(features_.wayland_sys."0.9.10" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.9.10";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.9.10"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.9.10".lazy_static or false then [ (crates.lazy_static."${deps."wayland_sys"."0.9.10".lazy_static}" deps) ] else [])
-      ++ (if features.wayland_sys."0.9.10".libc or false then [ (crates.libc."${deps."wayland_sys"."0.9.10".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.9.10" or {});
-  };
-  features_.wayland_sys."0.9.10" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.9.10".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.9.10".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.9.10"."dlopen" or false) ||
-        (f."wayland_sys"."0.9.10"."dlopen" or false); }
-      { "${deps.wayland_sys."0.9.10".dlib}".default = true; }
-    ];
-    lazy_static."${deps.wayland_sys."0.9.10".lazy_static}".default = true;
-    libc."${deps.wayland_sys."0.9.10".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "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); }
-      { "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); }
-      { "0.9.10".default = (f.wayland_sys."0.9.10".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.9.10"."dlib"}" deps)
-    (features_.lazy_static."${deps."wayland_sys"."0.9.10"."lazy_static"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.9.10"."libc"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.12.5
-
-  crates.wayland_sys."0.12.5" = deps: { features?(features_.wayland_sys."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.12.5";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0mwk5vc7mibxka5w66vy2qj32b72d1srqvp36nr15xfl9lwf3dc4";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.12.5"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.12.5".lazy_static or false then [ (crates.lazy_static."${deps."wayland_sys"."0.12.5".lazy_static}" deps) ] else [])
-      ++ (if features.wayland_sys."0.12.5".libc or false then [ (crates.libc."${deps."wayland_sys"."0.12.5".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.12.5" or {});
-  };
-  features_.wayland_sys."0.12.5" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.12.5".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.12.5".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.12.5"."dlopen" or false) ||
-        (f."wayland_sys"."0.12.5"."dlopen" or false); }
-      { "${deps.wayland_sys."0.12.5".dlib}".default = true; }
-    ];
-    lazy_static."${deps.wayland_sys."0.12.5".lazy_static}".default = true;
-    libc."${deps.wayland_sys."0.12.5".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "0.12.5"."lazy_static" =
-        (f.wayland_sys."0.12.5"."lazy_static" or false) ||
-        (f.wayland_sys."0.12.5".dlopen or false) ||
-        (wayland_sys."0.12.5"."dlopen" or false); }
-      { "0.12.5"."libc" =
-        (f.wayland_sys."0.12.5"."libc" or false) ||
-        (f.wayland_sys."0.12.5".server or false) ||
-        (wayland_sys."0.12.5"."server" or false); }
-      { "0.12.5".default = (f.wayland_sys."0.12.5".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.12.5"."dlib"}" deps)
-    (features_.lazy_static."${deps."wayland_sys"."0.12.5"."lazy_static"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.12.5"."libc"}" deps)
-  ];
-
-
-# end
-# winapi-0.2.8
-
-  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-  };
-  features_.winapi."0.2.8" = deps: f: updateFeatures f ({
-    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
-  }) [];
-
-
-# end
-# winapi-0.3.6
-
-  crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.3.6";
-    description = "Raw FFI bindings for all of Windows API.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1d9jfp4cjd82sr1q4dgdlrkvm33zhhav9d7ihr0nivqbncr059m4";
-    build = "build.rs";
-    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
-    ]) else [])
-      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
-    ]) else []);
-    features = mkFeatures (features."winapi"."0.3.6" or {});
-  };
-  features_.winapi."0.3.6" = deps: f: updateFeatures f ({
-    winapi."0.3.6".default = (f.winapi."0.3.6".default or true);
-    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.6".winapi_i686_pc_windows_gnu}".default = true;
-    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.6".winapi_x86_64_pc_windows_gnu}".default = true;
-  }) [
-    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
-    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
-  ];
-
-
-# end
-# winapi-build-0.1.1
-
-  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    description = "Common code for build.rs in WinAPI -sys crates.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-  };
-  features_.winapi_build."0.1.1" = deps: f: updateFeatures f ({
-    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
-  }) [];
-
-
-# end
-# winapi-i686-pc-windows-gnu-0.4.0
-
-  crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-i686-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
-    build = "build.rs";
-  };
-  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
-    winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-# winapi-x86_64-pc-windows-gnu-0.4.0
-
-  crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-x86_64-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
-    build = "build.rs";
-  };
-  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
-    winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-# xcb-0.8.2
-
-  crates.xcb."0.8.2" = deps: { features?(features_.xcb."0.8.2" deps {}) }: buildRustCrate {
-    crateName = "xcb";
-    version = "0.8.2";
-    description = "Rust bindings and wrappers for XCB";
-    authors = [ "Remi Thebault <remi.thebault@gmail.com>" ];
-    sha256 = "06l8jms57wvz01vx82a3cwak9b9qwdkadvpmkk1zimy2qg7i7dkl";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."xcb"."0.8.2"."libc"}" deps)
-      (crates."log"."${deps."xcb"."0.8.2"."log"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."libc"."${deps."xcb"."0.8.2"."libc"}" deps)
-    ]);
-    features = mkFeatures (features."xcb"."0.8.2" or {});
-  };
-  features_.xcb."0.8.2" = deps: f: updateFeatures f (rec {
-    libc."${deps.xcb."0.8.2".libc}".default = true;
-    log."${deps.xcb."0.8.2".log}".default = true;
-    xcb = fold recursiveUpdate {} [
-      { "0.8.2"."composite" =
-        (f.xcb."0.8.2"."composite" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."damage" =
-        (f.xcb."0.8.2"."damage" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dpms" =
-        (f.xcb."0.8.2"."dpms" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dri2" =
-        (f.xcb."0.8.2"."dri2" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dri3" =
-        (f.xcb."0.8.2"."dri3" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."glx" =
-        (f.xcb."0.8.2"."glx" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."randr" =
-        (f.xcb."0.8.2"."randr" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."record" =
-        (f.xcb."0.8.2"."record" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."render" =
-        (f.xcb."0.8.2"."render" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false) ||
-        (f.xcb."0.8.2".randr or false) ||
-        (xcb."0.8.2"."randr" or false) ||
-        (f.xcb."0.8.2".xfixes or false) ||
-        (xcb."0.8.2"."xfixes" or false); }
-      { "0.8.2"."res" =
-        (f.xcb."0.8.2"."res" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."screensaver" =
-        (f.xcb."0.8.2"."screensaver" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."shape" =
-        (f.xcb."0.8.2"."shape" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xfixes or false) ||
-        (xcb."0.8.2"."xfixes" or false); }
-      { "0.8.2"."shm" =
-        (f.xcb."0.8.2"."shm" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xv or false) ||
-        (xcb."0.8.2"."xv" or false); }
-      { "0.8.2"."sync" =
-        (f.xcb."0.8.2"."sync" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false); }
-      { "0.8.2"."thread" =
-        (f.xcb."0.8.2"."thread" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xevie" =
-        (f.xcb."0.8.2"."xevie" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xf86dri" =
-        (f.xcb."0.8.2"."xf86dri" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xfixes" =
-        (f.xcb."0.8.2"."xfixes" or false) ||
-        (f.xcb."0.8.2".composite or false) ||
-        (xcb."0.8.2"."composite" or false) ||
-        (f.xcb."0.8.2".damage or false) ||
-        (xcb."0.8.2"."damage" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false) ||
-        (f.xcb."0.8.2".xinput or false) ||
-        (xcb."0.8.2"."xinput" or false); }
-      { "0.8.2"."xinerama" =
-        (f.xcb."0.8.2"."xinerama" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xkb" =
-        (f.xcb."0.8.2"."xkb" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xlib_xcb" =
-        (f.xcb."0.8.2"."xlib_xcb" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xprint" =
-        (f.xcb."0.8.2"."xprint" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xselinux" =
-        (f.xcb."0.8.2"."xselinux" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xtest" =
-        (f.xcb."0.8.2"."xtest" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xv" =
-        (f.xcb."0.8.2"."xv" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xvmc or false) ||
-        (xcb."0.8.2"."xvmc" or false); }
-      { "0.8.2"."xvmc" =
-        (f.xcb."0.8.2"."xvmc" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2".default = (f.xcb."0.8.2".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."xcb"."0.8.2"."libc"}" deps)
-    (features_.log."${deps."xcb"."0.8.2"."log"}" deps)
-    (features_.libc."${deps."xcb"."0.8.2"."libc"}" deps)
-  ];
-
-
-# end
-# xml-rs-0.7.0
-
-  crates.xml_rs."0.7.0" = deps: { features?(features_.xml_rs."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "xml-rs";
-    version = "0.7.0";
-    description = "An XML library in pure Rust";
-    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-    sha256 = "12rynhqjgkg2hzy9x1d1232p9d9jm40bc3by5yzjv8gx089mflyb";
-    libPath = "src/lib.rs";
-    libName = "xml";
-    crateBin =
-      [{  name = "xml-analyze";  path = "src/analyze.rs"; }];
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."xml_rs"."0.7.0"."bitflags"}" deps)
-    ]);
-  };
-  features_.xml_rs."0.7.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.xml_rs."0.7.0".bitflags}".default = true;
-    xml_rs."0.7.0".default = (f.xml_rs."0.7.0".default or true);
-  }) [
-    (features_.bitflags."${deps."xml_rs"."0.7.0"."bitflags"}" deps)
-  ];
-
-
-# end
-}
diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix
deleted file mode 100644
index 7bc6ac70020..00000000000
--- a/pkgs/applications/window-managers/way-cooler/default.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, symlinkJoin, writeShellScriptBin, callPackage, defaultCrateOverrides
-, wayland, cairo, libxkbcommon, pam, python3Packages, lemonbar, gdk-pixbuf
-}:
-
-let
-  wlc = callPackage ./wlc.nix {};
-
-  # refer to
-  # https://github.com/way-cooler/way-cooler.github.io/blob/master/way-cooler-release-i3-default.sh
-  # for version numbers
-  cratesIO = callPackage ./crates-io.nix {};
-
-  fakegit = writeShellScriptBin "git" ''
-    echo ""
-  '';
-  # https://nest.pijul.com/pmeunier/carnix/discussions/22
-  version = "0.8.1";
-  deps = (callPackage ./way-cooler.nix {}).deps;
-  way_cooler_ = f: cratesIO.crates.way_cooler.${version} deps {
-    features = cratesIO.features_.way_cooler.${version} deps {
-      way_cooler.${version} = f;
-    };
-  };
-  way-cooler = ((way_cooler_ { builtin-lua = true; }).override {
-    crateOverrides = defaultCrateOverrides // {
-
-    way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit gdk-pixbuf wayland ]; };
-  };}).overrideAttrs (oldAttrs: {
-    postBuild = ''
-      mkdir -p $out/etc
-      cp -r config $out/etc/way-cooler
-    '';
-  });
-
-  wc-bg = ((callPackage ./wc-bg.nix {}).wc_bg {}).overrideAttrs (oldAttrs: {
-    nativeBuildInputs = [ makeWrapper ];
-
-    postFixup = ''
-      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 {};
-
-  wc-lock = (((callPackage ./wc-lock.nix {}).wc_lock {}).override {
-    crateOverrides = defaultCrateOverrides // {
-
-    wc-lock = attrs: { buildInputs = [ pam ]; };
-  };}).overrideAttrs (oldAttrs: {
-    nativeBuildInputs = [ makeWrapper ];
-
-    postFixup = ''
-      makeWrapper $out/bin/wc-lock $out/bin/wc-lock \
-        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxkbcommon wayland ]}"
-    '';
-  });
-
-  # https://github.com/way-cooler/way-cooler/issues/446
-  wc-bar-bare = stdenv.mkDerivation {
-    name = "wc-bar-bare-2017-12-05";
-
-    src = fetchurl {
-      url = "https://github.com/way-cooler/way-cooler/files/1529701/bar.py.txt";
-      sha256 = "1n1rf1k02i6vimr9n0iksf65phhyy96i5wh5d0rrx7yqki3dh6ka";
-    };
-
-    unpackPhase = "cat $src > bar.py.txt";
-
-    # https://github.com/way-cooler/way-cooler/issues/446#issuecomment-350567833
-    patches = [ ./bar.diff ];
-
-    pythonPath = with python3Packages; [ pydbus ];
-    nativeBuildInputs = with python3Packages; [ python wrapPython ];
-
-    installPhase = ''
-      install -Dm755 bar.py.txt $out/bin/bar.py
-      patchShebangs $out/bin/bar.py
-      wrapPythonPrograms
-    '';
-  };
-  wc-bar = writeShellScriptBin "lemonbar" ''
-    SELECTED="#000000"
-    SELECTED_OTHER_WORKSPACE="#555555"
-    BACKGROUND="#4E2878"
-    # https://github.com/way-cooler/way-cooler/issues/446#issuecomment-349471439
-    sleep 5
-    ${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 {
-  inherit version;
-  name = "way-cooler-with-extensions-${version}";
-  paths = [ way-cooler wc-bg wc-grab wc-lock wc-bar ];
-
-  meta = with stdenv.lib; {
-    description = "Customizable Wayland compositor (window manager)";
-    longDescription = ''
-      Way Cooler is a customizable tiling window manager written in Rust
-      for Wayland and configurable using Lua. It is heavily inspired by
-      the tiling and extensibility of both i3 and awesome. While Lua is
-      used for the configuration, like awesome, extensions for Way Cooler
-      are implemented as totally separate client programs using D-Bus.
-      This means that you can use virtually any language to extend the
-      window manager, with much better guarantees about interoperability
-      between extensions.
-    '';
-    homepage = http://way-cooler.org/;
-    license = with licenses; [ mit ];
-    maintainers = [ maintainers.miltador ];
-    platforms = platforms.all;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/window-managers/way-cooler/way-cooler.nix b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
deleted file mode 100644
index 28a327f1c13..00000000000
--- a/pkgs/applications/window-managers/way-cooler/way-cooler.nix
+++ /dev/null
@@ -1,314 +0,0 @@
-# Generated by carnix 0.9.2: carnix generate-nix
-{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-let crates = cratesIO; in
-rec {
-  way_cooler = crates.crates.way_cooler."0.8.1" deps;
-  __all = [ (way_cooler {}) ];
-  deps.aho_corasick."0.5.3" = {
-    memchr = "0.1.11";
-  };
-  deps.bitflags."0.4.0" = {};
-  deps.bitflags."0.6.0" = {};
-  deps.bitflags."0.7.0" = {};
-  deps.bitflags."0.9.1" = {};
-  deps.bitflags."1.0.4" = {};
-  deps.c_vec."1.2.1" = {};
-  deps.cairo_rs."0.2.0" = {
-    c_vec = "1.2.1";
-    cairo_sys_rs = "0.4.0";
-    glib = "0.3.1";
-    glib_sys = "0.4.0";
-    libc = "0.2.44";
-    winapi = "0.2.8";
-  };
-  deps.cairo_sys_rs."0.4.0" = {
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-    winapi = "0.2.8";
-  };
-  deps.cc."1.0.25" = {};
-  deps.cfg_if."0.1.6" = {};
-  deps.cloudabi."0.0.3" = {
-    bitflags = "1.0.4";
-  };
-  deps.dbus."0.4.1" = {
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.dbus_macros."0.0.6" = {
-    dbus = "0.4.1";
-  };
-  deps.dlib."0.3.1" = {
-    libloading = "0.3.4";
-  };
-  deps.dlib."0.4.1" = {
-    libloading = "0.5.0";
-  };
-  deps.dtoa."0.4.3" = {};
-  deps.dummy_rustwlc."0.7.1" = {
-    bitflags = "0.6.0";
-    libc = "0.2.44";
-    wayland_sys = "0.9.10";
-  };
-  deps.env_logger."0.3.5" = {
-    log = "0.3.9";
-    regex = "0.1.80";
-  };
-  deps.fixedbitset."0.1.9" = {};
-  deps.fuchsia_zircon."0.3.3" = {
-    bitflags = "1.0.4";
-    fuchsia_zircon_sys = "0.3.3";
-  };
-  deps.fuchsia_zircon_sys."0.3.3" = {};
-  deps.gcc."0.3.55" = {};
-  deps.gdk_pixbuf."0.2.0" = {
-    gdk_pixbuf_sys = "0.4.0";
-    glib = "0.3.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-  };
-  deps.gdk_pixbuf_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    gio_sys = "0.4.0";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.getopts."0.2.18" = {
-    unicode_width = "0.1.5";
-  };
-  deps.gio_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.glib."0.3.1" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    lazy_static = "0.2.11";
-    libc = "0.2.44";
-  };
-  deps.glib_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.gobject_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.itoa."0.3.4" = {};
-  deps.json_macro."0.1.1" = {
-    rustc_serialize = "0.3.24";
-  };
-  deps.kernel32_sys."0.2.2" = {
-    winapi = "0.2.8";
-    winapi_build = "0.1.1";
-  };
-  deps.lazy_static."0.2.11" = {};
-  deps.lazy_static."1.2.0" = {};
-  deps.libc."0.2.44" = {};
-  deps.libloading."0.3.4" = {
-    lazy_static = "0.2.11";
-    target_build_utils = "0.3.1";
-    kernel32_sys = "0.2.2";
-    winapi = "0.2.8";
-  };
-  deps.libloading."0.5.0" = {
-    cc = "1.0.25";
-    winapi = "0.3.6";
-  };
-  deps.log."0.3.9" = {
-    log = "0.4.6";
-  };
-  deps.log."0.4.6" = {
-    cfg_if = "0.1.6";
-  };
-  deps.memchr."0.1.11" = {
-    libc = "0.2.44";
-  };
-  deps.nix."0.6.0" = {
-    bitflags = "0.4.0";
-    cfg_if = "0.1.6";
-    libc = "0.2.44";
-    void = "1.0.2";
-    rustc_version = "0.1.7";
-    semver = "0.1.20";
-  };
-  deps.nix."0.9.0" = {
-    bitflags = "0.9.1";
-    cfg_if = "0.1.6";
-    libc = "0.2.44";
-    void = "1.0.2";
-  };
-  deps.num_traits."0.1.43" = {
-    num_traits = "0.2.6";
-  };
-  deps.num_traits."0.2.6" = {};
-  deps.ordermap."0.3.5" = {};
-  deps.petgraph."0.4.13" = {
-    fixedbitset = "0.1.9";
-    ordermap = "0.3.5";
-  };
-  deps.phf."0.7.23" = {
-    phf_shared = "0.7.23";
-  };
-  deps.phf_codegen."0.7.23" = {
-    phf_generator = "0.7.23";
-    phf_shared = "0.7.23";
-  };
-  deps.phf_generator."0.7.23" = {
-    phf_shared = "0.7.23";
-    rand = "0.5.5";
-  };
-  deps.phf_shared."0.7.23" = {
-    siphasher = "0.2.3";
-  };
-  deps.pkg_config."0.3.14" = {};
-  deps.rand."0.3.22" = {
-    libc = "0.2.44";
-    rand = "0.4.3";
-    fuchsia_zircon = "0.3.3";
-  };
-  deps.rand."0.4.3" = {
-    fuchsia_zircon = "0.3.3";
-    libc = "0.2.44";
-    winapi = "0.3.6";
-  };
-  deps.rand."0.5.5" = {
-    rand_core = "0.2.2";
-    cloudabi = "0.0.3";
-    fuchsia_zircon = "0.3.3";
-    libc = "0.2.44";
-    winapi = "0.3.6";
-  };
-  deps.rand_core."0.2.2" = {
-    rand_core = "0.3.0";
-  };
-  deps.rand_core."0.3.0" = {};
-  deps.regex."0.1.80" = {
-    aho_corasick = "0.5.3";
-    memchr = "0.1.11";
-    regex_syntax = "0.3.9";
-    thread_local = "0.2.7";
-    utf8_ranges = "0.1.3";
-  };
-  deps.regex_syntax."0.3.9" = {};
-  deps.rlua."0.9.7" = {
-    libc = "0.2.44";
-    gcc = "0.3.55";
-  };
-  deps.rustc_serialize."0.3.24" = {};
-  deps.rustc_version."0.1.7" = {
-    semver = "0.1.20";
-  };
-  deps.rustwlc."0.7.0" = {
-    bitflags = "0.7.0";
-    libc = "0.2.44";
-    wayland_sys = "0.6.0";
-  };
-  deps.semver."0.1.20" = {};
-  deps.serde."0.9.15" = {};
-  deps.serde_json."0.9.10" = {
-    dtoa = "0.4.3";
-    itoa = "0.3.4";
-    num_traits = "0.1.43";
-    serde = "0.9.15";
-  };
-  deps.siphasher."0.2.3" = {};
-  deps.target_build_utils."0.3.1" = {
-    phf = "0.7.23";
-    serde_json = "0.9.10";
-    phf_codegen = "0.7.23";
-  };
-  deps.thread_id."2.0.0" = {
-    kernel32_sys = "0.2.2";
-    libc = "0.2.44";
-  };
-  deps.thread_local."0.2.7" = {
-    thread_id = "2.0.0";
-  };
-  deps.token_store."0.1.2" = {};
-  deps.unicode_width."0.1.5" = {};
-  deps.utf8_ranges."0.1.3" = {};
-  deps.uuid."0.3.1" = {
-    rand = "0.3.22";
-    rustc_serialize = "0.3.24";
-  };
-  deps.void."1.0.2" = {};
-  deps.way_cooler."0.8.1" = {
-    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.18";
-    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.13";
-    rlua = "0.9.7";
-    rustc_serialize = "0.3.24";
-    rustwlc = "0.7.0";
-    uuid = "0.3.1";
-    wayland_server = "0.12.5";
-    wayland_sys = "0.12.5";
-    xcb = "0.8.2";
-    wayland_scanner = "0.12.5";
-  };
-  deps.wayland_scanner."0.12.5" = {
-    xml_rs = "0.7.0";
-  };
-  deps.wayland_server."0.12.5" = {
-    bitflags = "1.0.4";
-    libc = "0.2.44";
-    nix = "0.9.0";
-    token_store = "0.1.2";
-    wayland_sys = "0.12.5";
-    wayland_scanner = "0.12.5";
-  };
-  deps.wayland_sys."0.6.0" = {
-    dlib = "0.3.1";
-    libc = "0.2.44";
-  };
-  deps.wayland_sys."0.9.10" = {
-    dlib = "0.3.1";
-    lazy_static = "0.2.11";
-    libc = "0.2.44";
-  };
-  deps.wayland_sys."0.12.5" = {
-    dlib = "0.4.1";
-    lazy_static = "1.2.0";
-    libc = "0.2.44";
-  };
-  deps.winapi."0.2.8" = {};
-  deps.winapi."0.3.6" = {
-    winapi_i686_pc_windows_gnu = "0.4.0";
-    winapi_x86_64_pc_windows_gnu = "0.4.0";
-  };
-  deps.winapi_build."0.1.1" = {};
-  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
-  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
-  deps.xcb."0.8.2" = {
-    libc = "0.2.44";
-    log = "0.4.6";
-  };
-  deps.xml_rs."0.7.0" = {
-    bitflags = "1.0.4";
-  };
-}
diff --git a/pkgs/applications/window-managers/way-cooler/wc-bg.nix b/pkgs/applications/window-managers/way-cooler/wc-bg.nix
deleted file mode 100644
index a797e7aacde..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-bg.nix
+++ /dev/null
@@ -1,1372 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-bg.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.buildPlatform.parsed.kernel.name;
-    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 feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-rec {
-  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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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
deleted file mode 100644
index 3264357b2fd..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-grab.nix
+++ /dev/null
@@ -1,794 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-grab.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    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 feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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
deleted file mode 100644
index 6ffc5779a0b..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-lock.nix
+++ /dev/null
@@ -1,1479 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-lock.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    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 feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-rec {
-  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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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 ({
-    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/way-cooler/wlc.nix b/pkgs/applications/window-managers/way-cooler/wlc.nix
deleted file mode 100644
index 03d0b3023f7..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wlc.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
-, wayland, pixman, libxkbcommon, libinput, xcbutilwm, xcbutilimage, libGL
-, libX11, dbus, wayland-protocols, libdrm, mesa
-, libpthreadstubs, libXdmcp, libXext, libXfixes
-, withOptionalPackages ? true, zlib, valgrind, doxygen
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wlc";
-  version = "0.0.11";
-
-  src = fetchFromGitHub {
-    owner = "Cloudef";
-    repo = "wlc";
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "1qnak907gjd35hq4b0rrhgb7kz5iwnirh8yk372yzxpgk7dq0gz9";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [
-    wayland pixman libxkbcommon libinput xcbutilwm xcbutilimage libGL
-    libX11 libXfixes dbus wayland-protocols
-    libpthreadstubs libXdmcp libXext libdrm mesa ]
-    ++ stdenv.lib.optionals withOptionalPackages [ zlib valgrind doxygen ];
-
-  doCheck = true;
-  checkTarget = "test";
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "A library for making a simple Wayland compositor";
-    homepage    = https://github.com/Cloudef/wlc;
-    license     = licenses.mit;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.
-  };
-}
diff --git a/pkgs/build-support/docker-slim/default.nix b/pkgs/build-support/docker-slim/default.nix
new file mode 100644
index 00000000000..6004898f08e
--- /dev/null
+++ b/pkgs/build-support/docker-slim/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, buildGoPackage
+, fetchFromGitHub
+, makeWrapper
+}:
+
+let
+
+  version = "1.26.1";
+  rev = "2ec04e169b12a87c5286aa09ef44eac1cea2c7a1";
+
+in buildGoPackage rec {
+  pname = "docker-slim";
+  inherit version;
+
+  goPackagePath = "github.com/docker-slim/docker-slim";
+
+  src = fetchFromGitHub {
+    owner = "docker-slim";
+    repo = "docker-slim";
+    inherit rev;
+    # fetchzip yields a different hash on Darwin because `use-case-hack`
+    sha256 =
+      if stdenv.isDarwin
+      then "0j72rn6qap78qparrnslxm3yv83mzy1yc7ha0crb4frwkzmspyvf"
+      else "01bjb14z7yblm7qdqrx1j2pw5x5da7a6np4rkzay931gly739gbh";
+  };
+
+  subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  # docker-slim vendorized logrus files in different directories, which
+  # conflicts on case-sensitive filesystems
+  preBuild = stdenv.lib.optionalString stdenv.isLinux ''
+    mv go/src/${goPackagePath}/vendor/github.com/Sirupsen/logrus/* \
+      go/src/${goPackagePath}/vendor/github.com/sirupsen/logrus/
+  '';
+
+  buildFlagsArray =
+    let
+      ldflags = "-ldflags=-s -w " +
+                "-X ${goPackagePath}/pkg/version.appVersionTag=${version} " +
+                "-X ${goPackagePath}/pkg/version.appVersionRev=${rev}";
+    in
+      [ ldflags ];
+
+  # docker-slim tries to create its state dir next to the binary (inside the nix
+  # store), so we set it to use the working directory at the time of invocation
+  postInstall = ''
+    wrapProgram "$bin/bin/docker-slim" --add-flags '--state-path "$(pwd)"'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Minify and secure Docker containers";
+    homepage = "https://dockersl.im/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 marsam mbrgm ];
+    # internal/app/sensor/monitors/ptrace/monitor.go:151:16: undefined:
+    #     system.CallNumber
+    # internal/app/sensor/monitors/ptrace/monitor.go:161:15: undefined:
+    #     system.CallReturnValue
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index c0e115bca28..a0a61f7cc50 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -425,8 +425,8 @@
 
   # Maven Central
   maven = [
-    http://repo1.maven.org/maven2/
-    http://central.maven.org/maven2/
+    https://repo1.maven.org/maven2/
+    https://central.maven.org/maven2/
   ];
 
   # Alsa Project
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index f9cf8f1f0c1..4089436c0e0 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -100,9 +100,9 @@ stdenv.mkDerivation (args // {
   '' + stdenv.lib.optionalString verifyCargoDeps ''
     if ! diff source/Cargo.lock $cargoDeps/Cargo.lock ; then
       echo
-      echo "ERROR: cargoSha256 is out of date."
+      echo "ERROR: cargoSha256 is out of date"
       echo
-      echo "Cargo.lock is not the same in $cargoDeps."
+      echo "Cargo.lock is not the same in $cargoDeps"
       echo
       echo "To fix the issue:"
       echo '1. Use "1111111111111111111111111111111111111111111111111111" as the cargoSha256 value'
diff --git a/pkgs/data/fonts/jetbrains-mono/default.nix b/pkgs/data/fonts/jetbrains-mono/default.nix
new file mode 100644
index 00000000000..05eb554c6f4
--- /dev/null
+++ b/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchzip }:
+
+let
+  version = "1.0.0";
+in
+fetchzip rec {
+  name = "JetBrainsMono-${version}";
+
+  url = "https://download.jetbrains.com/fonts/JetBrainsMono-${version}.zip";
+
+  sha256 = "0mwqi66d56v4ml1w7wjsiidrh153jvh0czafyic47rkvmxhnrrhv";
+
+  postFetch = ''
+    unzip $downloadedFile
+    install -m444 -Dt $out/share/fonts/truetype *.ttf
+  '';
+
+  meta = with lib; {
+    description = "A typeface made for developers";
+    homepage = "https://jetbrains.com/mono/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/sudo/default.nix b/pkgs/data/fonts/sudo/default.nix
index 359139ec9c6..3906353d82b 100644
--- a/pkgs/data/fonts/sudo/default.nix
+++ b/pkgs/data/fonts/sudo/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "0.40";
+  version = "0.41";
 in fetchzip {
   name = "sudo-font-${version}";
   url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-  sha256 = "1nf025sjps4yysf6zkns5fzjgls6xdpifh7bz4ray9x8h5pz0z64";
+  sha256 = "055sz9jg3fg7ypk9nia4dl9haaaq3w8zx5c2cdi3iq9kj8k5gg53";
 
   postFetch = ''
     mkdir -p $out/share/fonts/truetype/
diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix
index ea562f7fa6e..89b13585eb0 100644
--- a/pkgs/data/fonts/victor-mono/default.nix
+++ b/pkgs/data/fonts/victor-mono/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "victor-mono";
-  version = "1.3.0";
+  version = "1.3.1";
 in fetchFromGitHub rec {
   name = "${pname}-${version}";
 
@@ -26,7 +26,7 @@ in fetchFromGitHub rec {
     unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
   '';
 
-  sha256 = "1lv2x7kfspabnhvm8z79n165fw3awvzj1r8f0g5zn26wgdalgw69";
+  sha256 = "1yj91rhs9pd705406r4lqabdfzjclbz837nzm6z1rziy6mbpd61s";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/pkgs/data/icons/bibata-cursors/default.nix b/pkgs/data/icons/bibata-cursors/default.nix
index a7a403726fa..cfe65d80bd8 100644
--- a/pkgs/data/icons/bibata-cursors/default.nix
+++ b/pkgs/data/icons/bibata-cursors/default.nix
@@ -1,25 +1,28 @@
-{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen, python3 }:
 
-stdenvNoCC.mkDerivation rec {
+let
+  py = python3.withPackages(ps: [ ps.pillow ]);
+in stdenvNoCC.mkDerivation rec {
   pname = "bibata-cursors";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "KaizIqbal";
     repo = "Bibata_Cursor";
     rev = "v${version}";
-    sha256 = "14gvpjp4gv0m59qr8wls7xs5yjx5llldyzack5kg5cg2mzk2nsml";
+    sha256 = "1f7i5jkl21fvrr45zpcj40avkc7camjb1ddrrdlaabbplgz5mcgn";
   };
 
   postPatch = ''
     patchShebangs .
-    substituteInPlace build.sh --replace "gksu " ""
+    substituteInPlace build.sh --replace "sudo" ""
   '';
 
   nativeBuildInputs  = [
     gnome-themes-extra
     inkscape
     xcursorgen
+    py
   ];
 
   buildPhase = ''
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 0537a5d5373..d6b5965cca0 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/477d50a859be91a25b2fed6494d414044d7e71ab.tar.gz";
-  sha256 = "0wzi2wgcp5ykwp4wrhcfdaxlbdzrmlgalparx3ap80q069c8fd0n";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/b2812edaaed9f9033e48dfbcd45e7e5fb56daccd.tar.gz";
+  sha256 = "1a2073gknks4r2ibm3ji1wrib6pr3aicg6wjgzsj2r5xgad7jm6g";
 }
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
new file mode 100644
index 00000000000..094140cbf4e
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -0,0 +1,76 @@
+{ fetchFromGitHub
+, gdk-pixbuf
+, gobject-introspection
+, gtk3
+, intltool
+, meson
+, ninja
+, pkgconfig
+, pulseaudio
+, python3
+, stdenv
+, xkeyboard_config
+, xorg
+, wrapGAppsHook
+, glib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cinnamon-desktop";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "17hb8gkb9pfj56ckva5g4x83yvmdv7hvpidxjsdf79dw6pabr5rg";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  propagatedBuildInputs = [
+    glib
+    gtk3
+    pulseaudio
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    xkeyboard_config
+    xorg.libxkbfile
+    xorg.libXext
+    xorg.libXrandr
+    gobject-introspection
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    python3
+    wrapGAppsHook
+    intltool
+    pkgconfig
+  ];
+
+  postPatch = ''
+    chmod +x install-scripts/meson_install_schemas.py # patchShebangs requires executable file
+    patchShebangs install-scripts/meson_install_schemas.py
+    sed "s|/usr/share|/run/current-system/sw/share|g" -i ./schemas/* # NOTE: unless this causes a circular dependency, we could link it to cinnamon-common/share/cinnamon
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/cinnamon-desktop";
+    description = "Library and data for various Cinnamon modules";
+
+    longDescription = ''
+      The libcinnamon-desktop library provides API shared by several applications
+      on the desktop, but that cannot live in the platform for various
+      reasons. There is no API or ABI guarantee, although we are doing our
+      best to provide stability. Documentation for the API is available with
+      gtk-doc.
+    '';
+
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
new file mode 100644
index 00000000000..7d9ba7cc438
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -0,0 +1,82 @@
+{ autoconf-archive
+, autoreconfHook
+, dbus-glib
+, fetchFromGitHub
+, gobject-introspection
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+, python3
+, cairo
+, gnome3
+, xapps
+, keybinder3
+, upower
+, callPackage
+, glib
+, libffi
+, gtk3
+, readline
+}:
+
+let
+
+  # https://github.com/linuxmint/cjs/issues/80
+  spidermonkey_52 = callPackage ./spidermonkey_52.nix {};
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "cjs";
+  version = "4.4.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0q5h2pbwysc6hwq5js3lwi6zn7i5qjjy070ynfhfn3z69lw5iz2d";
+  };
+
+  propagatedBuildInputs = [
+    glib
+
+    # bindings
+    gnome3.caribou
+    keybinder3
+    upower
+    xapps
+  ];
+
+  nativeBuildInputs = [
+    autoconf-archive
+    autoreconfHook
+    wrapGAppsHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    # from .pc
+    gobject-introspection
+    libffi
+    spidermonkey_52 # mozjs-52
+    cairo # +cairo-gobject
+    gtk3
+
+    # other
+
+    dbus-glib
+    readline
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/cjs";
+    description = "JavaScript bindings for Cinnamon";
+
+    longDescription = ''
+      This module contains JavaScript bindings based on gobject-introspection.
+    '';
+
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/cjs/fix-werror.patch b/pkgs/desktops/cinnamon/cjs/fix-werror.patch
new file mode 100644
index 00000000000..0218eba3b46
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cjs/fix-werror.patch
@@ -0,0 +1,39 @@
+From 1b802175914418f5675047c34f1ab1593dd35b18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Wed, 8 Jan 2020 11:04:27 +0100
+Subject: [PATCH] fix werror
+
+---
+ js/src/moz.build       | 2 +-
+ js/src/shell/moz.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/js/src/moz.build b/js/src/moz.build
+index 1162cb70c..595ea9842 100644
+--- a/js/src/moz.build
++++ b/js/src/moz.build
+@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
+         DEFINES['FFI_BUILDING'] = True
+ 
+ if CONFIG['GNU_CXX']:
+-    CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++    CXXFLAGS += ['-Wno-shadow']
+ 
+ # Suppress warnings in third-party code.
+ if CONFIG['CLANG_CXX']:
+diff --git a/js/src/shell/moz.build b/js/src/shell/moz.build
+index 72ea8145c..77475b241 100644
+--- a/js/src/shell/moz.build
++++ b/js/src/shell/moz.build
+@@ -51,7 +51,7 @@ shellmoduleloader.inputs = [
+ ]
+ 
+ if CONFIG['GNU_CXX']:
+-    CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++    CXXFLAGS += ['-Wno-shadow']
+ 
+ # This is intended as a temporary workaround to enable VS2015.
+ if CONFIG['_MSC_VER']:
+-- 
+2.17.1
+
diff --git a/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix b/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix
new file mode 100644
index 00000000000..87f670c8c09
--- /dev/null
+++ b/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix
@@ -0,0 +1,95 @@
+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
+
+let
+  version = "52.9.0";
+in stdenv.mkDerivation {
+  pname = "spidermonkey";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
+    sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
+  };
+
+  outputs = [ "out" "dev" ];
+  setOutputFlags = false; # Configure script only understands --includedir
+
+  buildInputs = [ readline icu zlib nspr ];
+  nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
+
+  # Apparently this package fails to build correctly with modern compilers, which at least
+  # on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
+  # These flags were stolen from:
+  # https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
+  NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
+
+  patches = [
+    # needed to build gnome3.gjs
+    (fetchpatch {
+      name = "mozjs52-disable-mozglue.patch";
+      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
+      sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
+    })
+    (fetchpatch {
+      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/no-error.diff?h=packages/js52;
+      sha256 = "1vsw6558lxiy0r1mg6y49cgddan1mfqvqlkyv734bgxyg6n3pb9i";
+    })
+    ./fix-werror.patch
+  ];
+
+  configurePlatforms = [ ];
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${buildPackages.python2.interpreter}"
+    configureFlagsArray+=("--includedir=$dev/include")
+
+    cd js/src
+
+    autoconf
+  '';
+
+  configureFlags = [
+    "--with-nspr-prefix=${nspr}"
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--with-intl-api"
+    "--enable-readline"
+    "--enable-shared-js"
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
+    ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--host=${stdenv.buildPlatform.config}"
+    "--target=${stdenv.hostPlatform.config}"
+  ];
+
+  makeFlags = [
+    "HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
+  ];
+
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    moveToOutput bin/js52-config "$dev"
+    # Nuke a static lib.
+    rm $out/lib/libjs_static.ajs
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+
+    # Commented out so hydra builds the package
+    # (I know what you're thinking now, but cjs won't be pulling anything from the network
+    #  and modules are allowed to execute commands anyways, so an RCE is basically irrelevant)
+    #
+    # knownVulnerabilities = [
+    #   "The runtime was extracted from Firefox 52, which EOL’d on September 5, 2018."
+    # ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
index 44589078241..4ffbf8f6bb3 100644
--- a/pkgs/desktops/cinnamon/default.nix
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -1,5 +1,7 @@
 { pkgs, lib }:
 
 lib.makeScope pkgs.newScope (self: with self; {
-  xapps = callPackage ./xapps {};
+  cinnamon-desktop = callPackage ./cinnamon-desktop { };
+  cjs = callPackage ./cjs { };
+  xapps = callPackage ./xapps { };
 })
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index c6d5b22f934..315968fde65 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -26,11 +26,11 @@
 
 stdenv.mkDerivation rec {
   pname = "seahorse";
-  version = "3.34";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v";
+    sha256 = "19c2zylwgycb5q9hal8rmflc2sywc5c2grpsfsq3rf37i9lfwynw";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 5934f56274c..93d22a99e15 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "dconf-editor";
-  version = "3.34.2";
+  version = "3.34.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f";
+    sha256 = "12q2cjds5fbarc5zajmhbx9vrbfn28hrklrk1fbgdv1ykxm1ljcv";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index 459512017c5..3df78b88090 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation rec {
   pname = "gnome-session";
   version = "3.34.2";
 
+  outputs = ["out" "sessions"];
+
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb";
@@ -50,6 +52,15 @@ stdenv.mkDerivation rec {
       --suffix XDG_CONFIG_DIRS : "${gnome3.gnome-settings-daemon}/etc/xdg"
   '';
 
+  # We move the GNOME sessions to another output since gnome-session is a dependency of
+  # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is
+  # enabled without proper GNOME installation.
+  postInstall = ''
+    mkdir $sessions
+    moveToOutput share/wayland-sessions "$sessions"
+    moveToOutput share/xsessions "$sessions"
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gnome-session";
diff --git a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix b/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
index 137357e0a39..5b2b797e362 100644
--- a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-klotski";
-  version = "3.34.0";
+  version = "3.34.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f";
+    sha256 = "0swbyjlgrkd1hgcmp23h7p8fpjm2rpmnn87n6is0jx1x4cl8ab18";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 0e692a8e806..d92f24d615e 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-code";
-  version = "3.1.1";
+  version = "3.2.0";
 
   repoName = "code";
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0l469fi5vbcazwfhy320nr8wrzz96jbrqn4hag0kdm16wvf5x1yc";
+    sha256 = "0sdh22dc38qikak9iyrw402ap6zxckg9vkfppvv526jg88cckibd";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index bbb3ee59596..27bcb21a006 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.5.0";
+  version = "5.5.1";
 
   repoName = "terminal";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1wna3kcg621qjyvg70dzk4lfq8si2snnlm9fnl5gj0w6b707gz2x";
+    sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
index 03e6ef999eb..28ec4e65f52 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.3.7";
+  version = "2.3.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz";
+    sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 9943415a457..291977349bd 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -6,11 +6,13 @@
 , ninja
 , hicolor-icon-theme
 , gtk3
+, inkscape
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-icon-theme";
-  version = "5.1.0";
+  version = "5.2.0";
 
   repoName = "icons";
 
@@ -18,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1yrf92ysjh1yfm42wznlw0lh9zsm5whghwzx3b3wcdkwdhkdg24z";
+    sha256 = "1irkjj8xfpgkl5p56xhqa3w2s98b8lav7d1lxxrabdi87cjv3n33";
   };
 
   passthru = {
@@ -29,9 +31,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     gtk3
+    inkscape
     meson
     ninja
     python3
+    xorg.xcursorgen
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index e601c99108b..be97c5903eb 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-default-settings";
-  version = "5.1.1";
+  version = "5.1.2";
 
   repoName = "default-settings";
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "10sdy8v34y6bgb3mabwy7k3b5dbqrnab504dvhashpfxr9n9xncy";
+    sha256 = "00z31alwn2skhksrhp2jk75f6jlaipzk91hclx7na4gbcyrw7ahw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 72f94252cca..af6155037ef 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.6";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26";
+    sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
index ad7f96d6b2a..5333ad154f5 100644
--- a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
@@ -21,11 +21,11 @@ defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do
   end
 
   defp get_token do
-    String.to_charlist("#{System.get_env("OAUTH_TOKEN")}")
+    System.get_env("OAUTH_TOKEN")
   end
 
-  defp put_token(headers, token) when is_list(token) do
-    Map.put_new(headers, 'Authorization', 'token #{token}')
+  defp put_token(headers, token) when token != nil do
+    Map.put_new(headers, 'Authorization', 'token #{String.to_charlist(token)}')
   end
 
   defp put_token(headers, _), do: headers
diff --git a/pkgs/development/compilers/bs-platform/bs-platform-62.nix b/pkgs/development/compilers/bs-platform/bs-platform-62.nix
deleted file mode 100644
index d2913caaee6..00000000000
--- a/pkgs/development/compilers/bs-platform/bs-platform-62.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchFromGitHub, ninja, nodejs, python3 }:
-let
-  version = "6.2.1";
-  ocaml-version = "4.06.1";
-  src = fetchFromGitHub {
-    owner = "BuckleScript";
-    repo = "bucklescript";
-    rev = "${version}";
-    sha256 = "0zx9nq7cik0c60n3rndqfqy3vdbj5lcrx6zcqcz2d60jjxi1z32y";
-    fetchSubmodules = true;
-  };
-  ocaml =  import ./ocaml.nix {
-    bs-version = version;
-    version = ocaml-version;
-    inherit stdenv;
-    src = "${src}/ocaml";
-  };
-in
-stdenv.mkDerivation {
-  inherit src version;
-  pname = "bs-platform";
-  BS_RELEASE_BUILD = "true";
-  buildInputs = [ nodejs python3 ];
-
-  patchPhase = ''
-    sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js
-
-    mkdir -p ./native/${ocaml-version}/bin
-    ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin
-
-    rm -f vendor/ninja/snapshot/ninja.linux
-    cp ${ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
-  '';
-
-  configurePhase = ''
-    node scripts/ninja.js config
-  '';
-
-  buildPhase = ''
-    node scripts/ninja.js build
-  '';
-
-  installPhase = ''
-    node scripts/install.js
-
-    mkdir -p $out/bin
-
-    cp -rf jscomp lib vendor odoc_gen native $out
-    cp bsconfig.json package.json $out
-
-    ln -s $out/lib/bsb $out/bin/bsb
-    ln -s $out/lib/bsc $out/bin/bsc
-    ln -s $out/lib/bsrefmt $out/bin/bsrefmt
-  '';
-}
diff --git a/pkgs/development/compilers/bs-platform/build-bs-platform.nix b/pkgs/development/compilers/bs-platform/build-bs-platform.nix
new file mode 100644
index 00000000000..830a0b647c4
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/build-bs-platform.nix
@@ -0,0 +1,51 @@
+# This file is based on https://github.com/turboMaCk/bs-platform.nix/blob/master/build-bs-platform.nix
+# to make potential future updates simpler
+
+{ stdenv, fetchFromGitHub, ninja, runCommand, nodejs, python3,
+  ocaml-version, version, src,
+  ocaml ? (import ./ocaml.nix {
+    version = ocaml-version;
+    inherit stdenv;
+    src = "${src}/ocaml";
+  }),
+  custom-ninja ? (ninja.overrideAttrs (attrs: {
+    src = runCommand "ninja-patched-source" {} ''
+      mkdir -p $out
+      tar zxvf ${src}/vendor/ninja.tar.gz -C $out
+    '';
+    patches = [];
+  }))
+}:
+stdenv.mkDerivation {
+  inherit src version;
+  pname = "bs-platform";
+  BS_RELEASE_BUILD = "true";
+  buildInputs = [ nodejs python3 custom-ninja ];
+
+  patchPhase = ''
+    sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js
+    mkdir -p ./native/${ocaml-version}/bin
+    ln -sf ${ocaml}/bin/*  ./native/${ocaml-version}/bin
+    rm -f vendor/ninja/snapshot/ninja.linux
+    cp ${custom-ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
+  '';
+
+  configurePhase = ''
+    node scripts/ninja.js config
+  '';
+
+  buildPhase = ''
+    # This is an unfortunate name, but it's actually how to build a release
+    # binary for BuckleScript
+    node scripts/install.js
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -rf jscomp lib vendor odoc_gen native $out
+    cp bsconfig.json package.json $out
+    ln -s $out/lib/bsb $out/bin/bsb
+    ln -s $out/lib/bsc $out/bin/bsc
+    ln -s $out/lib/bsrefmt $out/bin/bsrefmt
+  '';
+}
diff --git a/pkgs/development/compilers/bs-platform/default.nix b/pkgs/development/compilers/bs-platform/default.nix
index 5eb11671ca9..7abf7b306a5 100644
--- a/pkgs/development/compilers/bs-platform/default.nix
+++ b/pkgs/development/compilers/bs-platform/default.nix
@@ -1,15 +1,28 @@
-{ stdenv, fetchFromGitHub, ninja, nodejs, python3, ... }:
+{ stdenv, runCommand, fetchFromGitHub, ninja, nodejs, python3, ... }:
 let
+  build-bs-platform = import ./build-bs-platform.nix;
+in
+(build-bs-platform {
+  inherit stdenv runCommand fetchFromGitHub ninja nodejs python3;
+  version = "7.0.1";
+  ocaml-version = "4.06.1";
+
+  src = fetchFromGitHub {
+    owner = "BuckleScript";
+    repo = "bucklescript";
+    rev = "52770839e293ade2bcf187f2639000ca0a9a1d46";
+    sha256 = "0s7g2zfhshsilv9zyp0246bypg34d294z27alpwz03ws9608yr7k";
+    fetchSubmodules = true;
+  };
+}).overrideAttrs (attrs: {
   meta = with stdenv.lib; {
     description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code.";
     homepage = https://bucklescript.github.io;
     license = licenses.lgpl3;
-    maintainers = with maintainers; [ turbomack gamb ];
+    maintainers = with maintainers; [ turbomack gamb anmonteiro ];
     platforms = platforms.all;
+    # Currently there is an issue with aarch build in hydra
+    # https://github.com/BuckleScript/bucklescript/issues/4091
+    badPlatforms = platforms.aarch64;
   };
-in
-{
-  bs-platform-621 = import ./bs-platform-62.nix {
-    inherit stdenv fetchFromGitHub ninja nodejs python3;
-  } // { inherit meta; };
-}
+})
diff --git a/pkgs/development/compilers/bs-platform/ocaml.nix b/pkgs/development/compilers/bs-platform/ocaml.nix
index 1f2fdd571f3..9aa34d02b36 100644
--- a/pkgs/development/compilers/bs-platform/ocaml.nix
+++ b/pkgs/development/compilers/bs-platform/ocaml.nix
@@ -1,7 +1,7 @@
-{ stdenv, src, version, bs-version }:
+{ stdenv, src, version }:
 stdenv.mkDerivation rec {
   inherit src version;
-  name = "ocaml-${version}+bs-${bs-version}";
+  name = "ocaml-${version}+bs";
   configurePhase = ''
     ./configure -prefix $out
   '';
diff --git a/pkgs/development/compilers/computecpp/default.nix b/pkgs/development/compilers/computecpp/default.nix
new file mode 100644
index 00000000000..65cfcaa7ff6
--- /dev/null
+++ b/pkgs/development/compilers/computecpp/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchzip
+, pkg-config
+, autoPatchelfHook
+, installShellFiles
+, ncurses5
+, ocl-icd
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "computecpp";
+  version = "1.2.0";
+
+  src = fetchzip {
+    url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/ubuntu-16.04-64bit.tar.gz";
+    sha256 = "191kwvzxfg1sbaq6aw6f84chi7bhsibb2a63zsyz3gz8m0c0syr5";
+    stripRoot = true;
+  };
+
+  dontStrip = true;
+
+  buildInputs = [ stdenv.cc.cc.lib ncurses5 ocl-icd zlib ];
+  nativeBuildInputs = [ autoPatchelfHook pkg-config installShellFiles ];
+
+  installPhase = ''
+    runHook preInstall
+
+    find ./lib -type f -exec install -D -m 0755 {} -t $out/lib \;
+    find ./bin -type l -exec install -D -m 0755 {} -t $out/bin \;
+    find ./bin -type f -exec install -D -m 0755 {} -t $out/bin \;
+    find ./doc -type f -exec install -D -m 0644 {} -t $out/doc \;
+    find ./include -type f -exec install -D -m 0644 {} -t $out/include \;
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    isClang = true;
+  } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
+    gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+  };
+
+  meta = with stdenv.lib; {
+    description =
+      "Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards";
+    homepage = https://www.codeplay.com/products/computesuite/computecpp;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ davidtwco ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/dotnet/buildDotnet.nix b/pkgs/development/compilers/dotnet/buildDotnet.nix
new file mode 100644
index 00000000000..58e67ff008a
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/buildDotnet.nix
@@ -0,0 +1,67 @@
+{ type
+, version
+, sha512
+}:
+assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
+{ stdenv
+, fetchurl
+, libunwind
+, openssl
+, icu
+, libuuid
+, zlib
+, curl
+}: 
+let pname = if type == "aspnetcore" then "aspnetcore-runtime" else if type == "netcore" then "dotnet-runtime" else "dotnet-sdk";
+    urls = {
+        aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
+        netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
+        sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
+    };
+    descriptions = {
+        aspnetcore = "ASP .NET Core runtime ${version}";
+        netcore = ".NET Core runtime ${version}";
+        sdk = ".NET SDK ${version}";
+    };
+in stdenv.mkDerivation rec {
+    inherit pname version;
+
+    rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
+
+    src = fetchurl {
+        url = builtins.getAttr type urls;
+        inherit sha512;
+    };
+
+    sourceRoot = ".";
+
+    dontPatchELF = true;
+
+    installPhase = ''
+        runHook preInstall
+        mkdir -p $out/bin
+        cp -r ./ $out
+        ln -s $out/dotnet $out/bin/dotnet
+        runHook postInstall
+    '';
+
+    postFixup = ''
+        patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
+        patchelf --set-rpath "${rpath}" $out/dotnet
+        find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
+        find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
+    '';
+
+    doInstallCheck = true;
+    installCheckPhase = ''
+        $out/bin/dotnet --info
+    '';
+
+    meta = with stdenv.lib; {
+        homepage = https://dotnet.github.io/;
+        description = builtins.getAttr type descriptions;
+        platforms = [ "x86_64-linux" ];
+        maintainers = with maintainers; [ kuznero ];
+        license = licenses.mit;
+    };
+}
diff --git a/pkgs/development/compilers/dotnet/combinePackages.nix b/pkgs/development/compilers/dotnet/combinePackages.nix
new file mode 100644
index 00000000000..00fb7c6d9b4
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/combinePackages.nix
@@ -0,0 +1,20 @@
+packages:
+{ buildEnv, lib }:
+let cli = builtins.head packages;
+in
+assert lib.assertMsg ((builtins.length packages) != 0)
+    ''You must include at least one package, e.g
+      `with dotnetCorePackages; combinePackages {
+          packages = [ sdk_3_0 aspnetcore_2_1 ];
+       };`'' ;
+  buildEnv {
+    name = "dotnet-core-combined";
+    paths = packages;
+    pathsToLink = [ "/host" "/packs" "/sdk" "/shared" "/templates" ];
+    ignoreCollisions = true;
+    postBuild = ''
+      cp ${cli}/dotnet $out/dotnet
+      mkdir $out/bin
+      ln -s $out/dotnet $out/bin/
+    '';
+  }
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
new file mode 100644
index 00000000000..58d49a50515
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -0,0 +1,68 @@
+/*
+How to combine packages for use in development:
+dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_3_0 sdk aspnetcore_2_1 ];
+*/
+{ callPackage }:
+let
+  buildDotnet = attrs: callPackage (import ./buildDotnet.nix attrs) {};
+  buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; } );
+  buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; } );
+  buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; } );
+in rec {
+  combinePackages = attrs: callPackage (import ./combinePackages.nix attrs) {};
+
+  # v2.1.15 (LTS)
+
+  aspnetcore_2_1 = buildAspNetCore {
+    version = "2.1.15";
+    sha512 = "a557f175cca92bb1dd66cf638ff84fe85750fab67028bd4472748b22ef0591f5f3812446a3dbe21c3d1be28c47d459d854d690dbace1b95bc7136b248af87334";
+  };
+
+  netcore_2_1 = buildNetCore {
+    version = "2.1.15";
+    sha512 = "cfd7f7caea7e896dd4d68a05c827c86f38595f24e854edb3f934715ee1268e2623f17ff768215e465fe596cd474497384be2b1381f04ddd6d555665a341f65f6";
+  };
+
+  sdk_2_1 = buildNetCoreSdk {
+    version = "2.1.803";
+    sha512 = "57d48d6ca1bd92ac348dc05220d984811c0cf005774d7afdfbbf125a842acb0a26572146ed25a7eb26f4e0404fe840b70d1e7ec1fb7c9a5c6cfe81fefc41b363";
+  };
+
+  # v2.2
+
+  sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 3.1";
+
+  # v3.0.2 (Maintenance)
+
+  aspnetcore_3_0 = buildAspNetCore {
+    version = "3.0.2";
+    sha512 = "84dcc2a2a9e43afbc166771153d85b19cb09f964c85c787d77b362fd1d9e076345ae153305fa9040999846a56b69041eb89282804587478b926179d2613d259d";
+  };
+
+  netcore_3_0 = buildNetCore {
+    version = "3.0.2";
+    sha512 = "c8f0e4eb220fa896c4a803a8d9d0c704ae7b8383801a977036f3089b1d779159f5a2d9293dc11ff5f4f6c76febc6f70f6cfcdff0debd3243cad5eb635f853d45";
+  };
+
+  sdk_3_0 = buildNetCoreSdk {
+    version = "3.0.102";
+    sha512 = "77bc287d9c20630976ac4c0736192ba4899154c9e7cc5b87bc9d94d5d8abafdd832cfe8f385b6ba584c702d9261566109df15ab46b0d62bd218d950d3b47893e";
+  };
+
+  # v3.1.1 (LTS)
+
+  aspnetcore_3_1 = buildAspNetCore {
+    version = "3.1.1";
+    sha512 = "cc27828cacbc783ef83cc1378078e14ac558aec30726b36c4f154fad0d08ff011e7e1dfc17bc851926ea3b0da9c7d71496af14ee13184bdf503856eca30a89ae";
+  };
+
+  netcore_3_1 = buildNetCore {
+    version = "3.1.1";
+    sha512 = "991a89ac7b52d3bf6c00359ce94c5a3f7488cd3d9e4663ba0575e1a5d8214c5fcc459e2cb923c369c2cdb789a96f0b1dfb5c5aae1a04df6e7f1f365122072611";
+  };
+
+  sdk_3_1 = buildNetCoreSdk {
+    version = "3.1.101";
+    sha512 = "eeee75323be762c329176d5856ec2ecfd16f06607965614df006730ed648a5b5d12ac7fd1942fe37cfc97e3013e796ef278e7c7bc4f32b8680585c4884a8a6a1";
+  };
+}
diff --git a/pkgs/development/compilers/dotnet/sdk/default.nix b/pkgs/development/compilers/dotnet/sdk/default.nix
deleted file mode 100644
index 984ab39c91a..00000000000
--- a/pkgs/development/compilers/dotnet/sdk/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv
-, fetchurl
-, libunwind
-, openssl
-, icu
-, libuuid
-, zlib
-, curl
-}:
-
-let
-  rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
-in
-  stdenv.mkDerivation rec {
-    version = "2.2.401";
-    netCoreVersion = "2.2.6";
-    pname = "dotnet-sdk";
-
-    src = fetchurl {
-      url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
-      # use sha512 from the download page
-      sha512 = "05w3zk7bcd8sv3k4kplf20j906and2006g1fggq7y6kaxrlhdnpd6jhy6idm8v5bz48wfxga5b4yys9qx0fp3p8yl7wi67qljpzrq88";
-    };
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      runHook preBuild
-      patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" ./dotnet
-      patchelf --set-rpath "${rpath}" ./dotnet
-      find -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
-      echo -n "dotnet-sdk version: "
-      ./dotnet --version
-      runHook postBuild
-    '';
-
-    dontPatchELF = true;
-
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/bin
-      cp -r ./ $out
-      ln -s $out/dotnet $out/bin/dotnet
-      runHook postInstall
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = https://dotnet.github.io/;
-      description = ".NET Core SDK ${version} with .NET Core ${netCoreVersion}";
-      platforms = [ "x86_64-linux" ];
-      maintainers = with maintainers; [ kuznero ];
-      license = licenses.mit;
-    };
-  }
diff --git a/pkgs/development/compilers/ghc/8.10.1.nix b/pkgs/development/compilers/ghc/8.10.1.nix
index 25226d4d0e6..b68e4802551 100644
--- a/pkgs/development/compilers/ghc/8.10.1.nix
+++ b/pkgs/development/compilers/ghc/8.10.1.nix
@@ -86,12 +86,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.10.0.20191210";
+  version = "8.10.0.20200108";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/8.10.1-alpha2/ghc-${version}-src.tar.xz";
-    sha256 = "1mmv8s9cs41kp7wh1qqnzin5wv32cvs3lmzgda7njz0ssqb0mmvj";
+    url = "https://downloads.haskell.org/ghc/8.10.1-rc1/ghc-${version}-src.tar.xz";
+    sha256 = "1xm6cb3s2x3rycnyvkh12mp65xi3zbwrk5ima8sg7c245f3dl0ay";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ghc/8.8.2.nix b/pkgs/development/compilers/ghc/8.8.2.nix
index 4ed99a8402a..b0eef9ef924 100644
--- a/pkgs/development/compilers/ghc/8.8.2.nix
+++ b/pkgs/development/compilers/ghc/8.8.2.nix
@@ -86,12 +86,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.8.1.20191211";
+  version = "8.8.2";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
-    sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
+    url = "https://downloads.haskell.org/ghc/8.8.2/ghc-${version}-src.tar.xz";
+    sha256 = "02qa6wgjpxgakg7hv4zfdlrx9k7zxa5i02wnr6y9fsv8j16sbkh1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index f1126fdeddf..d1797a448ad 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.5";
+  version = "0.13.6";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
+      sha256 = "04kwjjrriyizpvhs96jgyx21ppyd1ynblk24i5825ywxlw9hja25";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
+      sha256 = "012znrj32aq96qh1g2hscdvhl3flgihhimiz40agk0dykpksblns";
     };
 
 
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
     description = "A strongly-typed functional programming language that compiles to JavaScript";
     homepage = http://www.purescript.org/;
     license = licenses.bsd3;
-    maintainers = [ maintainers.justinwoo ];
+    maintainers = [ maintainers.justinwoo maintainers.mbbx6spp ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 817f81f9257..77bc3cc5b73 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -33,33 +33,40 @@
 }:
 
 let
-  v_base = "5.0.2";
-  version = "${v_base}-RELEASE";
-  version_friendly = v_base;
+  version = "5.1.1";
 
-  tag = "refs/tags/swift-${version}";
   fetch = { repo, sha256, fetchSubmodules ? false }:
     fetchFromGitHub {
       owner = "apple";
       inherit repo sha256 fetchSubmodules;
-      rev = tag;
+      rev = "swift-${version}-RELEASE";
       name = "${repo}-${version}-src";
     };
 
   sources = {
-    # FYI: SourceKit probably would work but currently requires building everything twice
-    # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
-    clang = fetch {
-      repo = "swift-clang";
-      sha256 = "046p7f4044ls8hhgklsz32md5jvxkaaim1d75n0fmnwap6di3n1q";
-    };
     llvm = fetch {
       repo = "swift-llvm";
-      sha256 = "1bnscqsiljiclij60f44h2fyx5c84pzry0lz1jbwknphwmqd6f84";
+      sha256 = "00ldd9dby6fl6nk3z17148fvb7g9x4jkn1afx26y51v8rwgm1i7f";
     };
     compilerrt = fetch {
       repo = "swift-compiler-rt";
-      sha256 = "0bba54xa7z0wj6k7a24q74gc4yajc6s64g1m894i3yd6swdk7f6r";
+      sha256 = "1431f74l0n2dxn728qp65nc6hivx88fax1wzfrnrv19y77br05wj";
+    };
+    clang = fetch {
+      repo = "swift-clang";
+      sha256 = "0n7k6nvzgqp6h6bfqcmna484w90db3zv4sh5rdh89wxyhdz6rk4v";
+    };
+    clangtools = fetch {
+      repo = "swift-clang-tools-extra";
+      sha256 = "0snp2rpd60z239pr7fxpkj332rkdjhg63adqvqdkjsbrxcqqcgqa";
+    };
+    indexstore = fetch {
+      repo = "indexstore-db";
+      sha256 = "1gwkqkdmpd5hn7555dpdkys0z50yh00hjry2886h6rx7avh5p05n";
+    };
+    sourcekit = fetch {
+      repo = "sourcekit-lsp";
+      sha256 = "0k84ssr1k7grbvpk81rr21ii8csnixn9dp0cga98h6i1gshn8ml4";
     };
     cmark = fetch {
       repo = "swift-cmark";
@@ -67,32 +74,32 @@ let
     };
     lldb = fetch {
       repo = "swift-lldb";
-      sha256 = "01yrhc1ggv89qii03fdjdvb2aq9v4hd1wk83n8ygrwwc75p44qmi";
+      sha256 = "0j787475f0nlmvxqblkhn3yrvn9qhcb2jcijwijxwq95ar2jdygs";
     };
     llbuild = fetch {
       repo = "swift-llbuild";
-      sha256 = "0ipwryzpqxpk3rzkxilfahlkz06k39j91q2lv7fprf0slqknrdms";
+      sha256 = "1n2s5isxyl6b6ya617gdzjbw68shbvd52vsfqc1256rk4g448v8b";
     };
     pm = fetch {
       repo = "swift-package-manager";
-      sha256 = "1mnywlm7i2mbp16q0rskskvnbx1ap8lchwr8q3gx0xs3b2fs6chh";
+      sha256 = "1a49jmag5mpld9zr96g8a773334mrz1c4nyw38gf4p6sckf4jp29";
     };
     xctest = fetch {
       repo = "swift-corelibs-xctest";
-      sha256 = "1vpljkxhfk3yd07ry0xsv3qwbn62pwd2mdn9cw22jhbhvqinc13z";
+      sha256 = "0rxy9sq7i0s0kxfkz0hvdp8zyb40h31f7g4m0kry36qk82gzzh89";
     };
     foundation = fetch {
       repo = "swift-corelibs-foundation";
-      sha256 = "1wys4xh7f6c7yjf210x41n2krmyi2qj1wpxbv0p48d230va1azj1";
+      sha256 = "1iiiijsnys0r3hjcj1jlkn3yszzi7hwb2041cnm5z306nl9sybzp";
     };
     libdispatch = fetch {
       repo = "swift-corelibs-libdispatch";
-      sha256 = "0chnb0d4xjyn9wnc8bgimd5ji5igfyq891flgnqpfwr4y26496c1";
+      sha256 = "0laqsizsikyjhrzn0rghvxd8afg4yav7cbghvnf7ywk9wc6kpkmn";
       fetchSubmodules = true;
     };
     swift = fetch {
       repo = "swift";
-      sha256 = "0fsq1y8dz4ssn90akvzj36cqyblalb09bjzy4ikqn67mb5x99wpb";
+      sha256 = "0m4r1gzrnn0s1c7haqq9dlmvpqxbgbkbdfmq6qaph869wcmvdkvy";
     };
   };
 
@@ -116,23 +123,9 @@ let
     "-DGCC_INSTALL_PREFIX=${clang.cc.gcc}"
   ];
 
-  builder = ''
-    # gcc-6.4.0/include/c++/6.4.0/cstdlib:75:15: fatal error: 'stdlib.h' file not found
-    NIX_CFLAGS_COMPILE="$( echo ${clang.default_cxx_stdlib_compile} ) $NIX_CFLAGS_COMPILE"
-    # During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
-    # This compiler is not using the Nix wrappers, so it needs some help to find things.
-    export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE"
-
-    $SWIFT_SOURCE_ROOT/swift/utils/build-script \
-      --preset=buildbot_linux \
-      installable_package=$INSTALLABLE_PACKAGE \
-      install_prefix=$out \
-      install_destdir=$SWIFT_INSTALL_DIR \
-      extra_cmake_options="${stdenv.lib.concatStringsSep "," cmakeFlags}"'';
-
 in
 stdenv.mkDerivation {
-  name = "swift-${version_friendly}";
+  name = "swift-${version}";
 
   nativeBuildInputs = [
     autoconf
@@ -164,32 +157,17 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ]; # for LLDB
 
-  configurePhase = ''
-    cd ..
-
-    export INSTALLABLE_PACKAGE=$PWD/swift.tar.gz
-
-    mkdir build install
-    export SWIFT_BUILD_ROOT=$PWD/build
-    export SWIFT_INSTALL_DIR=$PWD/install
-
-    cd $SWIFT_BUILD_ROOT
-
-    unset CC
-    unset CXX
-
-    export NIX_ENFORCE_PURITY=
-  '';
-
   unpackPhase = ''
     mkdir src
     cd src
-    export sourceRoot=$PWD
     export SWIFT_SOURCE_ROOT=$PWD
 
-    cp -r ${sources.clang} clang
     cp -r ${sources.llvm} llvm
     cp -r ${sources.compilerrt} compiler-rt
+    cp -r ${sources.clang} clang
+    cp -r ${sources.clangtools} clang-tools-extra
+    cp -r ${sources.indexstore} indexstore-db
+    cp -r ${sources.sourcekit} sourcekit-lsp
     cp -r ${sources.cmark} cmark
     cp -r ${sources.lldb} lldb
     cp -r ${sources.llbuild} llbuild
@@ -234,33 +212,75 @@ stdenv.mkDerivation {
       \
       -e 's/^swift-install-components=autolink.*$/\0;editor-integration/'
 
-    # https://bugs.swift.org/browse/SR-10559
-    patch -p1 -d swift-corelibs-libdispatch -i ${./patches/libdispatch-fortify-fix.patch}
-
+    substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
+      --replace 'SysRoot + "/lib' '"${glibc}/lib" "'
     substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
       --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
-    patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
+    patch -p1 -d clang -i ${./patches/llvm-toolchain-dir.patch}
     patch -p1 -d clang -i ${./purity.patch}
 
     # Workaround hardcoded dep on "libcurses" (vs "libncurses"):
-    sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
+    sed -i 's/curses/ncurses/' llbuild/*/*/CMakeLists.txt
+    # uuid.h is not part of glibc, but of libuuid
+    sed -i 's|''${GLIBC_INCLUDE_PATH}/uuid/uuid.h|${libuuid.dev}/include/uuid/uuid.h|' swift/stdlib/public/Platform/glibc.modulemap.gyb
 
     PREFIX=''${out/#\/}
+    substituteInPlace indexstore-db/Utilities/build-script-helper.py \
+      --replace usr "$PREFIX"
+    substituteInPlace sourcekit-lsp/Utilities/build-script-helper.py \
+      --replace usr "$PREFIX"
     substituteInPlace swift-corelibs-xctest/build_script.py \
       --replace usr "$PREFIX"
   '';
 
-  buildPhase = builder;
+  configurePhase = ''
+    cd ..
+
+    mkdir build install
+    export SWIFT_BUILD_ROOT=$PWD/build
+    export SWIFT_INSTALL_DIR=$PWD/install
+
+    export INSTALLABLE_PACKAGE=$PWD/swift.tar.gz
+    export NIX_ENFORCE_PURITY=
 
-  doCheck = false;
+    cd $SWIFT_BUILD_ROOT
+  '';
+
+  buildPhase = ''
+    # gcc-6.4.0/include/c++/6.4.0/cstdlib:75:15: fatal error: 'stdlib.h' file not found
+    export NIX_CFLAGS_COMPILE="$( echo ${clang.default_cxx_stdlib_compile} ) $NIX_CFLAGS_COMPILE"
+    # During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
+    # This compiler is not using the Nix wrappers, so it needs some help to find things.
+    export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE"
+    # However, we want to use the wrapped compiler whenever possible.
+    export CC="${clang}/bin/clang"
+
+    # fix for https://bugs.llvm.org/show_bug.cgi?id=39743
+    # see also https://forums.swift.org/t/18138/15
+    export CCC_OVERRIDE_OPTIONS="#x-fmodules s/-fmodules-cache-path.*//"
+
+    $SWIFT_SOURCE_ROOT/swift/utils/build-script \
+      --preset=buildbot_linux \
+      installable_package=$INSTALLABLE_PACKAGE \
+      install_prefix=$out \
+      install_destdir=$SWIFT_INSTALL_DIR \
+      extra_cmake_options="${stdenv.lib.concatStringsSep "," cmakeFlags}"
+  '';
+
+  doCheck = true;
 
   checkInputs = [ file ];
 
-  # TODO: investigate the non-working tests
   checkPhase = ''
+    # FIXME: disable non-working tests
+    rm $SWIFT_SOURCE_ROOT/swift/test/Driver/static-stdlib-linux.swift  # static linkage of libatomic.a complains about missing PIC
+    rm $SWIFT_SOURCE_ROOT/swift/validation-test/Python/build_swift.swift  # install_prefix not passed properly
+
+    # match the swift wrapper in the install phase
+    export LIBRARY_PATH=${icu}/lib:${libuuid.out}/lib
+
     checkTarget=check-swift-all
     ninjaFlags='-C buildbot_linux/swift-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}'
-
     ninjaCheckPhase
   '';
 
@@ -268,18 +288,22 @@ stdenv.mkDerivation {
     mkdir -p $out
 
     # Extract the generated tarball into the store
-    PREFIX=''${out/#\/}
-    tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX
+    tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 ''${out/#\/}
     find $out -type d -empty -delete
 
+    # fix installation weirdness, also present in Apple’s official tarballs
+    mv $out/local/include/indexstore $out/include
+    rmdir $out/local/include $out/local
+    rm -r $out/bin/sdk-module-lists $out/bin/swift-api-checker.py
+
     wrapProgram $out/bin/swift \
       --suffix C_INCLUDE_PATH : $out/lib/swift/clang/include \
       --suffix CPLUS_INCLUDE_PATH : $out/lib/swift/clang/include \
-      --suffix LIBRARY_PATH : $icu/lib
+      --suffix LIBRARY_PATH : ${icu}/lib:${libuuid.out}/lib
   '';
 
-  # Hack to avoid TMPDIR in RPATHs.
-  preFixup = ''rm -rf "$(pwd)" '';
+  # Hack to avoid build and install directories in RPATHs.
+  preFixup = ''rm -rf $SWIFT_BUILD_ROOT $SWIFT_INSTALL_DIR'';
 
   meta = with stdenv.lib; {
     description = "The Swift Programming Language";
diff --git a/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch b/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
index 79482ac10e6..60b2996b340 100644
--- a/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
+++ b/pkgs/development/compilers/swift/patches/0001-build-presets-linux-don-t-require-using-Ninja.patch
@@ -1,17 +1,8 @@
-From 1fc49285c7a198de14005803dfde64bda17f4120 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 28 Mar 2017 15:01:16 -0500
-Subject: [PATCH 1/4] build-presets: (linux) don't require using Ninja
+Don't build Ninja, we use our own.
 
----
- utils/build-presets.ini | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/utils/build-presets.ini b/utils/build-presets.ini
-index 7ee57ad2df..e6b0af3581 100644
 --- a/utils/build-presets.ini
 +++ b/utils/build-presets.ini
-@@ -721,7 +721,7 @@ swiftpm
+@@ -745,7 +745,7 @@ swiftpm
  
  dash-dash
  
@@ -20,6 +11,3 @@ index 7ee57ad2df..e6b0af3581 100644
  install-swift
  install-lldb
  install-llbuild
--- 
-2.12.2
-
diff --git a/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch b/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
index 5c1927acb7f..5ca6bf1354d 100644
--- a/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
+++ b/pkgs/development/compilers/swift/patches/0002-build-presets-linux-allow-custom-install-prefix.patch
@@ -1,25 +1,13 @@
-From fca6624b7a0ad670157105336a737cc95f9ce9fb Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 28 Mar 2017 15:01:40 -0500
-Subject: [PATCH 2/4] build-presets: (linux) allow custom install prefix
+allow custom install prefix
 
----
- utils/build-presets.ini | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/utils/build-presets.ini b/utils/build-presets.ini
-index e6b0af3581..1095cbaab7 100644
 --- a/utils/build-presets.ini	2019-04-11 14:51:40.060259462 +0200
 +++ b/utils/build-presets.ini	2019-04-11 15:16:17.471137969 +0200
-@@ -728,7 +728,7 @@
+@@ -752,7 +752,7 @@
  install-swiftpm
  install-xctest
  install-libicu
 -install-prefix=/usr
 +install-prefix=%(install_prefix)s
- swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
- llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt
  install-libcxx
--- 
-2.12.2
-
+ install-sourcekit-lsp
+ build-swift-static-stdlib
diff --git a/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch b/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
index 5d766bc2590..0a66af9e513 100644
--- a/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
+++ b/pkgs/development/compilers/swift/patches/0003-build-presets-linux-don-t-build-extra-libs.patch
@@ -1,6 +1,8 @@
+Disable targets, where we use Nix packages.
+
 --- a/utils/build-presets.ini	2019-04-11 15:19:57.845178834 +0200
 +++ b/utils/build-presets.ini	2019-04-11 15:27:42.041297057 +0200
-@@ -716,8 +716,6 @@
+@@ -740,8 +740,6 @@
  llbuild
  swiftpm
  xctest
@@ -9,15 +11,13 @@
  
  dash-dash
  
-@@ -727,11 +725,9 @@
+@@ -751,9 +749,7 @@
  install-llbuild
  install-swiftpm
  install-xctest
 -install-libicu
  install-prefix=%(install_prefix)s
- swift-install-components=autolink-driver;compiler;clang-resource-dir-symlink;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
- llvm-install-components=llvm-cov;llvm-profdata;IndexStore;clang;clang-headers;compiler-rt
 -install-libcxx
+ install-sourcekit-lsp
  build-swift-static-stdlib
  build-swift-static-sdk-overlay
- build-swift-stdlib-unittest-extra
diff --git a/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch b/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
index 1d0a6a9577a..304b53a1dbf 100644
--- a/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
+++ b/pkgs/development/compilers/swift/patches/0004-build-presets-linux-plumb-extra-cmake-options.patch
@@ -1,17 +1,8 @@
-From 4a46b12f580d0a9779937d07c4f1fd347570c4ef Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 28 Mar 2017 15:02:37 -0500
-Subject: [PATCH 4/4] build-presets: (linux) plumb extra-cmake-options
+plumb extra-cmake-options
 
----
- utils/build-presets.ini | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/utils/build-presets.ini b/utils/build-presets.ini
-index 1739e91dc2..0608fed9c1 100644
 --- a/utils/build-presets.ini
 +++ b/utils/build-presets.ini
-@@ -743,6 +743,8 @@ install-destdir=%(install_destdir)s
+@@ -766,6 +766,8 @@ install-destdir=%(install_destdir)s
  # Path to the .tar.gz package we would create.
  installable-package=%(installable_package)s
  
@@ -20,6 +11,3 @@ index 1739e91dc2..0608fed9c1 100644
  [preset: buildbot_linux]
  mixin-preset=mixin_linux_installation
  build-subdir=buildbot_linux
--- 
-2.12.2
-
diff --git a/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch b/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch
index df906f9c84c..c05db520801 100644
--- a/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch
+++ b/pkgs/development/compilers/swift/patches/glibc-arch-headers.patch
@@ -2,7 +2,7 @@ The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories.
 
 --- swift/stdlib/public/Platform/CMakeLists.txt	2019-04-09 20:14:44.493801403 +0200
 +++ swift/stdlib/public/Platform/CMakeLists.txt	2019-04-09 20:14:44.577800593 +0200
-@@ -68,7 +68,7 @@
+@@ -77,7 +77,7 @@
      endif()
  
      set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
diff --git a/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch b/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch
deleted file mode 100644
index d23a308d68f..00000000000
--- a/pkgs/development/compilers/swift/patches/libdispatch-fortify-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Nix compiles with _FORTIFY_SOURCE enabled. Fix error due to -Werror and an unused return value warning.
-
---- swift-corelibs-libdispatch/src/internal.h	2019-04-26 09:33:38.287289099 +0200
-+++ swift-corelibs-libdispatch/src/internal.h	2019-04-26 15:31:10.485334128 +0200
-@@ -1053,7 +1053,7 @@
- #else
- #define _dispatch_client_assert_fail(fmt, ...)  do { \
- 		char *_msg = NULL; \
--		asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \
-+		(void)asprintf(&_msg, "%s" fmt, DISPATCH_ASSERTION_FAILED_MESSAGE, \
- 				##__VA_ARGS__); \
- 		_dispatch_assert_crash(_msg); \
- 		free(_msg); \
diff --git a/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch b/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch
deleted file mode 100644
index 789c0be7e7a..00000000000
--- a/pkgs/development/compilers/swift/patches/llvm-include-dirs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Only use the Nix include dirs when no sysroot is configured.
-
---- clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:01:15.731109551 +0200
-+++ clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:00:27.959509924 +0200
-@@ -641,7 +641,7 @@
- 
-   // Check for configure-time C include directories.
-   StringRef CIncludeDirs(C_INCLUDE_DIRS);
--  if (CIncludeDirs != "") {
-+  if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
-     SmallVector<StringRef, 5> dirs;
-     CIncludeDirs.split(dirs, ":");
-     for (StringRef dir : dirs) {
diff --git a/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch b/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch
new file mode 100644
index 00000000000..c22b5c820c8
--- /dev/null
+++ b/pkgs/development/compilers/swift/patches/llvm-toolchain-dir.patch
@@ -0,0 +1,24 @@
+Use the Nix include dirs and gcc runtime dir, when no sysroot is configured.
+
+--- clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:01:15.731109551 +0200
++++ clang/lib/Driver/ToolChains/Linux.cpp	2018-10-05 18:00:27.959509924 +0200
+@@ -665,7 +665,7 @@
+ 
+   // Check for configure-time C include directories.
+   StringRef CIncludeDirs(C_INCLUDE_DIRS);
+-  if (CIncludeDirs != "") {
++  if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
+     SmallVector<StringRef, 5> dirs;
+     CIncludeDirs.split(dirs, ":");
+     for (StringRef dir : dirs) {
+--- clang/lib/Driver/ToolChains/Gnu.cpp	2019-10-26 09:49:27.003752743 +0200
++++ clang/lib/Driver/ToolChains/Gnu.cpp	2019-10-26 09:50:49.067236497 +0200
+@@ -1743,7 +1743,7 @@
+   // If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
+   // GCC_INSTALL_PREFIX specifies the gcc installation for the default
+   // sysroot and is likely not valid with a different sysroot.
+-  if (!SysRoot.empty())
++  if (!(SysRoot.empty() || SysRoot == "/"))
+     return "";
+ 
+   return GCC_INSTALL_PREFIX;
diff --git a/pkgs/development/compilers/swift/purity.patch b/pkgs/development/compilers/swift/purity.patch
index 832decdc41f..4133e89c283 100644
--- a/pkgs/development/compilers/swift/purity.patch
+++ b/pkgs/development/compilers/swift/purity.patch
@@ -1,17 +1,8 @@
-From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Thu, 18 May 2017 11:56:12 -0500
-Subject: [PATCH] "purity" patch for 5.0
+"purity" patch for 5.0
 
----
- lib/Driver/ToolChains/Gnu.cpp | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
-index fe3c0191bb..c6a482bece 100644
 --- a/lib/Driver/ToolChains/Gnu.cpp
 +++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -380,13 +380,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+@@ -402,13 +402,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
    if (!Args.hasArg(options::OPT_static)) {
      if (Args.hasArg(options::OPT_rdynamic))
        CmdArgs.push_back("-export-dynamic");
@@ -25,6 +16,3 @@ index fe3c0191bb..c6a482bece 100644
    }
  
    CmdArgs.push_back("-o");
--- 
-2.11.0
-
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f28bf4bb707..5605af97ddc 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1052,17 +1052,17 @@ self: super: {
   # This raises the lower bound on prettyprinter to 1.5.1 since
   # `removeTrailingWhitespace` is buggy in earlier versions.
   # This will probably be able to be removed when we update to LTS-15.
-  dhall_1_28_0 =
-    dontCheck (super.dhall_1_28_0.override {
+  dhall_1_29_0 =
+    dontCheck (super.dhall_1_29_0.override {
       prettyprinter = self.prettyprinter_1_5_1;
       prettyprinter-ansi-terminal =
         self.prettyprinter-ansi-terminal.override {
           prettyprinter = self.prettyprinter_1_5_1;
         };
     });
-  dhall-bash_1_0_25 = super.dhall-bash_1_0_25.override { dhall = self.dhall_1_28_0; };
-  dhall-json_1_6_0 = super.dhall-json_1_6_0.override {
-    dhall = self.dhall_1_28_0;
+  dhall-bash_1_0_27 = super.dhall-bash_1_0_27.override { dhall = self.dhall_1_29_0; };
+  dhall-json_1_6_1 = super.dhall-json_1_6_1.override {
+    dhall = self.dhall_1_29_0;
     prettyprinter = self.prettyprinter_1_5_1;
     prettyprinter-ansi-terminal =
       self.prettyprinter-ansi-terminal.override {
@@ -1228,8 +1228,7 @@ self: super: {
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
   # Requires dhall >= 1.23.0
-  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; };
-  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; };
+  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_29_0; };
 
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
@@ -1239,7 +1238,7 @@ self: super: {
   constraints-deriving = dontCheck super.constraints-deriving;
 
   # need newer version of ghc-libparser
-  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; };
+  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2; };
 
   # https://github.com/sol/hpack/issues/366
   hpack = self.hpack_0_33_0;
@@ -1363,7 +1362,7 @@ self: super: {
 
   # Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0)
   ormolu = doJailbreak (super.ormolu.override {
-    ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204;
+    ghc-lib-parser = self.ghc-lib-parser_8_8_2;
   });
 
   # krank-0.1.0 does not accept PyF-0.9.0.0.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index ab8966ce590..7198ed5ff19 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -105,6 +105,7 @@ self: super: {
   skylighting = self.skylighting_0_8_3;
   skylighting-core = self.skylighting-core_0_8_3;
   sop-core = self.sop-core_0_5_0_0;
+  tls-session-manager = self.tls-session-manager_0_0_4;
   texmath = self.texmath_0_12;
   th-desugar = self.th-desugar_1_10;
   tls = self.tls_1_5_3;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 2d144651bc0..a72ee71af3a 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -67,6 +67,8 @@ core-packages:
 # comment saying "# LTS Haskell x.y". Any changes after that commend will be
 # lost the next time `update-stackage.sh` runs.
 default-package-overrides:
+  # pandoc-2.9 does not accept the 0.3 version yet
+  - doclayout < 0.3
   # LTS Haskell 14.20
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
@@ -1198,6 +1200,8 @@ default-package-overrides:
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.10
+  - lambdabot-core ==5.2
+  - lambdabot-irc-plugins ==5.2
   - LambdaHack ==0.9.5.0
   - lame ==0.2.0
   - language-c ==0.8.3
@@ -2510,6 +2514,7 @@ extra-packages:
   - dbus <1                             # for xmonad-0.26
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
   - dhall == 1.27.0                     # required for spago 0.13.0.  Probably can be removed when next version of spago is available.
+  - doctemplates == 0.8                 # required by pandoc-2.9.x
   - generic-deriving == 1.10.5.*        # new versions don't compile with GHC 7.10.x
   - gloss < 1.9.3                       # new versions don't compile with GHC 7.8.x
   - haddock == 2.22.*                   # required on GHC 8.0.x
@@ -2776,6 +2781,7 @@ broken-packages:
   - accelerate-fftw
   - accelerate-fourier
   - accelerate-kullback-liebler
+  - accelerate-llvm
   - accelerate-llvm-native
   - accelerate-random
   - accelerate-typelits
@@ -2882,6 +2888,7 @@ broken-packages:
   - algebra
   - algebra-sql
   - algebraic
+  - algebraic-classes
   - algebraic-graphs
   - algebraic-prelude
   - algo-s
@@ -2910,6 +2917,7 @@ broken-packages:
   - AMI
   - ampersand
   - amqp-conduit
+  - amqp-utils
   - analyze
   - analyze-client
   - anansi-pandoc
@@ -3012,6 +3020,7 @@ broken-packages:
   - ariadne
   - arion
   - arith-encode
+  - arithmetic-circuits
   - armada
   - armor
   - arpa
@@ -3105,6 +3114,7 @@ broken-packages:
   - avl-static
   - AvlTree
   - avr-shake
+  - avro-piper
   - awesome-prelude
   - awesomium
   - awesomium-glut
@@ -4241,6 +4251,7 @@ broken-packages:
   - dictionaries
   - dictparser
   - diet
+  - diff
   - diffcabal
   - difference-monoid
   - DifferenceLogic
@@ -4460,6 +4471,7 @@ broken-packages:
   - elevator
   - elision
   - elliptic-curve
+  - elm-street
   - elm-websocket
   - elsa
   - elynx-seq
@@ -4496,6 +4508,7 @@ broken-packages:
   - EnumMap
   - enummapmap
   - enummapset-th
+  - env-extra
   - env-parser
   - envstatus
   - epanet-haskell
@@ -4572,6 +4585,7 @@ broken-packages:
   - exact-real
   - exact-real-positional
   - except-exceptions
+  - exception-hierarchy
   - exception-monads-fd
   - exchangerates
   - execs
@@ -4602,6 +4616,7 @@ broken-packages:
   - extended-categories
   - extensible-data
   - extensible-effects-concurrent
+  - extensible-skeleton
   - Extra
   - extract-dependencies
   - extractelf
@@ -4837,6 +4852,7 @@ broken-packages:
   - freddy
   - free-category
   - free-concurrent
+  - free-functors
   - free-game
   - free-http
   - free-operational
@@ -5039,6 +5055,7 @@ broken-packages:
   - ghci-lib
   - ghci-ng
   - ghci-pretty
+  - ghcide
   - ghcjs-base-stub
   - ghcjs-dom-jsffi
   - ghcjs-fetch
@@ -5049,6 +5066,7 @@ broken-packages:
   - ghcprofview
   - ght
   - gi-cairo-again
+  - gi-gdkx11
   - gi-graphene
   - gi-gsk
   - gi-gstpbutils
@@ -5074,6 +5092,7 @@ broken-packages:
   - git-fmt
   - git-gpush
   - git-jump
+  - git-mediate
   - git-object
   - git-remote-ipfs
   - git-repair
@@ -5247,6 +5266,7 @@ broken-packages:
   - gstreamer
   - GTALib
   - gtfs
+  - gtfs-realtime
   - gtk-serialized-event
   - gtk-toy
   - gtk2hs-hello
@@ -5493,6 +5513,7 @@ broken-packages:
   - haskell-src-exts-prisms
   - haskell-src-exts-qq
   - haskell-src-exts-sc
+  - haskell-src-exts-simple
   - haskell-src-meta-mwotton
   - haskell-stack-trace-plugin
   - haskell-token-utils
@@ -5784,6 +5805,7 @@ broken-packages:
   - hiccup
   - hichi
   - hid-examples
+  - hie-bios
   - hie-core
   - hieraclus
   - hierarchical-clustering
@@ -5969,6 +5991,7 @@ broken-packages:
   - hpaste
   - hpasteit
   - HPath
+  - hpath-io
   - hpc-tracer
   - hPDB
   - hPDB-examples
@@ -6221,6 +6244,8 @@ broken-packages:
   - http-shed
   - http-streams
   - http-wget
+  - http2-client
+  - http2-client-exe
   - http2-client-grpc
   - http2-grpc-proto3-wire
   - https-everywhere-rules
@@ -6248,6 +6273,7 @@ broken-packages:
   - hunt-searchengine
   - hunt-server
   - hurdle
+  - hurl
   - hurriyet
   - husk-scheme
   - husk-scheme-libs
@@ -6411,6 +6437,7 @@ broken-packages:
   - indieweb-algorithms
   - inf-interval
   - infer-upstream
+  - infernal
   - infernu
   - infinity
   - infix
@@ -6433,6 +6460,7 @@ broken-packages:
   - instapaper-sender
   - instinct
   - int-multimap
+  - intcode
   - integer-pure
   - integreat
   - intel-aes
@@ -6845,6 +6873,7 @@ broken-packages:
   - Level0
   - levmar
   - levmar-chart
+  - lex-applicative
   - lfst
   - lgtk
   - lha
@@ -6960,6 +6989,7 @@ broken-packages:
   - llvm-general
   - llvm-general-pure
   - llvm-general-quote
+  - llvm-hs
   - llvm-hs-pretty
   - llvm-ht
   - llvm-pkg-config
@@ -7411,6 +7441,9 @@ broken-packages:
   - mtl-tf
   - mtlx
   - mtp
+  - mu-grpc-client
+  - mu-grpc-server
+  - mu-protobuf
   - MuCheck
   - MuCheck-Hspec
   - MuCheck-HUnit
@@ -7547,6 +7580,7 @@ broken-packages:
   - network-anonymous-tor
   - network-api-support
   - network-arbitrary
+  - network-bitcoin
   - network-builder
   - network-bytestring
   - network-connection
@@ -7790,6 +7824,7 @@ broken-packages:
   - Paillier
   - pairing
   - pam
+  - pan-os-syslog
   - panda
   - pandoc-citeproc-preamble
   - pandoc-crossref
@@ -7830,6 +7865,7 @@ broken-packages:
   - parco-parsec
   - parconc-examples
   - pareto
+  - parquet-hs
   - Parry
   - parse-help
   - parseargs
@@ -8135,6 +8171,7 @@ broken-packages:
   - presto-hdbc
   - pretty-ncols
   - pretty-relative-time
+  - prettyprinter-graphviz
   - prettyprinter-vty
   - preview
   - prim-array
@@ -8386,6 +8423,7 @@ broken-packages:
   - reactive-glut
   - reactive-thread
   - reactor
+  - read-ctags
   - read-io
   - reader-soup
   - readline-statevar
@@ -8429,10 +8467,13 @@ broken-packages:
   - reflex-basic-host
   - reflex-dom-retractable
   - reflex-dom-svg
+  - reflex-fsnotify
+  - reflex-ghci
   - reflex-gloss
   - reflex-gloss-scene
   - reflex-libtelnet
   - reflex-orphans
+  - reflex-process
   - reflex-sdl2
   - reflex-transformers
   - reflex-vty
@@ -8445,6 +8486,7 @@ broken-packages:
   - reg-alloc-graph-color
   - regex-deriv
   - regex-dfa
+  - regex-do
   - regex-generator
   - regex-parsec
   - regex-pderiv
@@ -8760,6 +8802,7 @@ broken-packages:
   - seclib
   - second-transfer
   - secp256k1
+  - secp256k1-haskell
   - secp256k1-legacy
   - secret-santa
   - secret-sharing
@@ -8924,6 +8967,7 @@ broken-packages:
   - shellmate-extras
   - shh
   - shh-extras
+  - shine-examples
   - shivers-cfg
   - shoap
   - shopify
@@ -8979,6 +9023,7 @@ broken-packages:
   - simplenote
   - simpleprelude
   - SimpleServer
+  - simplest-sqlite
   - simseq
   - singleton-dict
   - singleton-typelits
@@ -9313,6 +9358,7 @@ broken-packages:
   - streaming-postgresql-simple
   - streaming-process
   - streaming-sort
+  - streamly-fsnotify
   - strelka
   - strict-data
   - StrictBench
@@ -9435,6 +9481,7 @@ broken-packages:
   - Tablify
   - tabloid
   - tabs
+  - taffybar
   - tag-bits
   - tag-stream
   - tagged-exception-core
@@ -9600,6 +9647,7 @@ broken-packages:
   - thumbnail-plus
   - thumbnail-polish
   - tic-tac-toe
+  - ticker
   - tickle
   - TicTacToe
   - tictactoe3d
@@ -9659,6 +9707,7 @@ broken-packages:
   - todos
   - tofromxml
   - toilet
+  - token-search
   - tokenify
   - tokstyle
   - toktok
@@ -9748,6 +9797,7 @@ broken-packages:
   - tripLL
   - trivia
   - tropical
+  - tropical-geometry
   - truelevel
   - trurl
   - tsession
@@ -9981,7 +10031,9 @@ broken-packages:
   - vcsgui
   - vcswrapper
   - Vec-Boolean
+  - vec-lens
   - Vec-OpenGLRaw
+  - vec-optics
   - Vec-Transform
   - vect-floating
   - vect-floating-accelerate
@@ -10102,6 +10154,7 @@ broken-packages:
   - warp-dynamic
   - warp-grpc
   - warp-static
+  - warp-systemd
   - WashNGo
   - wasm
   - watcher
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 5410fccf0bb..c93fc5b7e45 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -1,5 +1,6 @@
 { stdenv, buildPackages, buildHaskellPackages, ghc
-, jailbreak-cabal, hscolour, cpphs, nodejs, shellFor
+, jailbreak-cabal, hscolour, cpphs, nodejs
+, ghcWithHoogle, ghcWithPackages
 }:
 
 let
@@ -206,21 +207,28 @@ let
                         optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
 
   depsBuildBuild = [ nativeGhc ];
-  nativeBuildInputs = [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
-                      setupHaskellDepends ++
-                      buildTools ++ libraryToolDepends ++ executableToolDepends ++
-                      optionals doCheck testToolDepends ++
-                      optionals doBenchmark benchmarkToolDepends;
+  collectedToolDepends =
+    buildTools ++ libraryToolDepends ++ executableToolDepends ++
+    optionals doCheck testToolDepends ++
+    optionals doBenchmark benchmarkToolDepends;
+  nativeBuildInputs =
+    [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
+    setupHaskellDepends ++ collectedToolDepends;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends;
-  otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
-                     allPkgconfigDepends ++
-                     optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++
-                     optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
-
-
-  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs;
-  isHaskellPartition =
-    stdenv.lib.partition isHaskellPkg allBuildInputs;
+  otherBuildInputsHaskell =
+    optionals doCheck (testDepends ++ testHaskellDepends) ++
+    optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends);
+  otherBuildInputsSystem =
+    extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
+    allPkgconfigDepends ++
+    optionals doCheck (testSystemDepends ++ testFrameworkDepends) ++
+    optionals doBenchmark (benchmarkSystemDepends ++ benchmarkFrameworkDepends);
+  # TODO next rebuild just define as `otherBuildInputsHaskell ++ otherBuildInputsSystem`
+  otherBuildInputs =
+    extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
+    allPkgconfigDepends ++
+    optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++
+    optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
 
   setupCommand = "./Setup";
 
@@ -462,17 +470,61 @@ stdenv.mkDerivation ({
     runHook postInstall
   '';
 
-  passthru = passthru // {
+  passthru = passthru // rec {
 
     inherit pname version;
 
     compiler = ghc;
 
+    # All this information is intended just for `shellFor`.  It should be
+    # considered unstable and indeed we knew how to keep it private we would.
+    getCabalDeps = {
+      inherit
+        buildDepends
+        buildTools
+        executableFrameworkDepends
+        executableHaskellDepends
+        executablePkgconfigDepends
+        executableSystemDepends
+        executableToolDepends
+        extraLibraries
+        libraryFrameworkDepends
+        libraryHaskellDepends
+        libraryPkgconfigDepends
+        librarySystemDepends
+        libraryToolDepends
+        pkgconfigDepends
+        setupHaskellDepends
+        ;
+    } // stdenv.lib.optionalAttrs doCheck {
+      inherit
+        testDepends
+        testFrameworkDepends
+        testHaskellDepends
+        testPkgconfigDepends
+        testSystemDepends
+        testToolDepends
+        ;
+    } // stdenv.lib.optionalAttrs doBenchmark {
+      inherit
+        benchmarkDepends
+        benchmarkFrameworkDepends
+        benchmarkHaskellDepends
+        benchmarkPkgconfigDepends
+        benchmarkSystemDepends
+        benchmarkToolDepends
+        ;
+    };
 
-    getBuildInputs = {
+    # Attributes for the old definition of `shellFor`. Should be removed but
+    # this predates the warning at the top of `getCabalDeps`.
+    getBuildInputs = rec {
       inherit propagatedBuildInputs otherBuildInputs allPkgconfigDepends;
       haskellBuildInputs = isHaskellPartition.right;
       systemBuildInputs = isHaskellPartition.wrong;
+      isHaskellPartition = stdenv.lib.partition
+        isHaskellPkg
+        (propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs);
     };
 
     isHaskellLibrary = isLibrary;
@@ -485,10 +537,64 @@ stdenv.mkDerivation ({
     # TODO: fetch the self from the fixpoint instead
     haddockDir = self: if doHaddock then "${docdir self.doc}/html" else null;
 
-    env = shellFor {
-      packages = p: [ drv ];
-      inherit shellHook;
-    };
+    # Creates a derivation containing all of the necessary dependencies for building the
+    # parent derivation. The attribute set that it takes as input can be viewed as:
+    #
+    #    { withHoogle }
+    #
+    # The derivation that it builds contains no outpaths because it is meant for use
+    # as an environment
+    #
+    #   # Example use
+    #   # Creates a shell with all of the dependencies required to build the "hello" package,
+    #   # and with python:
+    #
+    #   > nix-shell -E 'with (import <nixpkgs> {}); \
+    #   >    haskell.packages.ghc865.hello.envFunc { buildInputs = [ python ]; }'
+    envFunc = { withHoogle ? false }:
+      let
+        name = "ghc-shell-for-${drv.name}";
+
+        withPackages = if withHoogle then ghcWithHoogle else ghcWithPackages;
+
+        # We use the `ghcWithPackages` function from `buildHaskellPackages` if we
+        # want a shell for the sake of cross compiling a package. In the native case
+        # we don't use this at all, and instead put the setupDepends in the main
+        # `ghcWithPackages`. This way we don't have two wrapper scripts called `ghc`
+        # shadowing each other on the PATH.
+        ghcEnvForBuild =
+          assert isCross;
+          buildHaskellPackages.ghcWithPackages (_: setupHaskellDepends);
+
+        ghcEnv = withPackages (_:
+          otherBuildInputsHaskell ++
+          propagatedBuildInputs ++
+          stdenv.lib.optionals (!isCross) setupHaskellDepends);
+
+        ghcCommandCaps = stdenv.lib.toUpper ghcCommand';
+      in stdenv.mkDerivation ({
+        inherit name shellHook;
+
+        depsBuildBuild = stdenv.lib.optional isCross ghcEnvForBuild;
+        nativeBuildInputs =
+          [ ghcEnv ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
+          collectedToolDepends;
+        buildInputs =
+          otherBuildInputsSystem;
+        phases = ["installPhase"];
+        installPhase = "echo $nativeBuildInputs $buildInputs > $out";
+        LANG = "en_US.UTF-8";
+        LOCALE_ARCHIVE = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
+        "NIX_${ghcCommandCaps}" = "${ghcEnv}/bin/${ghcCommand}";
+        "NIX_${ghcCommandCaps}PKG" = "${ghcEnv}/bin/${ghcCommand}-pkg";
+        # TODO: is this still valid?
+        "NIX_${ghcCommandCaps}_DOCDIR" = "${ghcEnv}/share/doc/ghc/html";
+        "NIX_${ghcCommandCaps}_LIBDIR" = if ghc.isHaLVM or false
+          then "${ghcEnv}/lib/HaLVM-${ghc.version}"
+          else "${ghcEnv}/lib/${ghcCommand}-${ghc.version}";
+      });
+
+    env = envFunc { };
 
   };
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 0d2cce19bf7..9de3c0c3170 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -3226,6 +3226,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) libdevil;};
 
+  "Color" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, colour, criterion
+     , data-default-class, deepseq, doctest, hspec, HUnit, QuickCheck
+     , random, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "Color";
+       version = "0.1.1";
+       sha256 = "0jwqyvch7mpg83q57c50qc0visgc0nav6ihb8gr81wdp8i3f680k";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ base data-default-class deepseq vector ];
+       testHaskellDepends = [
+         base colour doctest hspec HUnit QuickCheck random template-haskell
+         vector
+       ];
+       benchmarkHaskellDepends = [ base colour criterion deepseq random ];
+       description = "Color spaces and conversions between them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "Combinatorrent" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, cereal
      , containers, deepseq, directory, filepath, hopenssl, hslogger
@@ -6351,8 +6371,8 @@ self: {
      }:
      mkDerivation {
        pname = "Frames-dsv";
-       version = "0.1.1";
-       sha256 = "0932k8aqn9c08ijbs29g04gcka441gg424g90cqd4ky9b3yxzm7w";
+       version = "0.1.2";
+       sha256 = "0zdcbysiai7lskm8lmf454022ad0kgwl0v0kzj9596fvbdx0gdi2";
        libraryHaskellDepends = [
          base bytestring Frames hw-dsv pipes template-haskell text vector
          vinyl
@@ -14942,8 +14962,8 @@ self: {
     ({ mkDerivation, base, hashable, syb }:
      mkDerivation {
        pname = "OptDir";
-       version = "0.0.3";
-       sha256 = "1bb5s57d3wyr9rd275jl0sk85yisl1dpbz042yg7pksv5l0xal0q";
+       version = "0.0.4";
+       sha256 = "07l2fagp60ykhsr3dxclkfgg1pxawj2xf0wxrn3dksjdlx0hg5j5";
        libraryHaskellDepends = [ base hashable syb ];
        description = "The OptDir type for representing optimization directions";
        license = stdenv.lib.licenses.bsd3;
@@ -21940,6 +21960,8 @@ self: {
        ];
        description = "Accelerate backend component generating LLVM IR";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "accelerate-llvm-native" = callPackage
@@ -25066,6 +25088,8 @@ self: {
        libraryHaskellDepends = [ base syb template-haskell ];
        description = "Conversions between algebraic classes and F-algebras";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "algebraic-graphs" = callPackage
@@ -28216,7 +28240,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "amqp_0_19_0" = callPackage
+  "amqp_0_19_1" = callPackage
     ({ mkDerivation, base, binary, bytestring, clock, connection
      , containers, data-binary-ieee754, hspec, hspec-expectations
      , monad-control, network, network-uri, split, stm, text, vector
@@ -28224,8 +28248,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.19.0";
-       sha256 = "1v2jwf9y6mw9f89a9ca66p42da8g5n1ain89gjr7sv6v6r2jxinj";
+       version = "0.19.1";
+       sha256 = "1802gngl74niszw355caf6x41ayfvyg2hpbckgshp7rlhfqdjabj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -28284,6 +28308,8 @@ self: {
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "amqp-worker" = callPackage
@@ -28318,8 +28344,8 @@ self: {
     ({ mkDerivation, base, deepseq, parsec }:
      mkDerivation {
        pname = "amrun";
-       version = "0.0.0.6";
-       sha256 = "01hnjzlww282hjlc6vbn51qps577hx4ll3pz4g5kn0r4h2bylad9";
+       version = "0.0.0.7";
+       sha256 = "13mc0vq51nhg3n7ff1k2045a9zkg3l5a3hr3wnz7ybfw8j457g78";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base deepseq parsec ];
@@ -29761,13 +29787,18 @@ self: {
      }:
      mkDerivation {
        pname = "api-rpc-pegnet";
-       version = "0.1.0.0";
-       sha256 = "14jb78bkdd8ywwnks3pvi8ynagsri938znyh9ylvyr5mph9ngmnc";
+       version = "0.1.1.2";
+       sha256 = "16f7849awll42w58zznf11dri3p2snd4p7cb87ygsrdx1f96gxp6";
        libraryHaskellDepends = [
          aeson aeson-casing base bytestring http-client http-client-tls
          http-conduit json-alt network remote-json remote-json-client
          remote-monad text time transformers
        ];
+       testHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit json-alt network remote-json remote-json-client
+         remote-monad text time transformers
+       ];
        description = "simple json-rpc client for PegNet";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30155,8 +30186,8 @@ self: {
      }:
      mkDerivation {
        pname = "apns-http2";
-       version = "0.1.0.0";
-       sha256 = "1mbsvv202h6vh1gkv4rhx369wagil111qbphb502v02v2g5yibdb";
+       version = "0.1.1.0";
+       sha256 = "1hwybh3c6drqji34x7zwr68l642018ajrdzs4711dxws0ib63jrw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30880,15 +30911,17 @@ self: {
      }) {debian-mirror = null; help = null;};
 
   "archive-libarchive" = callPackage
-    ({ mkDerivation, base, bytestring, composition-prelude, libarchive
+    ({ mkDerivation, base, bytestring, composition-prelude, cpphs
+     , libarchive
      }:
      mkDerivation {
        pname = "archive-libarchive";
-       version = "0.2.0.0";
-       sha256 = "0gy52dw00b110f5nc6gbnfgs5nssv7r8az1vy8xr1xj1dnpjwb74";
+       version = "0.2.2.0";
+       sha256 = "0gxhfimfyz4ik8qrin9hf70rmgdalrgc2dark6pp3xnkv1hnxw8r";
        libraryHaskellDepends = [
          base bytestring composition-prelude libarchive
        ];
+       libraryToolDepends = [ cpphs ];
        description = "Common interface using libarchive";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30901,8 +30934,8 @@ self: {
      }:
      mkDerivation {
        pname = "archive-sig";
-       version = "0.2.1.2";
-       sha256 = "03fwzl7pkb025adzv1jzh96k0h91b1w7arxza7q53i492n96qg8i";
+       version = "0.2.2.0";
+       sha256 = "1dia7j8kqjps6s67xd25fqd21wvnsp89lcvkyabvr47skfjaag3l";
        libraryHaskellDepends = [
          base bytestring composition-prelude dir-traverse
        ];
@@ -30911,14 +30944,16 @@ self: {
      }) {};
 
   "archive-tar" = callPackage
-    ({ mkDerivation, base, bytestring, composition-prelude, tar }:
+    ({ mkDerivation, base, bytestring, composition-prelude, cpphs, tar
+     }:
      mkDerivation {
        pname = "archive-tar";
-       version = "0.2.0.0";
-       sha256 = "0svbxr9734ysskilv5kvhfd7s436spn149pb5bcsq3hjz1zq5xq7";
+       version = "0.2.2.0";
+       sha256 = "1rvygznl8vwsbbdr0rin925w380c3ncqf486pdzy8jx62naip02q";
        libraryHaskellDepends = [
          base bytestring composition-prelude tar
        ];
+       libraryToolDepends = [ cpphs ];
        description = "Common interface using the tar package";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -31287,6 +31322,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arithmetic-circuits" = callPackage
+    ({ mkDerivation, aeson, base, bulletproofs, containers, criterion
+     , elliptic-curve, filepath, galois-fft, galois-field
+     , markdown-unlit, MonadRandom, pairing, poly, process-extras
+     , protolude, QuickCheck, quickcheck-instances, semirings, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, text, vector
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "arithmetic-circuits";
+       version = "0.2.0";
+       sha256 = "09fqcg8302dklzlr3fqlac09zzfws3li45nri4cd886cx8b1vzzq";
+       libraryHaskellDepends = [
+         aeson base bulletproofs containers elliptic-curve filepath
+         galois-fft galois-field MonadRandom poly process-extras protolude
+         semirings text vector wl-pprint-text
+       ];
+       testHaskellDepends = [
+         aeson base bulletproofs containers elliptic-curve filepath
+         galois-fft galois-field markdown-unlit MonadRandom pairing poly
+         process-extras protolude QuickCheck quickcheck-instances semirings
+         tasty tasty-discover tasty-hunit tasty-quickcheck text vector
+         wl-pprint-text
+       ];
+       testToolDepends = [ markdown-unlit tasty-discover ];
+       benchmarkHaskellDepends = [
+         aeson base bulletproofs containers criterion elliptic-curve
+         filepath galois-fft galois-field MonadRandom pairing poly
+         process-extras protolude semirings text vector wl-pprint-text
+       ];
+       description = "Arithmetic circuits for zkSNARKs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "arithmoi" = callPackage
     ({ mkDerivation, array, base, containers, deepseq, exact-pi, gauge
      , ghc-prim, integer-gmp, integer-logarithms, QuickCheck, random
@@ -32062,6 +32133,48 @@ self: {
        broken = true;
      }) {};
 
+  "asif_6_0_4" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
+     , conduit-combinators, conduit-extra, containers, cpu, directory
+     , doctest, doctest-discover, either, exceptions, foldl
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, hw-ip, lens, network, old-locale
+     , optparse-applicative, profunctors, resourcet, temporary-resourcet
+     , text, thyme, transformers, vector
+     }:
+     mkDerivation {
+       pname = "asif";
+       version = "6.0.4";
+       sha256 = "1613r90sfw7q0gsiyjd8j9s1gcjmwj4lsngx3qqpykcivy2ggs03";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu either exceptions foldl generic-lens
+         hw-bits hw-ip lens network old-locale profunctors resourcet
+         temporary-resourcet text thyme transformers vector
+       ];
+       executableHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu directory either exceptions foldl
+         generic-lens hw-bits hw-ip lens network old-locale
+         optparse-applicative profunctors resourcet temporary-resourcet text
+         thyme transformers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu doctest doctest-discover either
+         exceptions foldl generic-lens hedgehog hspec hw-bits
+         hw-hspec-hedgehog hw-ip lens network old-locale profunctors
+         resourcet temporary-resourcet text thyme transformers vector
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       description = "Library for creating and querying segmented feeds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "asil" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-binary-ieee754, directory, filepath, haskell-src-exts, mtl
@@ -34264,6 +34377,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro_0_4_6_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
+     , binary, bytestring, containers, data-binary-ieee754, deepseq
+     , directory, doctest, doctest-discover, extra, fail, gauge
+     , hashable, hspec, hspec-discover, lens, lens-aeson, mtl
+     , QuickCheck, random, raw-strings-qq, scientific, semigroups
+     , tagged, template-haskell, text, tf-random, transformers
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "avro";
+       version = "0.4.6.0";
+       sha256 = "127w8pny2ah05wa44khqs53vdyh54jlxvihxhpqk94wx8ggg00vx";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers data-binary-ieee754 deepseq fail hashable mtl scientific
+         semigroups tagged template-haskell text tf-random
+         unordered-containers vector zlib
+       ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers directory doctest doctest-discover extra fail hashable
+         hspec lens lens-aeson mtl QuickCheck raw-strings-qq scientific
+         semigroups tagged template-haskell text tf-random transformers
+         unordered-containers vector zlib
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       benchmarkHaskellDepends = [
+         aeson base bytestring containers gauge hashable mtl random
+         raw-strings-qq template-haskell text transformers
+         unordered-containers vector
+       ];
+       description = "Avro serialization support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "avro-piper" = callPackage
     ({ mkDerivation, aeson, avro, base, bytestring, conduit
      , conduit-combinators, conduit-extra, hedgehog, hspec
@@ -34272,8 +34422,8 @@ self: {
      }:
      mkDerivation {
        pname = "avro-piper";
-       version = "1.0.2";
-       sha256 = "17pygij07wg9583yxkhw7zc43ik7zjgb5ncx4hsksknawax83mza";
+       version = "1.0.3";
+       sha256 = "1vi0mgpqpr74ankl8418npklyfxacxg001vppps22p2da97s3pk1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -34294,6 +34444,8 @@ self: {
        ];
        description = "Tool for decoding avro";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "avwx" = callPackage
@@ -34813,6 +34965,25 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "aws-lambda-haskell-runtime_2_0_3" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-client
+     , http-types, path, path-io, safe-exceptions-checked
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "aws-lambda-haskell-runtime";
+       version = "2.0.3";
+       sha256 = "1ycqwmpgqzdb8kz3w6yzf44id32pc3vin1w3j0klzzg2k51l4nnr";
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-types path path-io
+         safe-exceptions-checked template-haskell text
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Haskell runtime for AWS Lambda";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aws-lambda-runtime" = callPackage
     ({ mkDerivation, aeson, async, base, base-compat, bytestring
      , containers, deepseq, filepath, http-client, http-media
@@ -35835,6 +36006,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "barbies_2_0_0_0" = callPackage
+    ({ mkDerivation, base, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, transformers
+     }:
+     mkDerivation {
+       pname = "barbies";
+       version = "2.0.0.0";
+       sha256 = "0rbwdx9s940wfrlkay772i0q11rbywnhzigh5wy8sppx19pgfq9z";
+       libraryHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Classes for working with types that can change clothes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "barbies-th" = callPackage
     ({ mkDerivation, barbies, base, template-haskell }:
      mkDerivation {
@@ -36341,8 +36529,8 @@ self: {
      }:
      mkDerivation {
        pname = "base64";
-       version = "0.3.1.0";
-       sha256 = "0fs6lgjxf8z6n1vzjjjq5i952rklj9skgazx8zzi6dzi98ib6dg6";
+       version = "0.3.1.1";
+       sha256 = "0g812lfql9agbdmrqvwc42sb91sibdd6w50mw3kvfz0fflskkiip";
        libraryHaskellDepends = [ base bytestring deepseq text ];
        testHaskellDepends = [
          base base64-bytestring random-bytestring tasty tasty-hunit text
@@ -36376,6 +36564,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "base64-bytestring_1_0_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , HUnit, QuickCheck, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "base64-bytestring";
+       version = "1.0.0.3";
+       sha256 = "1iwg03z1w9n3n3q68siwk0dmwkb3sygmravbwbrs7h0lxih9s5gg";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         base bytestring containers HUnit QuickCheck split test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq
+       ];
+       description = "Fast base64 encoding and decoding for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base64-bytestring-type" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , binary, bytestring, cereal, deepseq, hashable, http-api-data
@@ -37478,6 +37688,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bench-show_0_3_1" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, Chart, Chart-diagrams, csv
+     , directory, filepath, mwc-random, optparse-applicative
+     , optparse-simple, semigroups, split, statistics, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "bench-show";
+       version = "0.3.1";
+       sha256 = "0z1fdcdl9chwia9kd5pa9572mc5pmy5bld72axkzg20r7v53sr7k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
+         mwc-random split statistics transformers vector
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
+         mwc-random optparse-applicative optparse-simple semigroups split
+         statistics transformers vector
+       ];
+       testHaskellDepends = [ base split text ];
+       description = "Show, plot and compare benchmark results";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "benchmark-function" = callPackage
     ({ mkDerivation, base, process, random, time }:
      mkDerivation {
@@ -42306,8 +42543,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolector";
-       version = "0.0.0.9";
-       sha256 = "1f4lnshc4b3r9qyc6y476qpkcl3hkripqsd2vfyg9q0xbyg9pxq6";
+       version = "0.0.0.10";
+       sha256 = "0lssarfp05v6mnwn1qkgj8gjzszb43dhbs3025b60cmwsbnhfx2w";
        libraryHaskellDepends = [
          base containers directory mtl temporary time
        ];
@@ -44815,6 +45052,8 @@ self: {
        pname = "bytesmith";
        version = "0.3.2.0";
        sha256 = "0wbmi3wgf85rkhymjiv19dq93i2mg9i74dl37lpkq317qlihgv6f";
+       revision = "1";
+       editedCabalFile = "10r36zdpl96cv2jmkddfq92h78bx6785gjb29769c1dw0nnlvj94";
        libraryHaskellDepends = [
          base byteslice bytestring contiguous primitive run-st text-short
          wide-word
@@ -45685,6 +45924,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal-build-programs" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "cabal-build-programs";
+       version = "0.1.0.1";
+       sha256 = "004xr0f59fg6h6rxlf7sf6m2mi6p32h2z3vs9b56hddmxp3gn4vl";
+       libraryHaskellDepends = [ base Cabal ];
+       description = "Adds executable dependencies to the Cabal build";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cabal-bundle-clib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
      , process, temporary, text, time
@@ -46374,6 +46624,28 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-rpm_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , http-client, http-client-tls, http-conduit, optparse-applicative
+     , process, simple-cabal, simple-cmd, simple-cmd-args, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "2.0.0";
+       sha256 = "1gr68l5bg2mfl6b8nbfzcinibldk271psxp5wkiw14mclyx7ln8g";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory filepath http-client
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
+       ];
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-scripts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -47410,8 +47682,8 @@ self: {
      }:
      mkDerivation {
        pname = "call-alloy";
-       version = "0.2.0.1";
-       sha256 = "177p5k225bglz602p711pjvym3p93jihxyh4r25yvrh3kb6wi0l4";
+       version = "0.2.0.4";
+       sha256 = "0j1vvnjvgjs11ffy7r5h87vsxywyp51cs8kvqlgi5vnlwb2zfxg9";
        libraryHaskellDepends = [
          base bytestring containers directory file-embed filepath hashable
          lens mtl process split trifecta unix
@@ -54058,8 +54330,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.5";
-       sha256 = "1md3dyfaybhmfprw3qdwqvlh0r73wy8smf8j8jkdrlkxqw6vhd1f";
+       version = "0.1.2.6";
+       sha256 = "1p76m7qgvcl01zyvb8zmbp5064dp2qjd3rr3mjcai55pk5xcm35r";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -55873,6 +56145,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "compendium-client" = callPackage
+    ({ mkDerivation, aeson, base, http-client, language-protobuf
+     , megaparsec, servant, servant-client, text
+     }:
+     mkDerivation {
+       pname = "compendium-client";
+       version = "0.1.0.1";
+       sha256 = "09j71sjqpzhmzkmr1439qqwc8nizgc5ag7fmbd8z51wnkmw1wmky";
+       libraryHaskellDepends = [
+         aeson base http-client language-protobuf megaparsec servant
+         servant-client text
+       ];
+       description = "Client for the Compendium schema server";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "compensated" = callPackage
     ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
      , cabal-doctest, cereal, comonad, deepseq, distributive, doctest
@@ -56102,8 +56390,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.6.0.0";
-       sha256 = "0r15hc6kwg0dibxix2f5afg91qwc6fd5m9sijn0k0mq62f0ln7ki";
+       version = "0.6.1.0";
+       sha256 = "1a5h03h46ahighdqqxfa22mnhbik9bqzm0cxnpgxyjksbagj3x5x";
        libraryHaskellDepends = [
          aeson aeson-better-errors base composite-base containers
          contravariant generic-deriving hashable lens mmorph mtl profunctors
@@ -56128,8 +56416,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.6.0.0";
-       sha256 = "1plhqx0k0xab8fkip6v96rqnrdjq02ph1gmrk4r5zq5x4gc7gpps";
+       version = "0.6.1.0";
+       sha256 = "1z03ncjabcph9vwwhzmqp7wmhznr7jz188xpnl2lsdw0fzxlir3q";
        libraryHaskellDepends = [
          aeson-better-errors base composite-aeson mtl refined
        ];
@@ -56146,8 +56434,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.6.0.0";
-       sha256 = "188za7x9069ah8sgf8laqwkg3yfzl7cm23iacbcnbw25jd7k6vy3";
+       version = "0.6.1.0";
+       sha256 = "0qnxchx5dr2bgi8wdi4a1x2z20lw61zfxlmjkr1m7ggzz3f7py3k";
        libraryHaskellDepends = [
          base exceptions lens monad-control mtl profunctors template-haskell
          text transformers transformers-base unliftio-core vinyl
@@ -56168,8 +56456,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.6.0.0";
-       sha256 = "065aah2jx6r8i8qgwfql90nc6avhrrhc3aq3zlrqimqwv4772pvj";
+       version = "0.6.1.0";
+       sha256 = "14pa5bcr0ip43vn6wpxd4pf7lcc83f2xscri05kdf4h4d1nnwscj";
        libraryHaskellDepends = [
          base composite-base ekg-core lens text vinyl
        ];
@@ -56186,8 +56474,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-opaleye";
-       version = "0.6.0.0";
-       sha256 = "13hpvk6wx7yiz7klay7da8lllvszddlixk9xxyc8w9kqq48b4k92";
+       version = "0.6.1.0";
+       sha256 = "1vqj7pwb0wkz7c4clqj7kmc0asg74i7xb92g0g0qmwavwwc9flq1";
        libraryHaskellDepends = [
          base bytestring composite-base lens opaleye postgresql-simple
          product-profunctors profunctors template-haskell text vinyl
@@ -56210,8 +56498,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-swagger";
-       version = "0.6.0.0";
-       sha256 = "1m0a77imgrs55vmzvfx7hy74siwnxpcgjg7cawsmsnarkymb1c5c";
+       version = "0.6.1.0";
+       sha256 = "1ysp297b2nrwq6dx3bv9q44f69hlym4yvbimzj1hqc3mz63qjpaz";
        libraryHaskellDepends = [
          base composite-base insert-ordered-containers lens swagger2
          template-haskell text vinyl
@@ -57292,10 +57580,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-audio-sndfile";
-       version = "0.1.2.1";
-       sha256 = "0b326pdvqpiawqnjkmwfgf5ghvg9jn1afini0ihw8cpc7znx846z";
-       revision = "2";
-       editedCabalFile = "00c628bx1j8p342pc03p884illajqsgi47yplfxvdywxcijnwbn3";
+       version = "0.1.2.2";
+       sha256 = "1pfvsq0jz9j66ajzc0avnhchn77l22clp71kf2p7dnrib05xc757";
        libraryHaskellDepends = [
          base conduit conduit-audio hsndfile hsndfile-vector resourcet
          transformers
@@ -60384,8 +60670,8 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.2.4.0";
-       sha256 = "1zamw8c9y5r813ksirlbiz0sk20qclmjcwmg6z2h5495883ihxkj";
+       version = "0.2.4.1";
+       sha256 = "0amv5kwba1amh6nsqfh6bb2gm7a3ky5lrjjr9c88w0qfyk8rr3am";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63450,6 +63736,36 @@ self: {
        broken = true;
      }) {};
 
+  "cut-the-crap" = callPackage
+    ({ mkDerivation, base, exceptions, generic-lens, hspec, hspec-core
+     , lens, optparse-applicative, optparse-generic, regex-tdfa, shelly
+     , system-filepath, temporary, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "cut-the-crap";
+       version = "1.0.0";
+       sha256 = "0mq6hzv48ry3n8y0b60qbf3ddkfk2aqny4c1hzn92mqffhg4r0zr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base exceptions generic-lens lens optparse-applicative
+         optparse-generic regex-tdfa shelly system-filepath temporary text
+         unliftio-core
+       ];
+       executableHaskellDepends = [
+         base exceptions generic-lens lens optparse-applicative
+         optparse-generic regex-tdfa shelly system-filepath temporary text
+         unliftio-core
+       ];
+       testHaskellDepends = [
+         base exceptions generic-lens hspec hspec-core lens
+         optparse-applicative optparse-generic regex-tdfa shelly
+         system-filepath temporary text unliftio-core
+       ];
+       description = "Cuts out uninteresting parts of videos by detecting silences";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cutter" = callPackage
     ({ mkDerivation, base, bytestring, explicit-exception, spreadsheet
      , utility-ht
@@ -63515,6 +63831,25 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "cyclotomic_1_0_1" = callPackage
+    ({ mkDerivation, arithmoi, base, containers, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-smallcheck
+     }:
+     mkDerivation {
+       pname = "cyclotomic";
+       version = "1.0.1";
+       sha256 = "0d2jnpgal88j05jk62p3xwfkarigclgw2hy77ph0lii360wijljh";
+       libraryHaskellDepends = [ arithmoi base containers ];
+       testHaskellDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-smallcheck
+       ];
+       description = "A subfield of the complex numbers for exact calculation";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cypher" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , classy-parallel, conduit, http-conduit, http-types, resourcet
@@ -69155,7 +69490,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dhall_1_28_0" = callPackage
+  "dhall_1_29_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
@@ -69172,8 +69507,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.28.0";
-       sha256 = "0kiw8a9im768j304s80pv90vp1hh38v7fxfh2bb4hmglh3a8kc21";
+       version = "1.29.0";
+       sha256 = "1xp76wv36rfffym71gwdqsmwg3znmpsq5x9zgz3hfmzigxqmjgn7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69225,14 +69560,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_25" = callPackage
+  "dhall-bash_1_0_27" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.25";
-       sha256 = "0bxfx2hj06q1w1372zc7cfibsqw2hckz5116zz447mz5zmcfkjv3";
+       version = "1.0.27";
+       sha256 = "0mmf53fqgf8g6s80g6wss86lcfkrpjc51w5givy7kg9js00d48px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69330,7 +69665,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_6_0" = callPackage
+  "dhall-json_1_6_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
      , base, bytestring, containers, dhall, exceptions, filepath
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
@@ -69339,8 +69674,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.6.0";
-       sha256 = "1fb3w7p2blnxqc6q3q620vpr0fpqs2my7hh33ykh7jpzs7p031h5";
+       version = "1.6.1";
+       sha256 = "1j89a75rqr90y6yya17iym6c9d6f4sa5hhmv46qbwim9sflv1s9w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69389,8 +69724,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.3";
-       sha256 = "1ym7v3blgj4ccchg6cpyxpllp6xz6fh8kfyy3i0b1kd5lzm90s0n";
+       version = "1.0.4";
+       sha256 = "0w8xql6hxchgs77ik2fgnhb2llp6138jyiynwvhsfkjijmqj5qrl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69416,8 +69751,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.10";
-       sha256 = "04fb8l9qh70fqa50ck0hz8134s1bmcyscbf5xg5ylnxpdrs3n7as";
+       version = "1.1.11";
+       sha256 = "0af8nbakaznw8wvrdgslrqk7fnmv2425f67xv3cx1jlf51drphpk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69487,8 +69822,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-yaml";
-       version = "1.0.0";
-       sha256 = "05jhcvikm3rbcf9jzw747x70c3dsslcij977yhqks0c59nr9pqn6";
+       version = "1.0.1";
+       sha256 = "1pm36mwq6llnys9ac3b5nisw7d9xjxgh6nh2xl3kcdjh30f3bm2f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69773,10 +70108,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-cairo";
-       version = "1.4.1";
-       sha256 = "0n368gv7jjnynp7gfbnaywnd4x65956qqifcxpi3gsy8yi0zsr6z";
-       revision = "1";
-       editedCabalFile = "0irrv1mf7lz3n4dy5pz9y6kw00v1rly47g2g6hi95nj6a6hib3z0";
+       version = "1.4.1.1";
+       sha256 = "0vyd2yr55n7x71194i18lnbcshdjpnqw4qyq7vj5zx377rsz711k";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -69873,8 +70206,8 @@ self: {
        pname = "diagrams-gtk";
        version = "1.4";
        sha256 = "1sga2wwkircjgryd4pn9i0wvvcnh3qnhpxas32crpdq939idwsxn";
-       revision = "2";
-       editedCabalFile = "0hblrqvwk1pbssaci97v36r71kpm7kkcghh5ijmq52lmjfq72jqm";
+       revision = "3";
+       editedCabalFile = "0k0i3nm5zpdmrqh8wmd8y5xhw7drd67hifdva5a7dih8w5sab4ra";
        libraryHaskellDepends = [
          base cairo diagrams-cairo diagrams-lib gtk
        ];
@@ -70438,6 +70771,8 @@ self: {
        libraryHaskellDepends = [ base Enum util ];
        description = "Diff and patch";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "diff-gestalt" = callPackage
@@ -73224,6 +73559,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "doclayout_0_3" = callPackage
+    ({ mkDerivation, base, criterion, mtl, safe, tasty, tasty-golden
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "doclayout";
+       version = "0.3";
+       sha256 = "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base mtl safe text ];
+       testHaskellDepends = [
+         base mtl tasty tasty-golden tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ base criterion mtl text ];
+       description = "A prettyprinting library for laying out text documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "docopt" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
      , HUnit, parsec, split, template-haskell, text, th-lift
@@ -73325,6 +73679,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "doctemplates_0_8_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
+     , tasty, tasty-golden, tasty-hunit, temporary, text
+     , text-conversions, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "doctemplates";
+       version = "0.8.1";
+       sha256 = "02xysm510m3hbifwb7ngx39wj1ycxjrws4ngnm0d7ywqm9cv1hbb";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base containers doclayout filepath HsYAML mtl parsec safe
+         scientific text text-conversions unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers doclayout filepath Glob tasty
+         tasty-golden tasty-hunit temporary text
+       ];
+       benchmarkHaskellDepends = [
+         aeson base containers criterion doclayout filepath mtl text
+       ];
+       description = "Pandoc-style document templates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "doctest" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process
@@ -77576,6 +77957,8 @@ self: {
        doHaddock = false;
        description = "Crossing the road between Haskell and Elm";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "elm-syntax" = callPackage
@@ -78819,6 +79202,8 @@ self: {
        ];
        description = "Safe helpers for accessing and modifying environment variables";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "env-locale" = callPackage
@@ -79140,6 +79525,8 @@ self: {
        pname = "equeue";
        version = "0";
        sha256 = "14risb13sv4mz5scyhcvg6knb791lx4b9jm3k9189fhxkr5a28cc";
+       revision = "1";
+       editedCabalFile = "0i8gjfmi6jbfbmqs9yckzg694mp7v92b1m99r1hn1yw3xbizvf2j";
        libraryHaskellDepends = [
          base containers contravariant mtl semigroups stm
        ];
@@ -80994,6 +81381,8 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "Exception type hierarchy with TemplateHaskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "exception-mailer" = callPackage
@@ -82109,6 +82498,8 @@ self: {
        testHaskellDepends = [ base extensible ];
        description = "Operational-based extensible effect library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "extensible-sp" = callPackage
@@ -83191,8 +83582,8 @@ self: {
      }:
      mkDerivation {
        pname = "fay";
-       version = "0.24.0.3";
-       sha256 = "07ys208iiy28hmhc098yx2vj3rzwwxqi0q7l4xx4q61albmryf08";
+       version = "0.24.0.4";
+       sha256 = "1jpqc48a7h9x64wv77g7bdnhvfjgbabp4n3qcbqsfz9v92j46j0a";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -88731,6 +89122,8 @@ self: {
        ];
        description = "Free functors, adjoint to functors that forget class constraints";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "free-game" = callPackage
@@ -89443,8 +89836,8 @@ self: {
     ({ mkDerivation, base, bytestring, process-extras, text }:
      mkDerivation {
        pname = "fromhtml";
-       version = "1.0.1";
-       sha256 = "173rbbnn62mb7kxlv7g9r52gjqi07pj3kqd7h2qr8mhk4xlbbagy";
+       version = "1.0.4";
+       sha256 = "1pavyjpda8x5dc7g018yipz6hc329n6yfi5lbvnvc7fa3r77dvs9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring process-extras text ];
@@ -92381,6 +92774,18 @@ self: {
        broken = true;
      }) {};
 
+  "generic-lens-lite" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "generic-lens-lite";
+       version = "0.1";
+       sha256 = "07z00phy6h50bb4axlr57kin9l5fygi4q4j33rj5180ai2cbcpc6";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Monomorphic field lens like with generic-lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-lucid-scaffold" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
@@ -92430,6 +92835,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generic-optics-lite" = callPackage
+    ({ mkDerivation, base, generic-lens-lite, optics-core }:
+     mkDerivation {
+       pname = "generic-optics-lite";
+       version = "0.1";
+       sha256 = "0vf5sk1narj69pdhjqxjj0w3w3i5lxjxn8p98xp8dj0jws4mx9xi";
+       libraryHaskellDepends = [ base generic-lens-lite optics-core ];
+       testHaskellDepends = [ base optics-core ];
+       description = "Monomorphic field opics like with generic-lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-pretty" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , tasty, tasty-hunit, text, vector
@@ -94314,15 +94731,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_1_20191204" = callPackage
+  "ghc-lib_8_8_2" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
      , hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.1.20191204";
-       sha256 = "1xj2l9w4jmwxavs5s6p50wciracqlvkx9mg015m8gv1s8sxn6sqh";
+       version = "8.8.2";
+       sha256 = "0dsb41vk9agywzw7nayraq9hhi95vz6aw9yz8jgggh1an4vkg833";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -94353,15 +94770,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_8_8_1_20191204" = callPackage
+  "ghc-lib-parser_8_8_2" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
      , process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.8.1.20191204";
-       sha256 = "0acfq70mhhb76v0fhgqnijb4yp4njzxwc3c6d53r594cix3grvdp";
+       version = "8.8.2";
+       sha256 = "0q9pxdwmzm5hr6snpbkn1d3165h0lrdncgid5aqffqwz2hc1d2z0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -95299,6 +95716,8 @@ self: {
        ];
        description = "The core of an IDE";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -95882,6 +96301,8 @@ self: {
        libraryPkgconfigDepends = [ gtk4-x11 ];
        description = "GdkX11 bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {gtk4-x11 = null;};
 
   "gi-ggit" = callPackage
@@ -97194,6 +97615,8 @@ self: {
        ];
        description = "Tool to help resolving git conflicts";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "git-monitor" = callPackage
@@ -98451,8 +98874,10 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.33.1";
-       sha256 = "0vzrx0904s8r7srld4c3wkw3j0rx3l6jszz3m5friwkdwfs60a83";
+       version = "2.34";
+       sha256 = "1nmkwzifch01pnzxn3rm0gvxq9xvwvxkvqfwsdsj6zjmiz68w3ca";
+       revision = "1";
+       editedCabalFile = "13dm3cc5m7g7qhpasq2jbzm7x4dizjipjdsy5amghglrs8m0r90y";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -98620,6 +99045,8 @@ self: {
        pname = "gloss";
        version = "1.13.1.1";
        sha256 = "1bmjwd2vfbxfypr2g23810yyp921m30wxbb6f3m0wkk65iypjnls";
+       revision = "1";
+       editedCabalFile = "1bcjm3issssqxd60jd2y6032y8plcs0sm3wbnha1f6fa3z46z9n0";
        libraryHaskellDepends = [
          base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
        ];
@@ -98794,6 +99221,8 @@ self: {
        pname = "gloss-rendering";
        version = "1.13.1.1";
        sha256 = "1pkzm7zzfdya8cz3h66akx8785h3vxbnyb815liw4nilvwg01d9x";
+       revision = "1";
+       editedCabalFile = "10x83cpxp6yrmamjg4kjm3pzlhh6zj2rdw686py0vcx0jrjy3qg7";
        libraryHaskellDepends = [
          base bmp bytestring containers GLUT OpenGL
        ];
@@ -99134,6 +99563,8 @@ self: {
        pname = "gnuplot";
        version = "0.5.6";
        sha256 = "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp";
+       revision = "1";
+       editedCabalFile = "15ydlmw9a6dfiy0ffxqxy7iiszbysqn2jlhxrh4lfi21ck9n15kq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -99146,6 +99577,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "gnuplot_0_5_6_1" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, filepath, process
+     , semigroups, temporary, time, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "gnuplot";
+       version = "0.5.6.1";
+       sha256 = "1rfq94lnsyjr8y9p5r56jpllv3p8rvh9xxzjji016b6r5adi8cnb";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq filepath process semigroups temporary time transformers
+         utility-ht
+       ];
+       description = "2D and 3D plots using gnuplot";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gnutls" = callPackage
     ({ mkDerivation, base, bytestring, gnutls, monads-tf, transformers
      }:
@@ -104513,6 +104966,8 @@ self: {
        ];
        description = "GTFS RealTime protobafs library (autogenerated from .proto file)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gtk" = callPackage
@@ -108320,8 +108775,10 @@ self: {
     ({ mkDerivation, base, containers, random }:
      mkDerivation {
        pname = "hanabi-dealer";
-       version = "0.2.1.0";
-       sha256 = "1lk2rr48hcf8wdci1aj8xcybyh1nm2dmqi25vj23gj7lq4fir5cs";
+       version = "0.3.2.0";
+       sha256 = "0jaw7s82l0nsr1axqkngcc4wfnmh790jdqbnsknwvyk6anvbpacb";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base containers random ];
        description = "Hanabi card game";
        license = stdenv.lib.licenses.bsd3;
@@ -112051,6 +112508,8 @@ self: {
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-src-exts-util" = callPackage
@@ -113464,6 +113923,37 @@ self: {
        broken = true;
      }) {};
 
+  "haskoin-core_0_10_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
+     , cereal, conduit, containers, cryptonite, deepseq, entropy
+     , hashable, hspec, hspec-discover, HUnit, memory, mtl, murmur3
+     , network, QuickCheck, safe, scientific, secp256k1-haskell, split
+     , string-conversions, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskoin-core";
+       version = "0.10.0";
+       sha256 = "0gb9z0ncy7ff93k41yvbj0i33akpk5vcm477ydpn7sandq3m40nv";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring bytestring cereal conduit
+         containers cryptonite deepseq entropy hashable hspec HUnit memory
+         mtl murmur3 network QuickCheck safe scientific secp256k1-haskell
+         split string-conversions text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring cereal containers deepseq hspec HUnit mtl
+         QuickCheck safe split string-conversions text unordered-containers
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bitcoin & Bitcoin Cash library for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "haskoin-crypto" = callPackage
     ({ mkDerivation, base, binary, byteable, bytestring, containers
      , cryptohash, haskoin-util, HUnit, mtl, QuickCheck, test-framework
@@ -113498,8 +113988,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.9.14";
-       sha256 = "17nd6spm2bskgnxp2v7jfb66ds2qgxzhzlvd4yhgbf63kqfhlkjl";
+       version = "0.9.15";
+       sha256 = "0bdyqqhxjbz3lqj5q7cg9w9i40xvp9p9185g3dlhqn598s65mppx";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -113576,8 +114066,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.19.3";
-       sha256 = "0r7kckbkjb1y4dlz1byh3q1xnkysb8361gydvzk6dwbb4fmzld1p";
+       version = "0.19.5";
+       sha256 = "1pxplfipl4n6vq8s8al0acfrxnbpf8yhya6hpfymszfbvcyqkhl8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115346,6 +115836,8 @@ self: {
        pname = "haxr";
        version = "3000.11.3.1";
        sha256 = "1wyb848mb0b6idkbi5jarsf6qi1zzl3yh6xd05g228kykii8k9mg";
+       revision = "1";
+       editedCabalFile = "1g5vqgpk02kx502w0klps88i0h0mfwmb8ai14xm5b90jmd9kndn3";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -118890,21 +119382,21 @@ self: {
   "hgeometry" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
      , data-clist, deepseq, dlist, doctest, doctest-discover, fingertree
-     , fixed-vector, hgeometry-combinatorial, lens, linear, MonadRandom
-     , mtl, QuickCheck, quickcheck-instances, reflection, semigroupoids
-     , semigroups, singletons, template-haskell, text, vector
-     , vector-builder, vinyl, yaml
+     , fixed-vector, hgeometry-combinatorial, hspec, lens, linear
+     , MonadRandom, mtl, primitive, QuickCheck, quickcheck-instances
+     , reflection, semigroupoids, semigroups, template-haskell, text
+     , vector, vector-builder, vinyl, yaml
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.9.0.0";
-       sha256 = "1s9hmknrqdsrfda5l8qjs85qhq6lm8vfkd54dnkbg67xk42z0y1m";
+       version = "0.10.0.0";
+       sha256 = "01kf7cmjdr2s172xj25i9vyjpfd0wayh0bjgccxqqy886kxrkhfw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers data-clist deepseq
-         dlist fingertree fixed-vector hgeometry-combinatorial lens linear
-         MonadRandom mtl QuickCheck quickcheck-instances reflection
-         semigroupoids semigroups singletons template-haskell text vector
+         dlist fingertree fixed-vector hgeometry-combinatorial hspec lens
+         linear MonadRandom mtl primitive QuickCheck quickcheck-instances
+         reflection semigroupoids semigroups template-haskell text vector
          vector-builder vinyl yaml
        ];
        testHaskellDepends = [ base doctest doctest-discover QuickCheck ];
@@ -118925,13 +119417,13 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry-combinatorial";
-       version = "0.9.0.0";
-       sha256 = "0c9byfg6x1ch1812s6kf9w1vkrhzffqw6asllhln95f6cvsz58z0";
+       version = "0.10.0.0";
+       sha256 = "0v168wxnzkmylh8gzxzrq0sfq5y2xn3i8r6kqnahc14x1c1jzzk1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers contravariant
          data-clist deepseq dlist fingertree lens MonadRandom mtl QuickCheck
-         quickcheck-instances reflection semigroupoids semigroups singletons
+         quickcheck-instances reflection semigroupoids semigroups
          template-haskell text vector vector-builder vinyl yaml
        ];
        testHaskellDepends = [
@@ -119461,6 +119953,8 @@ self: {
        ];
        description = "Set up a GHC API session";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hie-core" = callPackage
@@ -121123,8 +121617,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.16.1";
-       sha256 = "1dw04sjgji6iprs0hqxr0nynkg5qsqh20l0d48vqjkgaral4sxma";
+       version = "1.16.2";
+       sha256 = "1jvvmj13n3xv575g5zxfq2nw9bk719yb6ivddxfaf36h10zqpdxl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121249,10 +121743,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.3.9";
-       sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq";
-       revision = "3";
-       editedCabalFile = "1c06v50lhhzsa4872j9khqvga7pvfrvns8sp3srn9vfwxbiw5x7z";
+       version = "1.3.10";
+       sha256 = "0kdrdbvs5qi8hc807d245xrv589hgx5aly5syb6zk62pi1kf92s3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121326,8 +121818,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.16.1";
-       sha256 = "14rwigcmal1dy286qnw93nnn4rl42hgcnz882wmjmhpyjrs4l5ig";
+       version = "1.16.2";
+       sha256 = "0b3b68560jszx8frmv8q9bxs1nc33n9c52ns1gcy3a3j3s80ww3g";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
@@ -121380,8 +121872,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.16.1";
-       sha256 = "0cn1pwr87lvi65m619v845vj17v27hp3h6fcgy1cpb4gjsdvq861";
+       version = "1.16.2";
+       sha256 = "1bsg48i9fmml4ga8jg1ikxig30dn7x5i8qbzbd9nr9lz5wg9xxlh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -121427,8 +121919,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.16.1";
-       sha256 = "1mn3mk4v6akbzl2hc8k89q4njffxpj832h5pywy9rj2mc7fbw5s5";
+       version = "1.16.2";
+       sha256 = "1kipq8b1df1iyp0dsdkbmshzdgii1993kb72drqsbl4ihj6vd96s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121528,8 +122020,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.2.6";
-       sha256 = "0943qnx9c8b1ach233f435qq5830b6g5vqfq3yy8qdagpwi3vpn1";
+       version = "2.2.7";
+       sha256 = "0qcqpw880436n2jdil12hp071mgzvknjflkx1j01fk3hbyn4hqmx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -123595,19 +124087,18 @@ self: {
 
   "hookup" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, HsOpenSSL
-     , HsOpenSSL-x509-system, network, openssl
+     , HsOpenSSL-x509-system, network
      }:
      mkDerivation {
        pname = "hookup";
-       version = "0.3";
-       sha256 = "08a10bmnr15bb6pdcq4hq3z4595spsq3g8879apcqb6qgbs6dlxb";
+       version = "0.3.0.1";
+       sha256 = "12jwjgbbdiyffy78b90a2jcz1vz1mfsrmgj0q4w3ly3zl79j2la9";
        libraryHaskellDepends = [
          attoparsec base bytestring HsOpenSSL HsOpenSSL-x509-system network
        ];
-       librarySystemDepends = [ openssl ];
        description = "Abstraction over creating network connections with SOCKS5 and TLS";
        license = stdenv.lib.licenses.isc;
-     }) {inherit (pkgs) openssl;};
+     }) {};
 
   "hoopl" = callPackage
     ({ mkDerivation, base, containers, filepath, mtl, parsec
@@ -124617,8 +125108,8 @@ self: {
     ({ mkDerivation, base, bytestring, unix, word8 }:
      mkDerivation {
        pname = "hpath-filepath";
-       version = "0.10.0";
-       sha256 = "0s83ym61sg24z8d5fbmvb5divvr9a05bgx0w66clfqwzi8pi3mxs";
+       version = "0.10.1";
+       sha256 = "16hrcd0qdidggsafm11x3h1b3gyqwf77bav9vyvli5mi8b5ha8n5";
        libraryHaskellDepends = [ base bytestring unix word8 ];
        description = "ByteString based filepath manipulation";
        license = stdenv.lib.licenses.bsd3;
@@ -124626,16 +125117,16 @@ self: {
 
   "hpath-io" = callPackage
     ({ mkDerivation, base, bytestring, hpath, hpath-filepath, hspec
-     , HUnit, IfElse, process, streamly, unix, unix-bytestring
-     , utf8-string
+     , HUnit, IfElse, process, safe-exceptions, streamly, unix
+     , unix-bytestring, utf8-string
      }:
      mkDerivation {
        pname = "hpath-io";
-       version = "0.10.0";
-       sha256 = "01p0118chixajafiiihh8cvpmk9h4jvvpgzynr8ci63zx8x8s3bd";
+       version = "0.10.1";
+       sha256 = "10bhgcw55xs5y58khi67y881v560x3wnp74d67d8qkk64afx36xz";
        libraryHaskellDepends = [
-         base bytestring hpath hpath-filepath IfElse streamly unix
-         unix-bytestring utf8-string
+         base bytestring hpath hpath-filepath IfElse safe-exceptions
+         streamly unix unix-bytestring utf8-string
        ];
        testHaskellDepends = [
          base bytestring hpath hspec HUnit IfElse process unix
@@ -124643,6 +125134,8 @@ self: {
        ];
        description = "High-level IO operations on files/directories";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hpc_0_6_0_3" = callPackage
@@ -127788,6 +128281,27 @@ self: {
        license = stdenv.lib.licenses.isc;
      }) {};
 
+  "hsinstall_2_6" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, Cabal, directory, filepath
+     , heredoc, optparse-applicative, process, safe-exceptions
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsinstall";
+       version = "2.6";
+       sha256 = "0763jzyl8ysani30alc6ii3i68i5ls1cd288b6iza4lfz1knval5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory filepath ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base Cabal directory filepath heredoc
+         optparse-applicative process safe-exceptions transformers
+       ];
+       description = "Install Haskell software";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hskeleton" = callPackage
     ({ mkDerivation, base, Cabal }:
      mkDerivation {
@@ -131784,6 +132298,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "A native HTTP2 client library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-client-exe" = callPackage
@@ -131803,6 +132319,8 @@ self: {
        ];
        description = "A command-line http2 client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-client-grpc" = callPackage
@@ -132220,8 +132738,8 @@ self: {
     ({ mkDerivation, base, bytestring, deepseq, ghc, text }:
      mkDerivation {
        pname = "humble-prelude";
-       version = "0.1";
-       sha256 = "019zj48h3daa8yvzcdpg4j9zr252mx384hyif330d8xhp8kpfzvb";
+       version = "0.2";
+       sha256 = "0pzfhp65afkdc33pjbxzcf68c02w6nq8sxqspfwbn78dghg9cbrn";
        libraryHaskellDepends = [ base bytestring deepseq ghc text ];
        description = "Redefinition-free prelude alternative";
        license = stdenv.lib.licenses.bsd3;
@@ -132496,6 +133014,24 @@ self: {
        broken = true;
      }) {};
 
+  "hurl" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, http-client
+     , http-client-tls, http-types, network-uri, text
+     }:
+     mkDerivation {
+       pname = "hurl";
+       version = "1.0.0.0";
+       sha256 = "13yh9n7h3ihdxfi69w5jww7l9xan8yy1l4ijf198sw03sfq52k9l";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring http-client http-client-tls
+         http-types network-uri text
+       ];
+       description = "Haskell URL resolver";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hurriyet" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, here, hspec
      , http-client, http-client-tls, mtl, text
@@ -132931,6 +133467,8 @@ self: {
        pname = "hw-dsv";
        version = "0.4.0";
        sha256 = "1cpjfq3z4q5wmnlaskrzxhyybb07andc7gli7vv7njm9552bwyvf";
+       revision = "2";
+       editedCabalFile = "167zvbxwjmb25xmhcdhrshk03b98kh5ldrf2b6a4v8xlkj4p33qm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137209,8 +137747,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental";
-       version = "0.1";
-       sha256 = "03yax3xkp1mlipi1vn97ljz05c6fxflpvz9myqvlxcj658p9f3kh";
+       version = "0.1.1";
+       sha256 = "17lwakfa7xh0rdxr4hixlqy9hldvz06hcsclw3kln7m4iv4843d7";
        libraryHaskellDepends = [
          aeson base containers deepseq extensible semigroups text
        ];
@@ -137641,6 +138179,26 @@ self: {
        broken = true;
      }) {};
 
+  "infernal" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive
+     , containers, exceptions, heart-app, heart-core, http-client
+     , http-types, mtl, text, unliftio, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "infernal";
+       version = "0.3.0";
+       sha256 = "0iixw8np4rh66ql2lm2gkhz9yzkgxw0mch3gxsflqi0a96y2jcik";
+       libraryHaskellDepends = [
+         aeson base binary bytestring case-insensitive containers exceptions
+         heart-app heart-core http-client http-types mtl text unliftio
+         unordered-containers wai
+       ];
+       description = "The Infernal Machine - An AWS Lambda Custom Runtime for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "infernu" = callPackage
     ({ mkDerivation, base, containers, digits, either, fgl
      , language-ecmascript, mtl, optparse-applicative, parsec
@@ -138510,6 +139068,8 @@ self: {
        libraryHaskellDepends = [ base containers primitive ];
        description = "Advent of Code 2019 intcode interpreter";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "integer-gmp_1_0_2_0" = callPackage
@@ -140108,10 +140668,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-core";
-       version = "2.7.1";
-       sha256 = "0syhcb1q9j68pcxzbv45pah6bkfvnqjzkpzn2356ci7jpb9qpbbn";
-       revision = "2";
-       editedCabalFile = "1g85hhzjqv3fp9704p6hc09vhclk1wr56b7ih46ryfkclqlgfcm6";
+       version = "2.7.2";
+       sha256 = "1gpd28lxhqj2xj75nyyififn9434imvm0vqvx7zdw44fvg75lqyq";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring bytestring hashable primitive
          text time vector
@@ -142675,6 +143233,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "json_0_10" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl, parsec
+     , pretty, syb, text
+     }:
+     mkDerivation {
+       pname = "json";
+       version = "0.10";
+       sha256 = "1fjnd2r4gl2hfqx158db3cn3rsyin4ch7rf9scb2hcy90cy6l10c";
+       libraryHaskellDepends = [
+         array base bytestring containers mtl parsec pretty syb text
+       ];
+       description = "Support for serialising Haskell to and from JSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "json-alt" = callPackage
     ({ mkDerivation, aeson, base }:
      mkDerivation {
@@ -148549,6 +149123,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-puppet_1_4_6_1" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, async, attoparsec, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptonite, directory, filecache, filepath, formatting, Glob
+     , hashable, hruby, hslogger, hspec, hspec-megaparsec, http-api-data
+     , http-client, lens, lens-aeson, megaparsec, memory, mtl
+     , operational, optparse-applicative, parsec, parser-combinators
+     , pcre-utils, protolude, random, regex-pcre-builtin, scientific
+     , servant, servant-client, split, stm, strict-base-types, temporary
+     , text, time, transformers, unix, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "language-puppet";
+       version = "1.4.6.1";
+       sha256 = "0w1ffflnzlcwfc4zhn1zlrdhapdniy67wy0z2pa6qgkvxv52rlxd";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base base16-bytestring bytestring
+         case-insensitive containers cryptonite directory filecache filepath
+         formatting hashable hruby hslogger http-api-data http-client lens
+         lens-aeson megaparsec memory mtl operational parsec
+         parser-combinators pcre-utils protolude random regex-pcre-builtin
+         scientific servant servant-client split stm strict-base-types text
+         time transformers unix unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson ansi-wl-pprint async base bytestring containers Glob hslogger
+         http-client lens mtl optparse-applicative regex-pcre-builtin
+         strict-base-types text transformers unordered-containers vector
+         yaml
+       ];
+       testHaskellDepends = [
+         base Glob hslogger hspec hspec-megaparsec lens megaparsec mtl
+         pcre-utils scientific strict-base-types temporary text transformers
+         unordered-containers vector
+       ];
+       description = "Tools to parse and evaluate the Puppet DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-python" = callPackage
     ({ mkDerivation, alex, array, base, containers, happy, monads-tf
      , pretty, transformers, utf8-string
@@ -149856,6 +150474,8 @@ self: {
        pname = "learn-physics";
        version = "0.6.4";
        sha256 = "06f1p3rcb37lh0miih2c697w8jiciby3qgjcbjagmf91svx25mm0";
+       revision = "2";
+       editedCabalFile = "0q1m0nfqjb46r2drisk4w3pggmxlx1f391lhvh8bk0z3w1ih4lmy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150740,14 +151360,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lenz_0_4_1_0" = callPackage
+  "lenz_0_4_2_0" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, hs-functors
      , transformers
      }:
      mkDerivation {
        pname = "lenz";
-       version = "0.4.1.0";
-       sha256 = "110a41iig3s273j7z2cpdahnnkbq1f5rswra33ag3w2x9sqry5yj";
+       version = "0.4.2.0";
+       sha256 = "13yz9lxxll928knxjgvdxdbnv911pxkd9d5jly1hdnhyymahv6lf";
        libraryHaskellDepends = [
          base base-unicode-symbols hs-functors transformers
        ];
@@ -150895,6 +151515,8 @@ self: {
        benchmarkHaskellDepends = [ base gauge util ];
        description = "See README for more info";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "lexer-applicative" = callPackage
@@ -151115,8 +151737,8 @@ self: {
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "2.1.3.2";
-       sha256 = "1z934rl8dm4ncp7qs6kqm2hiir41k5ysrpp44nb6rgzs8f8x46mr";
+       version = "2.2.0.1";
+       sha256 = "0lf7l5wk7hm1s9kkr18bvcm7nqwwhbkas0ycnlk4gz4c6qwbnbz3";
        setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
@@ -154447,6 +155069,8 @@ self: {
        ];
        description = "General purpose LLVM bindings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {llvm-config = null;};
 
   "llvm-hs_9_0_1" = callPackage
@@ -154474,6 +155098,7 @@ self: {
        description = "General purpose LLVM bindings";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {llvm-config = null;};
 
   "llvm-hs-pretty" = callPackage
@@ -155310,25 +155935,25 @@ self: {
   "log4hs" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring, containers
      , criterion, data-default, directory, filepath, generic-lens, hspec
-     , hspec-core, lens, process, QuickCheck, template-haskell, text
-     , time, vformat, yaml
+     , hspec-core, lens, mtl, process, QuickCheck, template-haskell
+     , text, time, vformat, yaml
      }:
      mkDerivation {
        pname = "log4hs";
-       version = "0.4.0.0";
-       sha256 = "1k4xl8496mrgr9h1m3zsa41xcxywb3z134jisjg8lbzx37mh0zb1";
+       version = "0.6.0.0";
+       sha256 = "11lprcp066hxrgc7945lzprwffwkkd1sl1p3fa3qzw8xb6qi5nhz";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default directory filepath
-         generic-lens lens template-haskell text time vformat yaml
+         generic-lens lens mtl template-haskell text time vformat yaml
        ];
        testHaskellDepends = [
          aeson aeson-qq base bytestring containers data-default directory
-         filepath generic-lens hspec hspec-core lens process QuickCheck
+         filepath generic-lens hspec hspec-core lens mtl process QuickCheck
          template-haskell text time vformat yaml
        ];
        benchmarkHaskellDepends = [
          aeson aeson-qq base bytestring containers criterion data-default
-         directory filepath generic-lens lens template-haskell text time
+         directory filepath generic-lens lens mtl template-haskell text time
          vformat yaml
        ];
        description = "A python logging style log library";
@@ -157087,8 +157712,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.3.0.5";
-       sha256 = "0mlwcchikmiaq6scs48g2snaiwcznwrcfksn4yij4hagjz734rpq";
+       version = "0.3.1.0";
+       sha256 = "0yklxk2hqfc47lh0i347lwbnr54xk5zk2r6yqyckbaqb89k3xw0p";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -158845,8 +159470,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "maquinitas-tidal";
-       version = "0.1.0";
-       sha256 = "1gdbcjhcdgk1jx674rbh4lr1xbcks18xiygywsh3pv846wh3m0n6";
+       version = "0.2.1";
+       sha256 = "14j4469yl1ypw97m33r2v37mlqxa689ish84k7ggwjdqxj9f64n2";
        libraryHaskellDepends = [ base ];
        description = "library for MIDI control of hardware";
        license = stdenv.lib.licenses.mit;
@@ -159823,6 +160448,26 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "matrix-market-attoparsec_0_1_0_9" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory
+     , exceptions, hspec, QuickCheck, scientific
+     }:
+     mkDerivation {
+       pname = "matrix-market-attoparsec";
+       version = "0.1.0.9";
+       sha256 = "0nfmn611x8yyw34xsz6nz7rsmc83211yydf7ic5icq5b598amg9s";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring exceptions scientific
+       ];
+       testHaskellDepends = [
+         base directory exceptions hspec QuickCheck
+       ];
+       description = "Parsing and serialization functions for the NIST Matrix Market format";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "matrix-market-pure" = callPackage
     ({ mkDerivation, array, base, containers }:
      mkDerivation {
@@ -159889,8 +160534,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.5.0";
-       sha256 = "0ahlsyk21zm0h1ri0jwlhmqv90myn8x5xhjhpqxafsyjj8vhanpw";
+       version = "50200.6.0";
+       sha256 = "0b8qsd2w324sxmp3cgnz7fzlbhk5nz6slw8qxxm5dpy0bs5v7xnb";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -159927,8 +160572,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "50200.2.0";
-       sha256 = "1c0d2djv3a374k9avbg95sm2f22bhz8ssafw76dnphkk7yasr8h6";
+       version = "50200.3.0";
+       sha256 = "1d5nxaf382lzsr05rcby9w8y726bsda29w46b96p89whfbq8s9h3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159951,8 +160596,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "50200.2.0";
-       sha256 = "0wryvjx9s5p1gvvkp1kzdfgrvwrmfpy81caqc85p6mwnr18ybrbq";
+       version = "50200.3.0";
+       sha256 = "14111sq1k7iw8yy050805x0m80i9mixgxaqkl15gm0pvm4ap5ycd";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -163948,8 +164593,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7h";
-       version = "0.4.1.0";
-       sha256 = "0i7gpq32zsfdbkq5yydban70g4r16b8z9c1f5hlf0mid57zvmy9v";
+       version = "0.5.1.0";
+       sha256 = "0hrkk5fnknjb6871frf6g2j896vbbbyhhxph4ay3f82s4vyh4zvs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -163970,8 +164615,8 @@ self: {
     ({ mkDerivation, base, directory, mmsyn2, mmsyn7ukr, vector }:
      mkDerivation {
        pname = "mmsyn7l";
-       version = "0.2.0.0";
-       sha256 = "1x1yk5c51wrr1nrcq76msgc1g4rrh2lghbzhz8xh5z0a2qdich1s";
+       version = "0.2.3.0";
+       sha256 = "1i9va9ynk4iihvgm5ivdf9pnjc7md2crdfkyww3a709ff416v60x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory mmsyn2 mmsyn7ukr vector ];
@@ -164006,8 +164651,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7ukr";
-       version = "0.6.1.1";
-       sha256 = "15gj44ij2hc1mrlminb7fzg502x2fa2w34k0p9k45hl77l961m49";
+       version = "0.6.3.0";
+       sha256 = "1q831acj5a3c0dxlhy2gqci2925p6szz29c90q0nfs8psp58lz42";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -167892,6 +168537,152 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "mu-avro" = callPackage
+    ({ mkDerivation, aeson, avro, base, bytestring, containers
+     , mu-schema, sop-core, tagged, template-haskell, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "mu-avro";
+       version = "0.1.0.0";
+       sha256 = "1g5083vwd0s7h27r8l8mdrqwbflq89cgm1660cd1nd29vypwz55x";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson avro base bytestring containers mu-schema sop-core tagged
+         template-haskell text unordered-containers vector
+       ];
+       executableHaskellDepends = [ avro base bytestring mu-schema ];
+       description = "Avro serialization support for Mu microservices";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-grpc-client" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, http2
+     , http2-client, http2-client-grpc, http2-grpc-proto3-wire
+     , mu-protobuf, mu-rpc, mu-schema, sop-core, stm, stm-chans
+     , stm-conduit, template-haskell, text, th-abstraction
+     }:
+     mkDerivation {
+       pname = "mu-grpc-client";
+       version = "0.1.0.0";
+       sha256 = "00i6z413dknh71dnzy61wcgkcwczj74042glsag8193pr1kxa3s6";
+       libraryHaskellDepends = [
+         async base bytestring conduit http2 http2-client http2-client-grpc
+         http2-grpc-proto3-wire mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-chans stm-conduit template-haskell text th-abstraction
+       ];
+       description = "gRPC clients from Mu definitions";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-grpc-server" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit
+     , http2-grpc-proto3-wire, http2-grpc-types, mtl, mu-protobuf
+     , mu-rpc, mu-schema, sop-core, stm, stm-conduit, wai, warp
+     , warp-grpc, warp-tls
+     }:
+     mkDerivation {
+       pname = "mu-grpc-server";
+       version = "0.1.0.1";
+       sha256 = "0f494cn3x1v6hdmyf7w97hvhlvichw70pz9jza232rv7ds6bq38j";
+       revision = "1";
+       editedCabalFile = "0g1qs1ydjy0yn2997il049ldb303gvjvc1pn7j161zb31zlc699m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring conduit http2-grpc-proto3-wire
+         http2-grpc-types mtl mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-conduit wai warp warp-grpc warp-tls
+       ];
+       executableHaskellDepends = [
+         async base bytestring conduit http2-grpc-proto3-wire
+         http2-grpc-types mtl mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-conduit wai warp warp-grpc warp-tls
+       ];
+       description = "gRPC servers for Mu definitions";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-persistent" = callPackage
+    ({ mkDerivation, base, monad-logger, mu-schema, persistent
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "mu-persistent";
+       version = "0.1.0.0";
+       sha256 = "16y1d69zwfrv2wdx0xj1aavhkfv5z6bg9wvzj29215k1vcvarx7i";
+       libraryHaskellDepends = [
+         base monad-logger mu-schema persistent resourcet transformers
+       ];
+       description = "Utilities for interoperation between Mu and Persistent";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-protobuf" = callPackage
+    ({ mkDerivation, base, bytestring, compendium-client, http-client
+     , http2-grpc-proto3-wire, language-protobuf, mu-rpc, mu-schema
+     , proto3-wire, servant-client-core, sop-core, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "mu-protobuf";
+       version = "0.1.0.0";
+       sha256 = "1vlsq45cjkll4y9fjgjnvp1d9ax850zxy9rawprcrnwc48wmpdxz";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring compendium-client http-client
+         http2-grpc-proto3-wire language-protobuf mu-rpc mu-schema
+         proto3-wire servant-client-core sop-core template-haskell text
+       ];
+       executableHaskellDepends = [
+         base bytestring mu-schema proto3-wire text
+       ];
+       description = "Protocol Buffers serialization and gRPC schema import for Mu microservices";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-rpc" = callPackage
+    ({ mkDerivation, base, conduit, mtl, mu-schema, sop-core
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "mu-rpc";
+       version = "0.1.0.0";
+       sha256 = "1hinkmhgp49sl7d00iz20p9maf47almii9000hfkszyqbq1dh58p";
+       libraryHaskellDepends = [
+         base conduit mtl mu-schema sop-core template-haskell text
+       ];
+       description = "Protocol-independent declaration of services and servers";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-schema" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, sop-core
+     , template-haskell, text, th-abstraction, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "mu-schema";
+       version = "0.1.0.0";
+       sha256 = "0yqm70w5xbzlcgqdwywfr0qncxlzi9z3nshs8x06shd0g0gjgmhy";
+       libraryHaskellDepends = [
+         aeson base bytestring containers sop-core template-haskell text
+         th-abstraction unordered-containers vector
+       ];
+       description = "Format-independent schemas for serialization";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "mucipher" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -169084,6 +169875,27 @@ self: {
        broken = true;
      }) {};
 
+  "musicScroll" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, dbus, gi-gtk
+     , gi-gtk-hs, gtk3, req, stm, tagsoup, text
+     }:
+     mkDerivation {
+       pname = "musicScroll";
+       version = "0.1.0.0";
+       sha256 = "1k0di4xiv1jbfdcbwgqf3cn71fn8351lhhd82nv9cj6h3pmphxvd";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         async base bytestring containers dbus gi-gtk gi-gtk-hs req stm
+         tagsoup text
+       ];
+       executableHaskellDepends = [ base ];
+       executablePkgconfigDepends = [ gtk3 ];
+       description = "Supply your tunes info without leaving your music player";
+       license = stdenv.lib.licenses.gpl3;
+     }) {inherit (pkgs) gtk3;};
+
   "musicbrainz-email" = callPackage
     ({ mkDerivation, aeson, amqp, base, blaze-builder, bytestring
      , configurator, errors, ghc-prim, heist, HTTP, HUnit, mime-mail
@@ -172096,6 +172908,8 @@ self: {
        ];
        description = "An interface to bitcoind";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "network-bsd" = callPackage
@@ -172603,12 +173417,12 @@ self: {
      }) {};
 
   "network-run" = callPackage
-    ({ mkDerivation, base, network }:
+    ({ mkDerivation, base, bytestring, network }:
      mkDerivation {
        pname = "network-run";
-       version = "0.2.1";
-       sha256 = "0fviap6njppdw1dv9dy5027q37kz93w3vdzij0wgp4jp284qcc1f";
-       libraryHaskellDepends = [ base network ];
+       version = "0.2.2";
+       sha256 = "1znf2pafcg1gcrb3yyc69h6y5mb8hilibr5khcwil09i5djsjyxx";
+       libraryHaskellDepends = [ base bytestring network ];
        description = "Simple network runner library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -173529,8 +174343,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.2.0.0";
-       sha256 = "16d1akwdn7w6g4qpa3mz0wb0prwf3wsv9clllbqdg66mk830dznh";
+       version = "0.2.1.0";
+       sha256 = "0xka55h7c5zqyb8nj1pyq0iq50yfwy4p6fspya1zbi0yjblnxnsa";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base base64 bytestring containers ede
          enclosed-exceptions http-client http-types ngx-export
@@ -173762,8 +174576,8 @@ self: {
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.11";
-       sha256 = "1llgfcrj4cayjga84dmn35xkaf8rckxpqrxqf4gagff9fpis96gs";
+       version = "0.2.12";
+       sha256 = "0lbkc49ddkxb6x3miimcd2c4ajwf7d9z0hay54n0gmz7d92ha8q0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178998,8 +179812,8 @@ self: {
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.0.2.0";
-       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
+       version = "0.0.3.0";
+       sha256 = "04s48k3w4lgi682q8cllhmmawffl2781hi462gkcjr18kx46swx1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179917,6 +180731,25 @@ self: {
        broken = true;
      }) {pam = null;};
 
+  "pan-os-syslog" = callPackage
+    ({ mkDerivation, base, byteslice, bytesmith, chronos, gauge, ip
+     , primitive, primitive-addr, run-st
+     }:
+     mkDerivation {
+       pname = "pan-os-syslog";
+       version = "0.1.0.0";
+       sha256 = "0ydydbql0pgd6vp9zvzjf0qzsprjaicz9vffrrp3z1xgmfynh70r";
+       libraryHaskellDepends = [
+         base byteslice bytesmith chronos ip primitive primitive-addr run-st
+       ];
+       testHaskellDepends = [ base byteslice primitive ];
+       benchmarkHaskellDepends = [ base byteslice gauge primitive ];
+       description = "Parse syslog traffic from PAN-OS";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "panda" = callPackage
     ({ mkDerivation, base, cgi, containers, data-default, directory
      , filepath, gravatar, haskell98, hcheat, kibro, MissingH, mps
@@ -181694,6 +182527,8 @@ self: {
        ];
        description = "Streaming Parquet reader";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "parse-dimacs" = callPackage
@@ -182493,6 +183328,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "password_0_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, QuickCheck
+     , quickcheck-instances, scrypt, text
+     }:
+     mkDerivation {
+       pname = "password";
+       version = "0.1.0.1";
+       sha256 = "0n96n9kiiij6pf587y21v39c2zh9r4n4yd6n2k8km770k3bg1skr";
+       libraryHaskellDepends = [ base scrypt text ];
+       testHaskellDepends = [
+         base bytestring doctest QuickCheck quickcheck-instances
+       ];
+       description = "plain-text password and hashed password datatypes and functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "password-instances" = callPackage
     ({ mkDerivation, aeson, base, doctest, http-api-data, password
      , persistent, QuickCheck, quickcheck-instances
@@ -182511,6 +183363,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "password-instances_0_3_0_1" = callPackage
+    ({ mkDerivation, aeson, base, doctest, http-api-data, password
+     , persistent, QuickCheck, quickcheck-instances
+     }:
+     mkDerivation {
+       pname = "password-instances";
+       version = "0.3.0.1";
+       sha256 = "03x9ky018r1ihl4ajc1fcw78g8h1vk3dzr4gjqck78jsb8kj7l93";
+       libraryHaskellDepends = [
+         aeson base http-api-data password persistent
+       ];
+       testHaskellDepends = [
+         base doctest QuickCheck quickcheck-instances
+       ];
+       description = "typeclass instances for password package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "passwords" = callPackage
     ({ mkDerivation, base, containers, MonadRandom, random }:
      mkDerivation {
@@ -184674,10 +185545,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mongoDB";
-       version = "2.9.0.1";
-       sha256 = "08pcx9hn461ww12ziq4fxnxn01pv9rpgmz6lmxk0qpxagp0jfk85";
-       revision = "1";
-       editedCabalFile = "14x751hns0h0ykjhlncm7d5p9dzll7r0rvpafh1kz4149r8566xl";
+       version = "2.9.0.2";
+       sha256 = "0q78y1ydsvm0jrsi211zq789vy50czhskwq13plv6l2h4860917v";
        libraryHaskellDepends = [
          aeson base bson bytestring cereal conduit http-api-data mongoDB
          network path-pieces persistent resource-pool resourcet text time
@@ -184876,7 +185745,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-postgresql_2_10_1_1" = callPackage
+  "persistent-postgresql_2_10_1_2" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, fast-logger, hspec, hspec-expectations, HUnit
      , monad-logger, persistent, persistent-qq, persistent-template
@@ -184886,8 +185755,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.10.1.1";
-       sha256 = "075msvfvi3f1ac002cd3mvj075c16ffvh6k2syls7kcpgy1z7r9v";
+       version = "2.10.1.2";
+       sha256 = "1q7n0h16argvpw2y3f8mxzmvy24q6if46ab9nvybviki283zbvlb";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          persistent postgresql-libpq postgresql-simple resource-pool
@@ -185173,7 +186042,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-template_2_8_0" = callPackage
+  "persistent-template_2_8_0_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , deepseq, deepseq-generics, file-embed, hspec, http-api-data
      , monad-control, monad-logger, path-pieces, persistent, QuickCheck
@@ -185182,8 +186051,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-template";
-       version = "2.8.0";
-       sha256 = "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3";
+       version = "2.8.0.1";
+       sha256 = "0chgzq70ss8b9hkq0v6zi2kdqsbj3xxcl485ajmwrxclkz1f8c3n";
        libraryHaskellDepends = [
          aeson base bytestring containers http-api-data monad-control
          monad-logger path-pieces persistent template-haskell text
@@ -190935,6 +191804,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "postgresql-simple-migration_0_1_15_0" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
+     , directory, hspec, postgresql-simple, text, time
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-migration";
+       version = "0.1.15.0";
+       sha256 = "0j6nhyknxlmpl0yrdj1pifw1fbb24080jgg64grnhqjwh1d44dvd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring cryptohash directory
+         postgresql-simple time
+       ];
+       executableHaskellDepends = [
+         base base64-bytestring bytestring cryptohash directory
+         postgresql-simple text time
+       ];
+       testHaskellDepends = [ base bytestring hspec postgresql-simple ];
+       description = "PostgreSQL Schema Migrations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-simple-named" = callPackage
     ({ mkDerivation, base, bytestring, doctest, Glob, hspec, mtl
      , postgresql-simple, resource-pool, text, transformers
@@ -191821,12 +192714,14 @@ self: {
      }) {};
 
   "predicate-transformers" = callPackage
-    ({ mkDerivation, adjunctions, base, lens, mtl }:
+    ({ mkDerivation, adjunctions, base, deepseq, lens, mtl }:
      mkDerivation {
        pname = "predicate-transformers";
-       version = "0.6.0.0";
-       sha256 = "0m1dgkfbw4prhccllpdm7h99shp2554f1bvi0s950qa2k3mvz9l4";
-       libraryHaskellDepends = [ adjunctions base lens mtl ];
+       version = "0.7.0.2";
+       sha256 = "0wkd7xz3d4sifx9cxm9rnjskhxrbdyqpdspi0sa6jr1ckmq25zpf";
+       revision = "1";
+       editedCabalFile = "1b02l2fdfxvlsvhcmkpsp0vzc0igsd0nrb64yb7af5a7z08cc9c0";
+       libraryHaskellDepends = [ adjunctions base deepseq lens mtl ];
        description = "A library for writing predicates and transformations over predicates in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -192485,15 +193380,15 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_2_0_0" = callPackage
+  "pretty-simple_3_2_1_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
      , containers, criterion, doctest, Glob, mtl, QuickCheck
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.2.0.0";
-       sha256 = "0jbxyjiyshbc5q5avbmm5ms8n8m0zm540gl3x7vz8k22pcb65jv8";
+       version = "3.2.1.0";
+       sha256 = "01cnvfn2y7qgp9pc9ra9glmgs64f1m8bxa8n31yy8jlkwwmyhly6";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -192711,6 +193606,19 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "prettyprinter-graphviz" = callPackage
+    ({ mkDerivation, base, graphviz, prettyprinter, text }:
+     mkDerivation {
+       pname = "prettyprinter-graphviz";
+       version = "0.1.0.1";
+       sha256 = "1h6jr4vh60j54ajsylh41y0iskz5yjgh2879v25z1mw7vfi40kww";
+       libraryHaskellDepends = [ base graphviz prettyprinter text ];
+       description = "a prettyprinter backend for graphviz";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "prettyprinter-vty" = callPackage
     ({ mkDerivation, base, prettyprinter, vty }:
      mkDerivation {
@@ -196098,6 +197006,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pure-zlib_0_6_7" = callPackage
+    ({ mkDerivation, array, base, base-compat, bytestring
+     , bytestring-builder, containers, filepath, fingertree, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "pure-zlib";
+       version = "0.6.7";
+       sha256 = "1ddj88zk94gqqhxiyvkachvhwi5n2la4pfaf5vppkc9ma7sjhyhn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base base-compat bytestring bytestring-builder containers
+         fingertree
+       ];
+       executableHaskellDepends = [ base base-compat bytestring ];
+       testHaskellDepends = [
+         base base-compat bytestring filepath HUnit QuickCheck tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base base-compat bytestring time ];
+       description = "A Haskell-only implementation of zlib / DEFLATE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pureMD5" = callPackage
     ({ mkDerivation, base, binary, bytestring, cereal, crypto-api
      , crypto-api-tests, pretty-hex, QuickCheck, tagged, test-framework
@@ -200269,14 +201203,14 @@ self: {
      }:
      mkDerivation {
        pname = "raven-haskell";
-       version = "0.1.2.1";
-       sha256 = "1mzz7z99a2agivwypcl62y68vpmihyh6rvy79w1jd29n1l2p621x";
+       version = "0.1.3.0";
+       sha256 = "0jd0xxrliqc85mifkqzblc3fi6xjgkwkqxijqjx42r5jc0m1qs7f";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit mtl network random resourcet
          text time unordered-containers uuid
        ];
        testHaskellDepends = [
-         aeson base bytestring hspec unordered-containers
+         aeson base bytestring hspec time unordered-containers
        ];
        description = "Haskell client for Sentry logging service";
        license = stdenv.lib.licenses.mit;
@@ -201091,6 +202025,8 @@ self: {
          base bytestring containers directory hspec text
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "read-editor" = callPackage
@@ -202621,6 +203557,44 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-fsnotify" = callPackage
+    ({ mkDerivation, base, fsnotify, reflex }:
+     mkDerivation {
+       pname = "reflex-fsnotify";
+       version = "0.1.0.0";
+       sha256 = "1rj1mk5i3a74i5wjwqwbh5546vjqw97laswg4lkiihkq9w20dlry";
+       libraryHaskellDepends = [ base fsnotify reflex ];
+       description = "reflex-frp interface for watching files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "reflex-ghci" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, fsnotify
+     , optparse-applicative, process, reflex, reflex-fsnotify
+     , reflex-process, reflex-vty, regex-tdfa, text, unix, vty
+     }:
+     mkDerivation {
+       pname = "reflex-ghci";
+       version = "0.1.2.0";
+       sha256 = "13wilfk6d8s201jyifm1ynw8d9ziizaldhg8g9vjvj0j9sxiv1ma";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath fsnotify process reflex
+         reflex-fsnotify reflex-process reflex-vty regex-tdfa text unix
+       ];
+       executableHaskellDepends = [
+         base optparse-applicative process reflex reflex-process reflex-vty
+         text vty
+       ];
+       description = "A GHCi widget library for use in reflex applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-gloss" = callPackage
     ({ mkDerivation, base, dependent-sum, gloss, mtl, reflex
      , transformers
@@ -202720,6 +203694,28 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-process" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , process, reflex, reflex-vty, text, unix, vty
+     }:
+     mkDerivation {
+       pname = "reflex-process";
+       version = "0.1.0.1";
+       sha256 = "0v7xiax45ax2z6w0b4sprc171pv9fkbld7warmk0phwr3sfzb9ai";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring data-default process reflex unix
+       ];
+       executableHaskellDepends = [
+         base containers data-default process reflex reflex-vty text vty
+       ];
+       description = "reflex-frp interface for running shell commands";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-sdl2" = callPackage
     ({ mkDerivation, async, base, containers, dependent-sum
      , exception-transformers, mtl, primitive, ref-tf, reflex, sdl2, stm
@@ -202766,8 +203762,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-vty";
-       version = "0.1.2.1";
-       sha256 = "0l0hpsxg2hjg0446pk34ip24zx8lv6jmr63hizpxjr3vspiff5g0";
+       version = "0.1.3.0";
+       sha256 = "1200svlgpy4zqdfarx1b8n64vgskb9jl00p548ya4pwi0bsv95y7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202906,26 +203902,29 @@ self: {
 
   "refurb" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, classy-prelude
-     , composite-base, composite-opaleye, dlist, fast-logger, hspec
-     , lens, monad-logger, old-locale, opaleye, optparse-applicative
-     , postgresql-simple, process, product-profunctors, template-haskell
-     , text, these, thyme, vector-space
+     , composite-base, composite-opaleye, dlist, exceptions, fast-logger
+     , hspec, lens, monad-control, monad-logger, old-locale, opaleye
+     , optparse-applicative, postgresql-simple, process
+     , product-profunctors, template-haskell, text, these, these-lens
+     , thyme, transformers-base, vector-space
      }:
      mkDerivation {
        pname = "refurb";
-       version = "0.2.2.0";
-       sha256 = "0qnlkpi8hc6a1xf094zf675i4ap3gymxirdmbkdwjq8j54w3lkhl";
+       version = "0.2.3.0";
+       sha256 = "09p9i0l59f34k12pbxvi50bxpj2d864n96fr79mq41xm0bhygsjb";
        libraryHaskellDepends = [
          ansi-wl-pprint base bytestring classy-prelude composite-base
-         composite-opaleye dlist fast-logger lens monad-logger old-locale
-         opaleye optparse-applicative postgresql-simple process
-         product-profunctors template-haskell text these thyme vector-space
+         composite-opaleye dlist exceptions fast-logger lens monad-control
+         monad-logger old-locale opaleye optparse-applicative
+         postgresql-simple process product-profunctors template-haskell text
+         these these-lens thyme transformers-base vector-space
        ];
        testHaskellDepends = [
          ansi-wl-pprint base bytestring classy-prelude composite-base
-         composite-opaleye dlist fast-logger hspec lens monad-logger
-         old-locale opaleye optparse-applicative postgresql-simple process
-         product-profunctors template-haskell text these thyme vector-space
+         composite-opaleye dlist exceptions fast-logger hspec lens
+         monad-control monad-logger old-locale opaleye optparse-applicative
+         postgresql-simple process product-profunctors template-haskell text
+         these these-lens thyme transformers-base vector-space
        ];
        description = "Tools for maintaining a database";
        license = stdenv.lib.licenses.bsd3;
@@ -203138,8 +204137,8 @@ self: {
      }:
      mkDerivation {
        pname = "regex-do";
-       version = "3.2";
-       sha256 = "0ywp64hifikr5wa0spcg7wl2grrfshyiax25pxzs7hk6xrjais57";
+       version = "3.2.1";
+       sha256 = "1jng0vmdvgwysfw71klgfzx6hs18v64q17had9j2kkg82w6fivqw";
        libraryHaskellDepends = [
          array base bytestring regex-base regex-pcre stringsearch tagged
          text
@@ -203150,6 +204149,8 @@ self: {
        ];
        description = "PCRE wrapper";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "regex-easy" = callPackage
@@ -207106,6 +208107,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rio_0_1_13_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , exceptions, filepath, hashable, hspec, microlens, mtl, primitive
+     , process, QuickCheck, text, time, typed-process, unix, unliftio
+     , unliftio-core, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rio";
+       version = "0.1.13.0";
+       sha256 = "1jsrblk451ayf5smplngxmch73pf4r0qanafyyfn0g5wyh6hsxcm";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable microlens mtl primitive process text time typed-process
+         unix unliftio unliftio-core unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable hspec microlens mtl primitive process QuickCheck text time
+         typed-process unix unliftio unliftio-core unordered-containers
+         vector
+       ];
+       description = "A standard library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rio-orphans" = callPackage
     ({ mkDerivation, base, exceptions, fast-logger, hspec
      , monad-control, monad-logger, resourcet, rio, transformers-base
@@ -207706,14 +208733,14 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "rocksdb-query_0_3_0" = callPackage
+  "rocksdb-query_0_3_1" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, data-default
      , hspec, resourcet, rocksdb-haskell, unliftio
      }:
      mkDerivation {
        pname = "rocksdb-query";
-       version = "0.3.0";
-       sha256 = "0fy7d9m9g0jwssjgkhyg2d170s7mp7g9kz73zgnnp0xgl6mpxrsi";
+       version = "0.3.1";
+       sha256 = "072l4f5xb5prsbs7d7j12mwxy0rlrsnqf6w7g09xmq7n3mz0sv0f";
        libraryHaskellDepends = [
          base bytestring cereal conduit resourcet rocksdb-haskell unliftio
        ];
@@ -209027,8 +210054,8 @@ self: {
     ({ mkDerivation, base, primitive, primitive-unlifted }:
      mkDerivation {
        pname = "run-st";
-       version = "0.1.0.0";
-       sha256 = "0gy5qkq8g7azfp170nsvbfdmj4k058zzfz6imvm2yvbqsny6i77a";
+       version = "0.1.1.0";
+       sha256 = "11if8xwv22ry0mxrglg3pcx3cx8ljnq56f3m9vjkr9jcj2881dvf";
        libraryHaskellDepends = [ base primitive primitive-unlifted ];
        description = "runST without boxing penalty";
        license = stdenv.lib.licenses.bsd3;
@@ -211455,22 +212482,22 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "science-constants";
-       version = "0.2.0.0";
-       sha256 = "0qp3d9la929kks2b2pyylgznl86gy91lp3zgpb9bn7gas3wll9vy";
+       version = "0.2.0.2";
+       sha256 = "0h60pdq3r32wl9h49i08iq496yf0qwvd0qmlmnk9jy5x3zcdwjmd";
        libraryHaskellDepends = [ base ];
        description = "Mathematical/physical/chemical constants";
-       license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "science-constants-dimensional" = callPackage
-    ({ mkDerivation, base, dimensional, numtype, science-constants }:
+    ({ mkDerivation, base, dimensional, numtype-dk, science-constants
+     }:
      mkDerivation {
        pname = "science-constants-dimensional";
-       version = "0.1.0.2";
-       sha256 = "13yz9c8d52fdrkz23f064s0pp9cc2941qfcfz6b0g4c6f6a0wqkm";
+       version = "0.1.0.3";
+       sha256 = "05svn307q46cskw1ywkkp1b0ym9jcn48dzjij9mvkg5g6gvsbcg4";
        libraryHaskellDepends = [
-         base dimensional numtype science-constants
+         base dimensional numtype-dk science-constants
        ];
        description = "Mathematical/physical/chemical constants";
        license = stdenv.lib.licenses.bsd3;
@@ -212756,6 +213783,33 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1 library from Bitcoin Core";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {libsecp256k1 = null;};
+
+  "secp256k1-haskell_0_1_8" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, cereal
+     , deepseq, entropy, hashable, hspec, hspec-discover, HUnit
+     , libsecp256k1, mtl, QuickCheck, string-conversions
+     }:
+     mkDerivation {
+       pname = "secp256k1-haskell";
+       version = "0.1.8";
+       sha256 = "0ymmgcvlw4wrmnn0r6nmmpk0djihpappiywwfxvmnq8brqdkf3jk";
+       libraryHaskellDepends = [
+         base base16-bytestring bytestring cereal deepseq entropy hashable
+         QuickCheck string-conversions
+       ];
+       libraryPkgconfigDepends = [ libsecp256k1 ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring cereal deepseq entropy hashable
+         hspec HUnit mtl QuickCheck string-conversions
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bindings for secp256k1 library from Bitcoin Core";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {libsecp256k1 = null;};
 
   "secp256k1-legacy" = callPackage
@@ -213131,8 +214185,8 @@ self: {
      }:
      mkDerivation {
        pname = "semantic-source";
-       version = "0.0.0.1";
-       sha256 = "0w1iwd67dpvpc43g4x9q686sljrxv6xhx9rlgiw6kzcdil7fcm8z";
+       version = "0.0.1.0";
+       sha256 = "0zzybqys2vc2i06ggkbzcd8b2s68j3qpsrds55p0cvd9ng4dlvgi";
        libraryHaskellDepends = [
          aeson base bytestring deepseq generic-monoid hashable semilattices
          text
@@ -216516,21 +217570,21 @@ self: {
 
   "servant-to-elm" = callPackage
     ({ mkDerivation, aeson, base, bound, elm-syntax, haskell-to-elm
-     , http-types, protolude, servant, text
+     , http-types, protolude, servant, servant-multipart, text
      }:
      mkDerivation {
        pname = "servant-to-elm";
-       version = "0.2.0.0";
-       sha256 = "0kj42y6jb5cqylkvj0iwm857vliagfgbh7rgyzbrgz834r7n5cri";
+       version = "0.3.0.0";
+       sha256 = "1s241rjgr8hwkrnvalx23nbyg3gdi3v5nsdfz2lys4b24wyafg5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bound elm-syntax haskell-to-elm http-types protolude
-         servant text
+         servant servant-multipart text
        ];
        testHaskellDepends = [
          aeson base bound elm-syntax haskell-to-elm http-types protolude
-         servant text
+         servant servant-multipart text
        ];
        description = "Automatically generate Elm clients for Servant APIs";
        license = stdenv.lib.licenses.bsd3;
@@ -218556,8 +219610,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate";
-       version = "0.3.4.2";
-       sha256 = "123dv5mjj7nah9mm5yfgwv6ga5lwh4d9xi01zskm3z0ia4fdxs85";
+       version = "0.3.4.3";
+       sha256 = "1cn3kh5rszyis2pqvh3s35zlchxwyf7vssd8md9z8vgqs6apd49r";
        libraryHaskellDepends = [
          base bytestring directory filepath process temporary transformers
          unix
@@ -218574,10 +219628,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate-extras";
-       version = "0.3.4.1";
-       sha256 = "0bmqz4k2wcdv2669w053xm4990fdyghqq35m5kwnrbwr9qwn5pgk";
-       revision = "1";
-       editedCabalFile = "11x8alavql8375misc8zry4sz73bz3hxqydmbk9hsymgvkdm51y6";
+       version = "0.3.4.3";
+       sha256 = "1aqc0bslqwrfr8b9nkk52n3fjw2b91gnn7pzzp24smm1cbm2x50d";
        libraryHaskellDepends = [
          base bytestring feed http-conduit http-types mime-types shellmate
          tagsoup text utf8-string xml
@@ -218875,6 +219927,8 @@ self: {
        isExecutable = true;
        description = "Examples for the shine package";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "shine-varying" = callPackage
@@ -220512,6 +221566,8 @@ self: {
        librarySystemDepends = [ sqlite ];
        description = "Simplest SQLite3 binding";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) sqlite;};
 
   "simplex" = callPackage
@@ -221259,6 +222315,8 @@ self: {
        pname = "skip-var";
        version = "0.1.1.0";
        sha256 = "07nljfjd45fagisd99pqz2jhznfapk9cgd9lyy9cija7pmxfbg5z";
+       revision = "1";
+       editedCabalFile = "0vl2y19l7xhlq08f91ggycj4imfdxvkj2fsaz8ifc0waxk3q7ja8";
        libraryHaskellDepends = [ base ];
        description = "Skip variables";
        license = stdenv.lib.licenses.mit;
@@ -221891,6 +222949,8 @@ self: {
        pname = "small-bytearray-builder";
        version = "0.3.1.0";
        sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
+       revision = "1";
+       editedCabalFile = "16kslqf3zwqvjk3hhf1s3hb1xkhz0nk2a9n59fwbwqxqrbxy4kdb";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
          primitive-offset run-st text-short wide-word
@@ -229774,15 +230834,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_46_0" = callPackage
+  "stratosphere_0_47_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.46.0";
-       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
+       version = "0.47.0";
+       sha256 = "04917xnc2hs613xi8d2mj3z2miyrrdmbywcmasg7ffcs2vxig48q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230625,6 +231685,8 @@ self: {
        ];
        description = "Folder watching as a Streamly stream";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "streamproc" = callPackage
@@ -231616,6 +232678,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "structured-cli_2_6_0_0" = callPackage
+    ({ mkDerivation, base, data-default, exceptions, haskeline, mtl
+     , split, transformers
+     }:
+     mkDerivation {
+       pname = "structured-cli";
+       version = "2.6.0.0";
+       sha256 = "1g0yq5kxidmh4x0izvspafhhir64krw986s0a5rkbvkjk7ahvm7y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base data-default exceptions haskeline mtl split transformers
+       ];
+       executableHaskellDepends = [ base data-default mtl split ];
+       description = "Application library for building interactive console CLIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "structured-haskell-mode" = callPackage
     ({ mkDerivation, base, descriptive, ghc-prim, haskell-src-exts
      , text
@@ -231841,8 +232922,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylist";
-       version = "1.1.0.0";
-       sha256 = "1sgfyslbsppndgbywlqynzfxd63y6vr9mig6d76czh427qvn7qpp";
+       version = "1.1.1.0";
+       sha256 = "0adcw26540a8srlmypjdv41icw5d3j3i2q6i7j92hhssj642bfw4";
        libraryHaskellDepends = [
          base css-syntax hashable network-uri text unordered-containers
        ];
@@ -235101,6 +236182,8 @@ self: {
        executablePkgconfigDepends = [ gtk3 ];
        description = "A desktop bar similar to xmobar, but with more GUI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gtk3;};
 
   "tag-bits" = callPackage
@@ -235758,8 +236841,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, safe, text }:
      mkDerivation {
        pname = "tamper";
-       version = "0.4.2.2";
-       sha256 = "0jzx76k1bd47ag3y73xmhi7yw7abr5hk9gy95gv3y7knb6mj9cdl";
+       version = "0.4.2.3";
+       sha256 = "0im6m05lj6nfap6qqff9qmb8vvv4i3g17pcqdg6rqb2xx86dfnjj";
        libraryHaskellDepends = [ base containers mtl safe text ];
        description = "Blaze-style HTML templates as a Monad Transformer";
        license = stdenv.lib.licenses.bsd3;
@@ -236020,8 +237103,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.9.0.0";
-       sha256 = "14fvvk0a0i0giq5ab8nhkimxhnfhwbqadgjh6p6xvrnm8qikkqg1";
+       version = "1.9.1.0";
+       sha256 = "07hkkx71xb6k89ylis58lcv69ab1avggb4347ppzv2wxp6qljn5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -236252,8 +237335,8 @@ self: {
        pname = "tasty-hedgehog";
        version = "1.0.0.1";
        sha256 = "1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz";
-       revision = "1";
-       editedCabalFile = "1n6797fm8swyrk8cw7zxz593gq82wx8dayvm204rmgcz75bslcpn";
+       revision = "2";
+       editedCabalFile = "0zrp7njdx69pvhf1lg4fv3p962qfsm2z3qk09h0jhxmfj5ishnhs";
        libraryHaskellDepends = [ base hedgehog tagged tasty ];
        testHaskellDepends = [
          base hedgehog tasty tasty-expected-failure
@@ -236262,6 +237345,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-hedgehog_1_0_0_2" = callPackage
+    ({ mkDerivation, base, hedgehog, tagged, tasty
+     , tasty-expected-failure
+     }:
+     mkDerivation {
+       pname = "tasty-hedgehog";
+       version = "1.0.0.2";
+       sha256 = "1vsv3m6brhshpqm8qixz97m7h0nx67cj6ira4cngbk7mf5rqylv5";
+       libraryHaskellDepends = [ base hedgehog tagged tasty ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-expected-failure
+       ];
+       description = "Integration for tasty and hedgehog";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-hedgehog-coverage" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tagged, tasty
      , tasty-expected-failure, tasty-hedgehog, text, transformers
@@ -240990,6 +242090,26 @@ self: {
        license = "GPL";
      }) {};
 
+  "threaded" = callPackage
+    ({ mkDerivation, async, base, chan, extractable-singleton, hashable
+     , monad-control-aligned, mtl, stm, tmapmvar
+     }:
+     mkDerivation {
+       pname = "threaded";
+       version = "0.0.0";
+       sha256 = "1f7zvigy2gwj0dsxfs4m07ng4k4l29i6mccjnvqz0b45gsm1b4fj";
+       libraryHaskellDepends = [
+         async base chan extractable-singleton hashable
+         monad-control-aligned mtl stm tmapmvar
+       ];
+       testHaskellDepends = [
+         async base chan extractable-singleton hashable
+         monad-control-aligned mtl stm tmapmvar
+       ];
+       description = "Manage concurrently operating threads without having to spark them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "threadmanager" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -241472,6 +242592,8 @@ self: {
        testHaskellDepends = [ async base deepseq doctest Glob hspec ];
        description = "A concurrent utility inspired by Ticker in golang";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tickle" = callPackage
@@ -243464,6 +244586,8 @@ self: {
          text unordered-containers
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tokenify" = callPackage
@@ -245404,8 +246528,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.7.2.0";
-       sha256 = "1gq30qjywg6cgbzgxxfngkn5c4kbddnij7wdvz8x7k1yb13ra0hd";
+       version = "0.8.0.0";
+       sha256 = "14hb5ss2iwkbipyl7yvchhajs6wli2pfw85zs5qb1yzaxxx78qml";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -245424,8 +246548,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.4.0.0";
-       sha256 = "0i469134jc1i665nr5j3z3al8lgsv74mm5x7rk4gm159kpfm1z1r";
+       version = "0.4.1.0";
+       sha256 = "1a41r2fdmwc7yyqnhfc3y38krklm9s9sn5mbc4lpf2595pqv0ggg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245464,8 +246588,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.6.0.0";
-       sha256 = "1jz740pj2ihmkf06ixii93msfn40lh5mky3qc5bvwk5xqf4ai716";
+       version = "0.6.1.0";
+       sha256 = "07zyj3diaq2nrlvxbhbrad1wha2705v5d9kf51vmhxknybdxp5sf";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245482,19 +246606,26 @@ self: {
      }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-json" = callPackage
-    ({ mkDerivation, base, template-haskell, text, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype, tasty
+     , tasty-hedgehog, tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.5.0.0";
-       sha256 = "1mq1v81d00l80pg6mji9w1g464hxvgv28djnxany5vy2g38ns7q9";
+       version = "0.6.0.0";
+       sha256 = "0n7rq5a8kjrgr7d7fbhjxybrbgwxr2c8d2wyr80yp27vilvf4lh6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for JSON";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-php" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
@@ -245513,20 +246644,21 @@ self: {
      }) {};
 
   "tree-sitter-python" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, pathtype, semantic-source, tasty, tasty-hedgehog
-     , tasty-hunit, template-haskell, text, tree-sitter
-     , tree-sitter-test-helpers
+    ({ mkDerivation, base, bytestring, gauge, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.8.0.0";
-       sha256 = "08a698qqjck0nml11nrgyzvgrjbkanyvfv0x0bqng0w3mjk62yf0";
+       version = "0.8.1.0";
+       sha256 = "0sjrml57dc9fsjmh555hjsckb05x9pz3lzk970hmm2cfwgnifvyi";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base directory filepath semantic-source template-haskell
-         tree-sitter
+         base semantic-source template-haskell tree-sitter
        ];
+       executableHaskellDepends = [ base bytestring gauge tree-sitter ];
        testHaskellDepends = [
          base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
          text tree-sitter tree-sitter-test-helpers
@@ -245539,18 +246671,23 @@ self: {
      }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
-    ({ mkDerivation, base, bytestring, hedgehog, pathtype
-     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+    ({ mkDerivation, base, bytestring, gauge, Glob, hedgehog, lens
+     , pathtype, semantic-source, tasty, tasty-hedgehog, tasty-hunit
      , template-haskell, text, tree-sitter, tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.4.0.0";
-       sha256 = "1y26956bryax1n17yf49hqczcig1qd5fk5j39arj93464x142ba9";
+       version = "0.4.1.0";
+       sha256 = "1kb87c1z9jghidygk632lihlqkqbanx48dvpdqxn7ypnni4dzw0k";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
        ];
+       executableHaskellDepends = [
+         base bytestring gauge Glob lens pathtype tree-sitter
+       ];
        testHaskellDepends = [
          base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
          text tree-sitter tree-sitter-test-helpers
@@ -245569,8 +246706,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.4.0.0";
-       sha256 = "0q5v1fm9ia83074gkamz06hlcmdkd4vabjfrjqcra7mrvrj1pqa2";
+       version = "0.4.1.0";
+       sha256 = "0bznbbg8yj1qd5z4bqjxf8y4jjbb8w2d68xzmbp66rjbw7nzcs60";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245593,8 +246730,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.4.0.0";
-       sha256 = "0sbvsfipwf2j809kkjcgbqq4k44h69x9dl07dvngjyfimkccv758";
+       version = "0.4.1.0";
+       sha256 = "0p53vi3mjmln5mrmsv6w43jbdlcjywq61qm4911w3qqwmwjbgn14";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -246024,6 +247161,32 @@ self: {
        broken = true;
      }) {};
 
+  "tropical-geometry" = callPackage
+    ({ mkDerivation, algebra, base, containers, criterion, gloss
+     , hlint-test, lens, matrix, numeric-prelude, semiring-simple
+     , singletons, sized, tasty, tasty-hspec, tasty-hunit, type-natural
+     }:
+     mkDerivation {
+       pname = "tropical-geometry";
+       version = "0.0.0.1";
+       sha256 = "12qcfb98yzm0ijnpzjqp3z20i0vvlpvfy4gpz7a001q8sgchd182";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         algebra base containers gloss lens matrix numeric-prelude
+         semiring-simple singletons sized type-natural
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base containers hlint-test tasty tasty-hspec tasty-hunit
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "A Tropical Geometry package for Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "true-name" = callPackage
     ({ mkDerivation, base, containers, template-haskell, time }:
      mkDerivation {
@@ -249133,8 +250296,8 @@ self: {
     ({ mkDerivation, base, bytestring, posix-paths, systemd, unix }:
      mkDerivation {
        pname = "udev";
-       version = "0.1.0.0";
-       sha256 = "1a5i57f50scxbv5snn4xd953bx98qq3cgzhxjnqvxyazqz3h1fx2";
+       version = "0.1.1.0";
+       sha256 = "1sb0bdi221gr58cv2b24izs02wd28fr4jijsbpw8r5gzia2j4wf0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring posix-paths unix ];
@@ -253760,6 +254923,8 @@ self: {
        libraryHaskellDepends = [ base fin lens vec ];
        description = "Vec: length-indexed (sized) list: lens support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "vec-optics" = callPackage
@@ -253771,6 +254936,8 @@ self: {
        libraryHaskellDepends = [ base fin optics-core vec ];
        description = "Vec: length-indexed (sized) list: optics support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "vect" = callPackage
@@ -255902,6 +257069,40 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-app-static_3_1_7_1" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, cryptonite, directory, file-embed, filepath, hspec
+     , http-date, http-types, memory, mime-types, mockery, network
+     , old-locale, optparse-applicative, template-haskell, temporary
+     , text, time, transformers, unix-compat, unordered-containers, wai
+     , wai-extra, warp, zlib
+     }:
+     mkDerivation {
+       pname = "wai-app-static";
+       version = "3.1.7.1";
+       sha256 = "10k6jb450p89r6dgpnwh428gg0wfw2qbx9n126jkvbchcjr1f4v8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup bytestring containers cryptonite
+         directory file-embed filepath http-date http-types memory
+         mime-types old-locale optparse-applicative template-haskell text
+         time transformers unix-compat unordered-containers wai wai-extra
+         warp zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring containers directory mime-types text
+       ];
+       testHaskellDepends = [
+         base bytestring filepath hspec http-date http-types mime-types
+         mockery network old-locale temporary text time transformers
+         unix-compat wai wai-extra zlib
+       ];
+       description = "WAI application for static serving";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-cli" = callPackage
     ({ mkDerivation, ansi-terminal, base, http-types, iproute
      , monads-tf, network, options, socket-activation, stm
@@ -256220,6 +257421,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-handler-launch_3_0_3" = callPackage
+    ({ mkDerivation, async, base, bytestring, http-types, process
+     , streaming-commons, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-handler-launch";
+       version = "3.0.3";
+       sha256 = "1416vx2gnllyrz8vrzq1x6in9ypa1wgxwqyh5zqbb9rfwbb83ha5";
+       libraryHaskellDepends = [
+         async base bytestring http-types process streaming-commons
+         transformers wai warp
+       ];
+       description = "Launch a web app in the default browser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-handler-scgi" = callPackage
     ({ mkDerivation, base, bytestring, wai, wai-extra }:
      mkDerivation {
@@ -257790,7 +259008,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "warp_3_3_6" = callPackage
+  "warp_3_3_7" = callPackage
     ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, directory, gauge
      , ghc-prim, hashable, hspec, http-client, http-date, http-types
@@ -257800,8 +259018,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.6";
-       sha256 = "0ldby1rinf6awqhgda72hyvff5pid4lgb9d0kgdxdm5v4qrcvcpd";
+       version = "3.3.7";
+       sha256 = "1145nbrd6gzr0qhd7vgf5vdhs22xd9z1h9cr2jbs77r6kqypzy3v";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -257891,6 +259109,8 @@ self: {
        libraryHaskellDepends = [ base network systemd unix wai warp ];
        description = "Socket activation and other systemd integration for the Warp web server (WAI)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "warp-tls" = callPackage
@@ -262802,8 +264022,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-conduit-stylist";
-       version = "1.0.0.0";
-       sha256 = "1w9ig4mr0l0kj8mk7sfsyv8p77k91l93cfpbpvmg32q9wffz2r02";
+       version = "1.0.1.0";
+       sha256 = "1csa940r6a63i01khcm89lvhp7m6dyxpnljn6l6m105z7jfvvy8r";
        libraryHaskellDepends = [
          base containers css-syntax network-uri stylist text
          unordered-containers xml-conduit
@@ -264005,6 +265225,53 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xrefcheck" = callPackage
+    ({ mkDerivation, aeson, aeson-options, async, autoexporter
+     , base-noprelude, bytestring, cmark-gfm, containers, data-default
+     , deepseq, directory, directory-tree, filepath, fmt, Glob, hspec
+     , hspec-discover, http-client, http-types, lens, loot-prelude, mtl
+     , o-clock, optparse-applicative, pretty-terminal, QuickCheck, req
+     , roman-numerals, template-haskell, text, text-metrics
+     , th-lift-instances, th-utilities, yaml
+     }:
+     mkDerivation {
+       pname = "xrefcheck";
+       version = "0.1.0.0";
+       sha256 = "1ap5pdgbvf9zjwbwi3i46jdizm1ggzpknpmmic22kbw8rdv2i9yr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       libraryToolDepends = [ autoexporter ];
+       executableHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       executableToolDepends = [ autoexporter ];
+       testHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob hspec http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal QuickCheck req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       testToolDepends = [ autoexporter hspec-discover ];
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {loot-prelude = null;};
+
   "xsact" = callPackage
     ({ mkDerivation, array, base, containers, directory, process
      , random, unix
@@ -264800,16 +266067,17 @@ self: {
 
   "yaml2owl" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, network
-     , swish, text, xml, yaml
+     , network-uri, swish, text, xml, yaml
      }:
      mkDerivation {
        pname = "yaml2owl";
-       version = "0.0.1";
-       sha256 = "1yz7cq6xbxjh3j5hljrzla7dpgsa2ag4ywbvc6ynf7bpikdymq65";
+       version = "0.0.2";
+       sha256 = "1d3vnpmqzsia1cwg17vl98n8bx6l3yjl4w4rhxm64xfgizwvjgwc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers directory filepath network swish text xml yaml
+         base containers directory filepath network network-uri swish text
+         xml yaml
        ];
        description = "Generate OWL schema from YAML syntax, and an RDFa template";
        license = "LGPL";
@@ -268575,8 +269843,8 @@ self: {
      }:
      mkDerivation {
        pname = "z3";
-       version = "408.0";
-       sha256 = "13qkzy9wc17rm60i24fa9sx15ywbxq4a80g33w20887gvqyc0q53";
+       version = "408.1";
+       sha256 = "1r54d289rdfvxqk0774hhh0x2kj8zsh7graahqwwp76r911jb8bp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers transformers ];
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index e2d01c5798f..9ba25e09db9 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -38,12 +38,12 @@ let
   inherit (stdenv) buildPlatform hostPlatform;
 
   inherit (stdenv.lib) fix' extends makeOverridable;
-  inherit (haskellLib) overrideCabal getBuildInputs;
+  inherit (haskellLib) overrideCabal;
 
   mkDerivationImpl = pkgs.callPackage ./generic-builder.nix {
     inherit stdenv;
     nodejs = buildPackages.nodejs-slim;
-    inherit (self) buildHaskellPackages ghc shellFor;
+    inherit (self) buildHaskellPackages ghc ghcWithHoogle ghcWithPackages;
     inherit (self.buildHaskellPackages) jailbreak-cabal;
     hscolour = overrideCabal self.buildHaskellPackages.hscolour (drv: {
       isLibrary = false;
@@ -258,6 +258,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     # packages themselves. Using nix-shell on this derivation will
     # give you an environment suitable for developing the listed
     # packages with an incremental tool like cabal-install.
+    # In addition to the "packages" arg and "withHoogle" arg, anything that
+    # can be passed into stdenv.mkDerivation can be included in the input attrset
     #
     #     # default.nix
     #     with import <nixpkgs> {};
@@ -268,9 +270,11 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #     })
     #
     #     # shell.nix
+    #     let pkgs = import <nixpkgs> {} in
     #     (import ./.).shellFor {
     #       packages = p: [p.frontend p.backend p.common];
     #       withHoogle = true;
+    #       buildInputs = [ pkgs.python ];
     #     }
     #
     #     -- cabal.project
@@ -280,49 +284,41 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #       common/
     #
     #     bash$ nix-shell --run "cabal new-build all"
+    #     bash$ nix-shell --run "python"
     shellFor = { packages, withHoogle ? false, ... } @ args:
       let
-        selected = packages self;
-
-        packageInputs = map getBuildInputs selected;
-
-        name = if pkgs.lib.length selected == 1
-          then "ghc-shell-for-${(pkgs.lib.head selected).name}"
-          else "ghc-shell-for-packages";
-
-        # If `packages = [ a b ]` and `a` depends on `b`, don't build `b`,
-        # because cabal will end up ignoring that built version, assuming
-        # new-style commands.
-        haskellInputs = pkgs.lib.filter
-          (input: pkgs.lib.all (p: input.outPath != p.outPath) selected)
-          (pkgs.lib.concatMap (p: p.haskellBuildInputs) packageInputs);
-        systemInputs = pkgs.lib.concatMap (p: p.systemBuildInputs) packageInputs;
-
-        withPackages = if withHoogle then self.ghcWithHoogle else self.ghcWithPackages;
-        ghcEnv = withPackages (p: haskellInputs);
-        nativeBuildInputs = pkgs.lib.concatMap (p: p.nativeBuildInputs) selected;
-
-        ghcCommand' = if ghc.isGhcjs or false then "ghcjs" else "ghc";
-        ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
-        ghcCommandCaps= pkgs.lib.toUpper ghcCommand';
-
-        mkDrvArgs = builtins.removeAttrs args ["packages" "withHoogle"];
-      in pkgs.stdenv.mkDerivation (mkDrvArgs // {
-        name = mkDrvArgs.name or name;
-
-        buildInputs = systemInputs ++ mkDrvArgs.buildInputs or [];
-        nativeBuildInputs = [ ghcEnv ] ++ nativeBuildInputs ++ mkDrvArgs.nativeBuildInputs or [];
-        phases = ["installPhase"];
-        installPhase = "echo $nativeBuildInputs $buildInputs > $out";
-        LANG = "en_US.UTF-8";
-        LOCALE_ARCHIVE = pkgs.lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
-        "NIX_${ghcCommandCaps}" = "${ghcEnv}/bin/${ghcCommand}";
-        "NIX_${ghcCommandCaps}PKG" = "${ghcEnv}/bin/${ghcCommand}-pkg";
-        # TODO: is this still valid?
-        "NIX_${ghcCommandCaps}_DOCDIR" = "${ghcEnv}/share/doc/ghc/html";
-        "NIX_${ghcCommandCaps}_LIBDIR" = if ghc.isHaLVM or false
-          then "${ghcEnv}/lib/HaLVM-${ghc.version}"
-          else "${ghcEnv}/lib/${ghcCommand}-${ghc.version}";
+        combinedPackageFor = packages:
+          let
+            selected = packages self;
+
+            pname = if pkgs.lib.length selected == 1
+              then (pkgs.lib.head selected).name
+              else "packages";
+
+            # If `packages = [ a b ]` and `a` depends on `b`, don't build `b`,
+            # because cabal will end up ignoring that built version, assuming
+            # new-style commands.
+            combinedPackages = pkgs.lib.filter
+              (input: pkgs.lib.all (p: input.outPath or null != p.outPath) selected);
+
+            # Returns an attrset containing a combined list packages' inputs for each
+            # stage of the build process
+            packageInputs = pkgs.lib.zipAttrsWith
+              (_: pkgs.lib.concatMap combinedPackages)
+              (map (p: p.getCabalDeps) selected);
+
+            genericBuilderArgs = {
+              inherit pname;
+              version = "0";
+              license = null;
+            } // packageInputs;
+
+          in self.mkDerivation genericBuilderArgs;
+
+        envFuncArgs = builtins.removeAttrs args [ "packages" ];
+      in (combinedPackageFor packages).env.overrideAttrs (old: envFuncArgs // {
+        nativeBuildInputs = old.nativeBuildInputs ++ envFuncArgs.nativeBuildInputs or [];
+        buildInputs = old.buildInputs ++ envFuncArgs.buildInputs or [];
       });
 
     ghc = ghc // {
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 3231c17e8d9..751b9667a1f 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -96,8 +96,7 @@ let
         "-Dprefix=${placeholder "out"}"
         "-Dman1dir=${placeholder "out"}/share/man/man1"
         "-Dman3dir=${placeholder "out"}/share/man/man3"
-      ]
-      ++ optional (stdenv.isAarch32 || stdenv.isMips) "-Dldflags=\"-lm -lrt\"";
+      ];
 
     configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
 
diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix
index f05b3b1eec6..159637ae9d5 100644
--- a/pkgs/development/interpreters/python/hooks/default.nix
+++ b/pkgs/development/interpreters/python/hooks/default.nix
@@ -2,6 +2,9 @@
 { python
 , callPackage
 , makeSetupHook
+, disabledIf
+, isPy3k
+, ensureNewerSourcesForZipFilesHook
 }:
 
 let
@@ -109,6 +112,15 @@ in rec {
       };
     } ./setuptools-check-hook.sh) {};
 
+  venvShellHook = disabledIf (!isPy3k) (callPackage ({ }:
+    makeSetupHook {
+      name = "venv-shell-hook";
+      deps = [ ensureNewerSourcesForZipFilesHook ];
+      substitutions = {
+        inherit pythonInterpreter;
+    };
+  } ./venv-shell-hook.sh) {});
+
   wheelUnpackHook = callPackage ({ wheel }:
     makeSetupHook {
       name = "wheel-unpack-hook.sh";
diff --git a/pkgs/development/interpreters/python/hooks/venv-shell-hook.sh b/pkgs/development/interpreters/python/hooks/venv-shell-hook.sh
new file mode 100644
index 00000000000..3185b1f9fae
--- /dev/null
+++ b/pkgs/development/interpreters/python/hooks/venv-shell-hook.sh
@@ -0,0 +1,26 @@
+venvShellHook() {
+    echo "Executing venvHook"
+    runHook preShellHook
+
+    if [ -d "${venvDir}" ]; then
+      echo "Skipping venv creation, '${venvDir}' already exists"
+    else
+      echo "Creating new venv environment in path: '${venvDir}'"
+      @pythonInterpreter@ -m venv "${venvDir}"
+    fi
+
+    source "${venvDir}/bin/activate"
+
+    runHook postShellHook
+    echo "Finished executing venvShellHook"
+}
+
+if [ -z "${dontUseVenvShellHook:-}" ] && [ -z "${shellHook-}" ]; then
+    echo "Using venvShellHook"
+    if [ -z "${venvDir-}" ]; then
+        echo "Error: \`venvDir\` should be set when using \`venvShellHook\`."
+        exit 1
+    else
+        shellHook=venvShellHook
+    fi
+fi
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index e7f01856ef5..b1d03252d7e 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A small and embeddable Javascript engine";
     homepage = "https://bellard.org/quickjs/";
-    maintainers = with maintainers; [ stesie ivan ];
+    maintainers = with maintainers; [ stesie ];
     platforms = platforms.linux;
     license = licenses.mit;
   };
diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix
new file mode 100644
index 00000000000..7c270e5fb44
--- /dev/null
+++ b/pkgs/development/interpreters/wasmer/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, llvmPackages
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wasmer";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "wasmerio";
+    repo = pname;
+    rev = version;
+    sha256 = "1k9zd2vhrbvxlpkh21m39alk5lfhd3xa25k0awis27plfpv8fqcq";
+    fetchSubmodules = true;
+  };
+
+  cargoSha256 = "1yp7kandh5hh8hkzlmqpj05vwgr5v4nil8blf3scbppg865qk3rq";
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+
+  meta = with lib; {
+    description = "The Universal WebAssembly Runtime";
+    longDescription = ''
+      Wasmer is a standalone WebAssembly runtime for running WebAssembly outside
+      of the browser, supporting WASI and Emscripten. Wasmer can be used
+      standalone (via the CLI) and embedded in different languages, running in
+      x86 and ARM devices.
+    '';
+    homepage = "https://wasmer.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/alure2/default.nix b/pkgs/development/libraries/alure2/default.nix
new file mode 100644
index 00000000000..91919873fa6
--- /dev/null
+++ b/pkgs/development/libraries/alure2/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, openal, libvorbis, opusfile, libsndfile }:
+
+stdenv.mkDerivation rec {
+  pname = "alure2";
+  version = "unstable-2020-01-09";
+
+  src = fetchFromGitHub {
+    owner = "kcat";
+    repo = "alure";
+    rev = "4b7b58d3f0de444d6f26aa705704deb59145f586";
+    sha256 = "0ds18hhy2wpvx498z5hcpzfqz9i60ixsi0cjihyvk20rf4qy12vg";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openal libvorbis opusfile libsndfile ];
+
+  meta = with stdenv.lib; {
+    description = "A utility library for OpenAL, providing a C++ API and managing common tasks that include file loading, caching, and streaming";
+    homepage = "https://github.com/kcat/alure";
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers  = with maintainers; [ McSinyx ];
+  };
+}
diff --git a/pkgs/development/libraries/blitz/blitz-gcc47.patch b/pkgs/development/libraries/blitz/blitz-gcc47.patch
deleted file mode 100644
index d0b35665567..00000000000
--- a/pkgs/development/libraries/blitz/blitz-gcc47.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ur blitz-0.10/blitz/bzdebug.h blitz-0.10.new/blitz/bzdebug.h
---- blitz-0.10/blitz/bzdebug.h	2012-05-11 22:11:13.000000000 +0200
-+++ blitz-0.10.new/blitz/bzdebug.h	2012-06-28 15:42:38.060656045 +0200
-@@ -117,15 +117,15 @@
-     }
-   }
- 
--    #define BZASSERT(X)        checkAssert(X, __FILE__, __LINE__)
--    #define BZPRECONDITION(X)  checkAssert(X, __FILE__, __LINE__)
--    #define BZPOSTCONDITION(X) checkAssert(X, __FILE__, __LINE__)
--    #define BZSTATECHECK(X,Y)  checkAssert(X == Y, __FILE__, __LINE__)
-+    #define BZASSERT(X)        blitz::checkAssert(X, __FILE__, __LINE__)
-+    #define BZPRECONDITION(X)  blitz::checkAssert(X, __FILE__, __LINE__)
-+    #define BZPOSTCONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
-+    #define BZSTATECHECK(X,Y)  blitz::checkAssert(X == Y, __FILE__, __LINE__)
-     #define BZPRECHECK(X,Y)                                    \
-         {                                                      \
-             if ((assertFailMode == false) && (!(X)))           \
-                 BZ_STD_SCOPE(cerr) << Y << BZ_STD_SCOPE(endl); \
--            checkAssert(X, __FILE__, __LINE__);                \
-+            blitz::checkAssert(X, __FILE__, __LINE__);                \
-         }
- 
-     #define BZ_DEBUG_MESSAGE(X)                                          \
-@@ -138,7 +138,7 @@
-         }
- 
-     #define BZ_DEBUG_PARAM(X) X
--    #define BZ_PRE_FAIL        checkAssert(0)
-+    #define BZ_PRE_FAIL        blitz::checkAssert(0)
-     #define BZ_ASM_DEBUG_MARKER
- 
- #elif defined(BZ_DEBUG)
diff --git a/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch b/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch
deleted file mode 100644
index fcff8685a08..00000000000
--- a/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/testsuite/stencil-et.cpp b/testsuite/stencil-et.cpp
-index b23e979..fe6b5ed 100644
---- a/testsuite/stencil-et.cpp
-+++ b/testsuite/stencil-et.cpp
-@@ -44,7 +44,7 @@ void test_expr(const T1& d1, const T2& d2)
-   BZTEST(all(d1==d2));
- }
- */
--#define test_expr(d1,d2) BZTEST(all((d1)==(d2)));
-+#define test_expr(d1,d2) BZTEST(all((d1)-(d2)<=1e-7));
- 
- // Test two vector expressions for equality
- template<typename T1, typename T2>
diff --git a/pkgs/development/libraries/blitz/default.nix b/pkgs/development/libraries/blitz/default.nix
deleted file mode 100644
index f370e45b5fd..00000000000
--- a/pkgs/development/libraries/blitz/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gfortran, texinfo
-
-# Select SIMD alignment width (in bytes) for vectorization.
-, simdWidth ? 1
-
-# Pad arrays to simdWidth by default?
-# Note: Only useful if simdWidth > 1
-, enablePadding ? false
-
-# Activate serialization through Boost.Serialize?
-, enableSerialization ? true, boost ? null
-
-# Activate test-suite?
-# WARNING: Some of the tests require up to 1700MB of memory to compile.
-, doCheck ? true
-
-}:
-
-assert enableSerialization -> boost != null;
-
-let
-  inherit (stdenv.lib) optional optionals;
-in
-
-stdenv.mkDerivation {
-  name = "blitz++-0.10";
-  src = fetchurl {
-    url = mirror://sourceforge/blitz/blitz-0.10.tar.gz;
-    sha256 = "153g9sncir6ip9l7ssl6bhc4qzh0qr3lx2d15qm68hqxj7kg0kl0";
-  };
-
-  patches = [ ./blitz-gcc47.patch ./blitz-testsuite-stencil-et.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gfortran texinfo ]
-    ++ optional (boost != null) boost;
-
-  configureFlags =
-    [ "--enable-shared"
-      "--enable-fortran"
-      "--enable-optimize"
-      "--with-pic=yes"
-      "--enable-html-docs"
-      "--disable-doxygen"
-      "--disable-dot"
-      "--disable-latex-docs"
-      "--enable-simd-width=${toString simdWidth}"
-    ]
-    ++ optional enablePadding "--enable-array-length-padding"
-    ++ optional enableSerialization "--enable-serialization"
-    ++ optionals (boost != null) [ "--with-boost=${boost.dev}"
-                                   "--with-boost-libdir=${boost.out}/lib" ]
-    ++ optional stdenv.is64bit "--enable-64bit"
-    ;
-
-  enableParallelBuilding = true;
-
-  buildFlags = [ "lib" "info" "pdf" "html" ];
-  installTargets = [ "install" "install-info" "install-pdf" "install-html" ];
-
-  inherit doCheck;
-  checkTarget = "check-testsuite check-examples";
-
-  meta = {
-    description = "Fast multi-dimensional array library for C++";
-    homepage = https://sourceforge.net/projects/blitz/;
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = [ stdenv.lib.maintainers.aherrmann ];
-
-    longDescription = ''
-      Blitz++ is a C++ class library for scientific computing which provides
-      performance on par with Fortran 77/90. It uses template techniques to
-      achieve high performance. Blitz++ provides dense arrays and vectors,
-      random number generators, and small vectors (useful for representing
-      multicomponent or vector fields).
-    '';
-
-    broken = true; # failing test, ancient version, no library user in nixpkgs => if you care to fix it, go ahead
-  };
-}
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index dc36414fc28..6627f46c18e 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cln";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchurl {
     url = "${meta.homepage}${pname}-${version}.tar.bz2";
-    sha256 = "0bc43v4fyxwik9gjkvm8jan74bkx9bjssv61lfh9jhhblmj010bq";
+    sha256 = "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
index a4729cdeaed..31c4c70dd9d 100644
--- a/pkgs/development/libraries/cpp-netlib/default.nix
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, boost, openssl, asio }:
+{ stdenv, fetchFromGitHub, cmake, boost, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "cpp-netlib";
@@ -14,18 +14,22 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake boost openssl ];
 
-  # This can be removed when updating to 0.13, see https://github.com/cpp-netlib/cpp-netlib/issues/629
-  propagatedBuildInputs = [ asio ];
-
   cmakeFlags = [
     "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON"
   ];
 
   enableParallelBuilding = true;
 
+  # The test driver binary lacks an RPath to the library's libs
+  preCheck = ''
+    export LD_LIBRARY_PATH=$PWD/libs/network/src
+  '';
+
+  # Most tests make network GET requests to various websites
+  doCheck = false;
+
   meta = with stdenv.lib; {
-    description =
-      "Collection of open-source libraries for high level network programming";
+    description = "Collection of open-source libraries for high level network programming";
     homepage    = https://cpp-netlib.org;
     license     = licenses.boost;
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 82e09c33a55..e4335061294 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.0.1";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11wm7z4ldsja2x2m2dkj3xhiammkwfqgbgkwq9gssnv14803fhnv";
+    sha256 = "0g7mn84xx7yfbvpj9wm5sn08w8bzlfizh4yd1m75fnh8hg829jnl";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix
index 1658d69d7a1..2be8caaa1b1 100644
--- a/pkgs/development/libraries/faudio/default.nix
+++ b/pkgs/development/libraries/faudio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
 	pname = "faudio";
-  version = "19.12";
+  version = "20.01";
 
   src = fetchFromGitHub {
     owner = "FNA-XNA";
     repo = "FAudio";
     rev = version;
-    sha256 = "0y8dc7lnhh69wcwqma9spyxcahfhbfyg92h35sqkin6qfh5mngxr";
+    sha256 = "0gqwma3r216xgymjnagm6ndxfvdigzl46nlny4z085sgvydx3n8m";
   };
 
 	nativeBuildInputs = [cmake];
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index cf988d32399..16368ae2127 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.3.1";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "1f1hqpqffzg46z33ybs2c3akmkly7b3qmgp5byk50nvad6g2pm4p";
+    sha256 = "0c7nlrhq84gdq10diyv6nshjbv8410bmn0vging815pfvis208xc";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index 04846c3ab42..aa846e41d55 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, perl }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, gflags, perl }:
 
 stdenv.mkDerivation rec {
   pname = "glog";
@@ -20,8 +20,16 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    # A path clash on case-insensitive file systems blocks creation of the build directory.
+    # The file in question is specific to bazel and does not influence the build result.
+    rm BUILD
+  '';
+
   nativeBuildInputs = [ cmake ];
 
+  propagatedBuildInputs = [ gflags ];
+
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   checkInputs = [ perl ];
diff --git a/pkgs/development/libraries/grilo/default.nix b/pkgs/development/libraries/grilo/default.nix
index 79ccc931972..734a103e0b7 100644
--- a/pkgs/development/libraries/grilo/default.nix
+++ b/pkgs/development/libraries/grilo/default.nix
@@ -4,7 +4,7 @@
 
 let
   pname = "grilo";
-  version = "0.3.10"; # if you change minor, also change ./setup-hook.sh
+  version = "0.3.11"; # if you change minor, also change ./setup-hook.sh
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y";
+    sha256 = "0s7b50nbyvi75x2l507q9pnpp4ynrx9qa0hm2bkw7wd2nl61r48g";
   };
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix
index 11b6df37fc0..eafd85cc92a 100644
--- a/pkgs/development/libraries/hpx/default.nix
+++ b/pkgs/development/libraries/hpx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hpx";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "STEllAR-GROUP";
     repo = "hpx";
     rev = version;
-    sha256 = "0yzxb8520qh9rvzsa190yzx21jn3d8rl8ac5v01767ygd0413hfk";
+    sha256 = "1wkipk7240vqpy8and2r8n7wnqyl4dcn41cyla4zcns2jhbr23vb";
   };
 
   buildInputs = [ boost hwloc gperftools ];
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index b7b9b019b63..48735c13ed1 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.9.1";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
-    sha256 = "1aij0prpf7rvxx25qjf1krf0szb922hq9m6q58p90f5bjgymfzwh";
+    sha256 = "1kvvqvr0djz4gb770rs5h97zqcymvbzrmsw8kz2icvlmcicm7qd8";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index e26f4f6022a..6d73b00a6d1 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "leptonica";
-  version = "1.78.0";
+  version = "1.79.0";
 
   src = fetchurl {
     url = "http://www.leptonica.org/source/${pname}-${version}.tar.gz";
-    sha256 = "122s9b8hi93va4lgwnwrbma50x5fp740npy0s92xybd2wy0jxvg2";
+    sha256 = "1n004gv1dj3pq1fcnfdclvvx5nang80336aa67nvs3nnqp4ncn84";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libamqpcpp/default.nix b/pkgs/development/libraries/libamqpcpp/default.nix
index 325a7d71598..315d3f49956 100644
--- a/pkgs/development/libraries/libamqpcpp/default.nix
+++ b/pkgs/development/libraries/libamqpcpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libamqpcpp";
-  version = "4.1.3";
+  version = "4.1.5";
 
   src = fetchFromGitHub {
     owner = "CopernicaMarketingSoftware";
     repo = "AMQP-CPP";
     rev = "v${version}";
-    sha256 = "0qk431ra7vcklc67fdaddrj5a7j50znjr79zrwvhkcfy82fd56zw";
+    sha256 = "1jyvpa68wymnn8wnh8i59pa9kdbixv86mh8q338agnwkmzvlgm58";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/development/libraries/libdeflate/default.nix b/pkgs/development/libraries/libdeflate/default.nix
index b06a0a9450a..cc06815bbff 100644
--- a/pkgs/development/libraries/libdeflate/default.nix
+++ b/pkgs/development/libraries/libdeflate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeflate";
-  version = "1.3";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "ebiggers";
     repo = "libdeflate";
     rev = "v${version}";
-    sha256 = "019xsz5dnbpxiz29j3zqsxyi4ksjkkygi6a2zyc8fxbm8lvaa9ar";
+    sha256 = "1v0y7998p8a8wpblnpdyk5zzvpj8pbrpzxwxmv0b0axrhaarxrf3";
   };
 
   postPatch = ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "Fast DEFLATE/zlib/gzip compressor and decompressor";
     license = licenses.mit;
     homepage = https://github.com/ebiggers/libdeflate;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/libraries/libevdevplus/default.nix b/pkgs/development/libraries/libevdevplus/default.nix
index f538aab64ad..0f2b3e05266 100644
--- a/pkgs/development/libraries/libevdevplus/default.nix
+++ b/pkgs/development/libraries/libevdevplus/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdevplus";
-  version = "2019-10-01";
+  version = "unstable-2019-10-01";
 
   src  = fetchFromGitHub {
     owner  = "YukiWorkshop";
diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix
index 7eccfc37363..ca643efb70c 100644
--- a/pkgs/development/libraries/libimobiledevice/default.nix
+++ b/pkgs/development/libraries/libimobiledevice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libimobiledevice";
-  version = "2019-04-04";
+  version = "2019-11-29";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "eea4f1be9107c8ab621fd71460e47d0d38e55d71";
-    sha256 = "0wh6z5f5znlqs0grh7c8jj1s411azgyy45klmql5kj3p8qqybqrs";
+    rev = "9f79242a441ce37c28db2b84d49621d26418dc53";
+    sha256 = "1hs0hppsfyhjx47jk2j8n5riqjyrdqvdkc0z0kry0sw09c80zjnr";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
index e8d8e971bc5..7b70510dec3 100644
--- a/pkgs/development/libraries/liblinear/default.nix
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -18,17 +18,19 @@ stdenv.mkDerivation rec {
     libSuff = stdenv.hostPlatform.extensions.sharedLibrary;
   in ''
     mkdir -p $out/lib $out/bin $out/include
-    cp liblinear.so.3 $out/lib/liblinear.3${libSuff}
-    ln -s $out/lib/liblinear.3${libSuff} $out/lib/liblinear${libSuff}
+    ${if stdenv.isDarwin then ''
+      cp liblinear.so.3 $out/lib/liblinear.3.dylib
+      ln -s $out/lib/liblinear.3.dylib $out/lib/liblinear.dylib
+      install_name_tool -id liblinear.3.dylib $out/lib/liblinear.3.dylib
+    '' else ''
+      cp liblinear.so.3 $out/lib/liblinear.so.3
+      ln -s $out/lib/liblinear.so.3 $out/lib/liblinear.so
+    ''}
     cp train $out/bin/liblinear-train
     cp predict $out/bin/liblinear-predict
     cp linear.h $out/include
   '';
 
-  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
-    install_name_tool -id liblinear.3.dylib $out/lib/liblinear.3.dylib
-  '';
-
   meta = with stdenv.lib; {
     description = "A library for large linear classification";
     homepage = https://www.csie.ntu.edu.tw/~cjlin/liblinear/;
diff --git a/pkgs/development/libraries/libsixel/default.nix b/pkgs/development/libraries/libsixel/default.nix
index 561b547a8d7..9973f337398 100644
--- a/pkgs/development/libraries/libsixel/default.nix
+++ b/pkgs/development/libraries/libsixel/default.nix
@@ -1,15 +1,21 @@
 {stdenv, fetchFromGitHub}:
 stdenv.mkDerivation rec {
-  version = "1.8.2";
+  version = "1.8.4";
   pname = "libsixel";
 
   src = fetchFromGitHub {
     repo = "libsixel";
     rev = "v${version}";
     owner = "saitoha";
-    sha256 = "1jn5z2ylccjkp9i12n5x53x2zzhhsgmgs6xxi7aja6qimfw90h1n";
+    sha256 = "1zckahfl0j7k68jf87iwdc4yx7fkfhxwa7lrf22dnz36d2iq785v";
   };
 
+  configureFlags = [
+    "--enable-tests"
+  ];
+
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "The SIXEL library for console graphics, and converter programs";
     homepage = http://saitoha.github.com/libsixel;
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 0556e311736..44cdd9edf52 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -102,6 +102,7 @@ in stdenv.mkDerivation rec {
   ] ++ optionals stdenv.isLinux [
     "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper"
     "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper"
+    "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy"
     "--with-attr"
     "--with-apparmor"
     "--with-secdriver-apparmor"
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
index 50ee7e4d387..0cd1b64c1b9 100644
--- a/pkgs/development/libraries/libvterm-neovim/default.nix
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -6,13 +6,14 @@
 
 stdenv.mkDerivation {
   pname = "libvterm-neovim";
-  version = "2019-10-08";
+  # Releases are not tagged, look at commit history to find latest release
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "neovim";
     repo = "libvterm";
-    rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da";
-    sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk";
+    rev = "65dbda3ed214f036ee799d18b2e693a833a0e591";
+    sha256 = "0r6yimzbkgrsi9aaxwvxahai2lzgjd1ysblr6m6by5w459853q3n";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/onnxruntime/default.nix b/pkgs/development/libraries/onnxruntime/default.nix
index 33bc4c6e82c..90da6c19212 100644
--- a/pkgs/development/libraries/onnxruntime/default.nix
+++ b/pkgs/development/libraries/onnxruntime/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub, glibcLocales
-, cmake, python3
+, cmake, python3, libpng, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "onnxruntime";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "onnxruntime";
     rev = "v${version}";
-    sha256 = "1d28lzrjnq69yl8j9ncxlsxl0bniacn3hnsr9van10zgp527436v";
+    sha256 = "1ryf5v2h07c7b42q2p9id88i270ajyz5rlsradp00dy8in6dn2yr";
     # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc.
     # submodules increase src size and compile times significantly
     # not currently feasible due to how integrated cmake build is with git
@@ -25,12 +25,19 @@ stdenv.mkDerivation rec {
     python3 # for shared-lib or server
   ];
 
+  buildInputs = [
+    # technically optional, but highly recommended
+    libpng
+    zlib
+  ];
+
   cmakeDir = "../cmake";
 
   cmakeFlags = [
     "-Donnxruntime_USE_OPENMP=ON"
     "-Donnxruntime_BUILD_SHARED_LIB=ON"
-    "-Donnxruntime_ENABLE_LTO=ON"
+    # flip back to ON next release
+    "-Donnxruntime_ENABLE_LTO=OFF" # https://github.com/microsoft/onnxruntime/issues/2828
   ];
 
   # ContribOpTest.StringNormalizerTest sets locale to en_US.UTF-8"
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 118aa984c17..63657cfc5e6 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -36,7 +36,7 @@ let
 
     outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc";
     setOutputFlags = false;
-    separateDebugInfo = stdenv.hostPlatform.isLinux;
+    separateDebugInfo = !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
 
     nativeBuildInputs = [ perl ];
     buildInputs = stdenv.lib.optional withCryptodev cryptodev;
@@ -72,7 +72,11 @@ let
       "-DHAVE_CRYPTODEV"
       "-DUSE_CRYPTODEV_DIGESTS"
     ] ++ stdenv.lib.optional enableSSL2 "enable-ssl2"
-      ++ stdenv.lib.optional (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng";
+      ++ stdenv.lib.optional (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isAarch64) "no-afalgeng"
+      # OpenSSL needs a specific `no-shared` configure flag.
+      # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
+      # for a comprehensive list of configuration options.
+      ++ stdenv.lib.optional (versionAtLeast version "1.1.0" && static) "no-shared";
 
     makeFlags = [
       "MANDIR=$(man)/share/man"
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 95e44f2364c..7f7260d52c0 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
     (fetchpatch {
-      url = "https://phab-files.hepforge.org/file/data/j3ja4jirrdyrovrmnbuh/PHID-FILE-6vnor4aoz3s2ejruisrg/file";
-      sha256 = "0flxv08wcd0m5di75s2zvm015k2k70nqgpcgcbq7m604z26pd6ab";
+      url = "https://gitlab.com/hepcedar/rivet/commit/37bd34f52cce66946ebb311a8fe61bfc5f69cc00.diff";
+      sha256 = "0wj3ilpfq2gpc33bj3800l9vyvc9lrrlj1x9ss5qki0yiqd8i2aa";
     })
   ];
 
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index 7d771414fb0..cdd56731fa0 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "htslib";
-  version = "1.9";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0";
+    sha256 = "0f8rglbvf4aaw41i2sxlpq7pvhly93sjqiz0l4q3hwki5zg47dg3";
   };
 
   # perl is only used during the check phase.
diff --git a/pkgs/development/libraries/sentencepiece/default.nix b/pkgs/development/libraries/sentencepiece/default.nix
index 556f77ef8b5..907e0cc5076 100644
--- a/pkgs/development/libraries/sentencepiece/default.nix
+++ b/pkgs/development/libraries/sentencepiece/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentencepiece";
-  version = "0.1.84";
+  version = "0.1.85";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "144y25nj4rwxmgvzqbr7al9fjwh3539ssjswvzrx4gsgfk62lsm0";
+    sha256 = "1ncvyw9ar0z7nd47cysxg5xrjm01y1shdlhp8l2pdpx059p3yx3w";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/trompeloeil/default.nix b/pkgs/development/libraries/trompeloeil/default.nix
index 0ab115daeef..6984a2694d6 100644
--- a/pkgs/development/libraries/trompeloeil/default.nix
+++ b/pkgs/development/libraries/trompeloeil/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "trompeloeil";
-  version = "35";
+  version = "36";
 
   src = fetchFromGitHub {
     owner = "rollbear";
     repo = "trompeloeil";
     rev = "v${version}";
-    sha256 = "07jxvssasgmi2dk4wl6qzspx88g9cnz597flsapdzp0qd5j7xixd";
+    sha256 = "1ik4cxh2srcdjrj9409lvxgklnadmjd3f5lvjqb5z3jgv51w38nh";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix
index f912bdaa21f..4585a3b8596 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.12.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix
@@ -398,6 +398,10 @@ rec {
     hash = "1sw32lb0y501y971ij7287796lvfhs0nfgla895r74ymfks2rcjb";
     meta.description = "OCaml bindings for RE2, Google's regular expression library";
     propagatedBuildInputs = [ core_kernel ];
+    prePatch = ''
+      substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
+      substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
+    '';
   };
 
   shell = janePackage {
diff --git a/pkgs/development/ocaml-modules/lens/default.nix b/pkgs/development/ocaml-modules/lens/default.nix
new file mode 100644
index 00000000000..27a753ae81a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lens/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchzip, ppx_deriving, ppxfind, buildDunePackage }:
+
+buildDunePackage rec {
+  pname = "lens";
+  version = "1.2.3";
+
+  src = fetchzip {
+    url = "https://github.com/pdonadeo/ocaml-lens/archive/v${version}.tar.gz";
+    sha256 = "09k2vhzysx91syjhgv6w1shc9mgzi0l4bhwpx1g5pi4r4ghjp07y";
+  };
+
+  minimumOCamlVersion = "4.04.1";
+  buildInputs = [ ppx_deriving ppxfind ];
+
+  meta = with lib; {
+    homepage = https://github.com/pdonadeo/ocaml-lens;
+    description = "Functional lenses";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [
+      kazcw
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
index 53b11f285a6..f47d7d37631 100644
--- a/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -1,24 +1,22 @@
-{ stdenv, fetchurl, sqlite, ocaml, findlib, ocamlbuild, pkgconfig }:
+{ lib, fetchurl, sqlite, pkgconfig, buildDunePackage }:
 
-stdenv.mkDerivation rec {
-  pname = "ocaml-sqlite3";
-  version = "2.0.9";
+buildDunePackage rec {
+  pname = "sqlite3";
+  version = "5.0.1";
+  minimumOCamlVersion = "4.05";
 
   src = fetchurl {
-    url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/v${version}/sqlite3-ocaml-${version}.tar.gz";
-    sha256 = "0rwsx1nfa3xqmbygim2qx45jqm1gwf08m70wmcwkx50f1qk3l551";
+    url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/${version}/sqlite3-${version}.tbz";
+    sha256 = "0iymkszrs6qwak0vadfzc8yd8jfwn06zl08ggb4jr2mgk2c8mmsn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ocaml findlib ocamlbuild sqlite ];
+  buildInputs = [ sqlite ];
 
-  createFindlibDestdir = true;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://mmottl.github.io/sqlite3-ocaml/;
     description = "OCaml bindings to the SQLite 3 database access library";
     license = licenses.mit;
-    platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
       maggesi vbgl
     ];
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index 2140871021d..b5b2170e56a 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -8,10 +8,10 @@ stdenv.mkDerivation {
     sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
-  nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ];
-  buildInputs = [ findlib ocaml ocamlbuild opaline ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib ocaml ocamlbuild ];
   buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}";
-  installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
+  installPhase = "${opaline}/bin/opaline -libdir $OCAMLFIND_DESTDIR";
   configurePlatforms = [];
 
   meta = {
diff --git a/pkgs/development/python-modules/avro-python3/default.nix b/pkgs/development/python-modules/avro-python3/default.nix
new file mode 100644
index 00000000000..c9db39a325f
--- /dev/null
+++ b/pkgs/development/python-modules/avro-python3/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "avro-python3";
+  version = "1.8.2";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f82cf0d66189600b1e6b442f650ad5aca6c189576723dcbf6f9ce096eab81bd6";
+  };
+
+  doCheck = false;        # No such file or directory: './run_tests.py
+
+  meta = with lib; {
+    description = "A serialization and RPC framework";
+    homepage = https://pypi.python.org/pypi/avro-python3/;
+    license = licenses.asl20;
+
+    maintainers = [ maintainers.shlevy maintainers.timma ];
+  };
+}
diff --git a/pkgs/development/python-modules/binwalk/default.nix b/pkgs/development/python-modules/binwalk/default.nix
index ec613527e92..97c6b957a43 100644
--- a/pkgs/development/python-modules/binwalk/default.nix
+++ b/pkgs/development/python-modules/binwalk/default.nix
@@ -10,24 +10,39 @@
 , p7zip
 , cabextract
 , lzma
+, nose
 , pycrypto
 , pyqtgraph ? null }:
 
-let visualizationSupport = (pyqtgraph != null);
+let
+  visualizationSupport = (pyqtgraph != null);
+  version = "2.2.0";
 in
 buildPythonPackage {
   pname = "binwalk";
-  version = "2.1.1";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "devttys0";
     repo = "binwalk";
-    rev = "291a03595d17f848c73b74cb6ca508da782cd8f7";
-    sha256 = "0grid93yz6i6jb2zggrqncp5awdf7qi88j5y2k7dq0k9r6b8zydw";
+    rev = "be738a52e09b0da2a6e21470e0dbcd5beb42ed1b";
+    sha256 = "1bxgj569fzwv6jhcbl864nmlsi9x1k1r20aywjxc8b9b1zgqrlvc";
   };
 
   propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma pycrypto ]
-    ++ stdenv.lib.optional visualizationSupport pyqtgraph;
+  ++ stdenv.lib.optional visualizationSupport pyqtgraph;
+
+  # setup.py only installs version.py during install, not test
+  postPatch = ''
+    echo '__version__ = "${version}"' > src/binwalk/core/version.py
+  '';
+
+  # binwalk wants to access ~/.config/binwalk/magic
+  preCheck = ''
+    HOME=$(mktemp -d)
+  '';
+
+  checkInputs = [ nose ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/ReFirmLabs/binwalk";
diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix
index 7f755010b73..d6254253676 100644
--- a/pkgs/development/python-modules/django-extensions/default.nix
+++ b/pkgs/development/python-modules/django-extensions/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, pythonOlder
 , six, typing, pygments
 , django, shortuuid, python-dateutil, pytest
 , pytest-django, pytestcov, mock, vobject
@@ -16,6 +16,15 @@ buildPythonPackage rec {
     sha256 = "0053yqq4vq3mwy7zkfs5vfm3g8j9sfy3vrc6xby83qlj9wz43ipi";
   };
 
+  # This patch fixes a single failing test and can be removed when updating this pkg
+  # to the next version
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/django-extensions/django-extensions/commit/1d21786da2e6868d98ae34c82079e1e03ad1aa97.patch";
+      sha256 = "0d81zpj0f8a7ijrfb12j0b67fgj89k3axaskz1nwqsr4wc6n4bw2";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace setup.py --replace "'tox'," ""
 
diff --git a/pkgs/development/python-modules/fluidasserts/default.nix b/pkgs/development/python-modules/fluidasserts/default.nix
new file mode 100644
index 00000000000..da0d2d41407
--- /dev/null
+++ b/pkgs/development/python-modules/fluidasserts/default.nix
@@ -0,0 +1,187 @@
+{ buildPythonPackage
+, fetchPypi
+, isPy37
+, lib
+
+# pythonPackages
+, aiohttp
+, androguard
+, azure-identity
+, azure-keyvault-keys
+, azure-keyvault-secrets
+, azure-mgmt-compute
+, azure-mgmt-keyvault
+, azure-mgmt-network
+, azure-mgmt-storage
+, azure-mgmt-web
+, azure-storage-file
+, bandit
+, bcrypt
+, beautifulsoup4
+, boto3
+, cfn-flip
+, cython
+, dnspython
+, colorama
+, configobj
+, defusedxml
+, GitPython
+, google_api_python_client
+, kubernetes
+, ldap3
+, mixpanel
+, mysql-connector
+, names
+, ntplib
+, oyaml
+, paramiko
+, pillow
+, psycopg2
+, pycrypto
+, pygments
+, pyjks
+, pynacl
+, pyopenssl
+, pypdf2
+, pysmb
+, python_magic
+, pytz
+, requirements-detector
+, selenium
+, tlslite-ng
+, viewstate
+
+# pythonPackages to test the derivation
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "fluidasserts";
+  version = "20.1.22554";
+  disabled = !isPy37;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0j7zppwingi9m58z51phy40d69jlskx1vgyz1gj9miqhbjfdymhi";
+  };
+
+  patchPhase = ''
+    # Version mismatches between current FluidAsserts and Nixpkgs
+    substituteInPlace ./setup.py \
+      --replace 'tlslite-ng==0.8.0-alpha29' 'tlslite-ng==0.7.5' \
+      --replace 'boto3==1.10.17' 'boto3==1.10.1' \
+      --replace 'cfn-flip==1.2.2' 'cfn-flip==1.1.0.post1' \
+      --replace 'azure-mgmt-storage==7.1.0' 'azure-mgmt-storage==7.0.0' \
+
+    # Functionality that will be not present for the momment
+    #   but that we'll work to add in the future
+    # Just a minimal portion of fluidasserts use this
+    substituteInPlace ./setup.py \
+      --replace "'azure-storage-file-share==12.0.0'," "" \
+      --replace "'pymssql==2.1.4'," "" \
+      --replace "'pytesseract==0.3.0'," "" \
+      --replace "'pywinrm==0.4.1'," "" \
+
+  '';
+
+  propagatedBuildInputs = [
+    # pythonPackages
+    aiohttp
+    androguard
+    azure-identity
+    azure-keyvault-keys
+    azure-keyvault-secrets
+    azure-mgmt-compute
+    azure-mgmt-keyvault
+    azure-mgmt-network
+    azure-mgmt-storage
+    azure-mgmt-web
+    azure-storage-file
+    bandit
+    bcrypt
+    beautifulsoup4
+    boto3
+    cfn-flip
+    cython
+    dnspython
+    colorama
+    configobj
+    defusedxml
+    GitPython
+    google_api_python_client
+    kubernetes
+    ldap3
+    mixpanel
+    mysql-connector
+    names
+    ntplib
+    oyaml
+    paramiko
+    pillow
+    psycopg2
+    pycrypto
+    pygments
+    pyjks
+    pynacl
+    pyopenssl
+    pypdf2
+    pysmb
+    python_magic
+    pytz
+    requirements-detector
+    selenium
+    tlslite-ng
+    viewstate
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    # This file launches mock docker containers and servers
+    #   let's remove it to create a custom test environment
+    rm test/conftest.py
+
+    pytest \
+      test/test_cloud_aws_cloudformation_cloudfront.py \
+      test/test_cloud_aws_cloudformation_dynamodb.py \
+      test/test_cloud_aws_cloudformation_ec2.py \
+      test/test_cloud_aws_cloudformation_elb.py \
+      test/test_cloud_aws_cloudformation_elb2.py \
+      test/test_cloud_aws_cloudformation_fsx.py \
+      test/test_cloud_aws_cloudformation_iam.py \
+      test/test_cloud_aws_cloudformation_kms.py \
+      test/test_cloud_aws_cloudformation_rds.py \
+      test/test_cloud_aws_cloudformation_s3.py \
+      test/test_cloud_aws_cloudformation_secretsmanager.py \
+      test/test_format_apk.py \
+      test/test_format_file.py \
+      test/test_format_jks.py \
+      test/test_format_jwt.py \
+      test/test_format_pdf.py \
+      test/test_format_pkcs12.py \
+      test/test_format_string.py \
+      test/test_helper_asynchronous.py \
+      test/test_helper_crypto.py \
+      test/test_lang_core.py \
+      test/test_lang_csharp.py \
+      test/test_lang_docker.py \
+      test/test_lang_dotnetconfig.py \
+      test/test_lang_html.py \
+      test/test_lang_php.py \
+      test/test_lang_python.py \
+      test/test_lang_rpgle.py \
+
+  '';
+
+  meta = with lib; {
+    description = "Assertion Library for Security Assumptions";
+    homepage = "https://gitlab.com/fluidattacks/asserts";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/gpxpy/default.nix b/pkgs/development/python-modules/gpxpy/default.nix
new file mode 100644
index 00000000000..028ca365423
--- /dev/null
+++ b/pkgs/development/python-modules/gpxpy/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildPythonPackage, python, lxml }:
+
+buildPythonPackage rec {
+  pname = "gpxpy";
+  version = "1.3.5";
+
+  src = fetchFromGitHub {
+    owner = "tkrajina";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18r7pfda7g3l0hv8j9565n52cvvgjxiiqqzagfdfaba1djgl6p8b";
+  };
+
+  propagatedBuildInputs = [ lxml ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest test
+  '';
+
+  meta = with lib; {
+    description = "Python GPX (GPS eXchange format) parser";
+    homepage = "https://github.com/tkrajina/gpxpy";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/development/python-modules/mixpanel/default.nix b/pkgs/development/python-modules/mixpanel/default.nix
index e770eedbfc3..fac1afe2c97 100644
--- a/pkgs/development/python-modules/mixpanel/default.nix
+++ b/pkgs/development/python-modules/mixpanel/default.nix
@@ -1,30 +1,46 @@
-{ stdenv
-, buildPythonPackage
-, fetchzip
-, pytest
+
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy37
+, lib
+
+# Python Dependencies
 , mock
+, pytest
 , six
-, isPy3k
 }:
 
 buildPythonPackage rec {
-  version = "4.0.2";
   pname = "mixpanel";
-  disabled = isPy3k;
+  version = "4.5.0";
+  disabled = !isPy37;
 
-  src = fetchzip {
-    url = "https://github.com/mixpanel/mixpanel-python/archive/${version}.zip";
-    sha256 = "0yq1bcsjzsz7yz4rp69izsdn47rvkld4wki2xmapp8gg2s9i8709";
+  src = fetchFromGitHub {
+    owner = "mixpanel";
+    repo = "mixpanel-python";
+    rev = version;
+    sha256 = "1hlc717wcn71i37ngsfb3c605rlyjhsn3v6b5bplq00373r4d39z";
   };
 
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ six ];
-  checkPhase = "py.test tests.py";
+  propagatedBuildInputs = [
+    six
+  ];
 
-  meta = with stdenv.lib; {
-    homepage = https://github.com/mixpanel/mixpanel-python;
-    description = ''This is the official Mixpanel Python library'';
+  checkInputs = [
+    mock
+    pytest
+  ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/mixpanel/mixpanel-python";
+    description = "Official Mixpanel Python library";
     license = licenses.asl20;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
   };
-
 }
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 00d869cb391..61a055b5ea8 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -1,19 +1,27 @@
 { lib, buildPythonPackage, fetchFromGitHub
-, protobuf
+, python3, protobuf3_6
 }:
 
-buildPythonPackage rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      protobuf = super.protobuf.override {
+        protobuf = protobuf3_6;
+      };
+    };
+  };
+in buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.18";
+  version = "8.0.19";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "0pf91vbjigjv621dar47r741yvmdmapxh60wp20nzvlx0xchbmcm";
+    sha256 = "1jscmc5s7mwx43gvxjlqc30ylp5jjpmkqx7s3b9nllbh926p3ixg";
   };
 
-  propagatedBuildInputs = [ protobuf ];
+  propagatedBuildInputs = with python.pkgs; [ protobuf dnspython ];
 
   # Tests are failing (TODO: unknown reason)
   # TypeError: __init__() missing 1 required positional argument: 'string'
diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix
new file mode 100644
index 00000000000..3f3cf38f333
--- /dev/null
+++ b/pkgs/development/python-modules/onnx/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, fetchpatch
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, isPy27
+, cmake
+, protobuf
+, numpy
+, six
+, typing-extensions
+, typing
+, pytestrunner
+, pytest
+, nbval
+, tabulate
+}:
+
+buildPythonPackage rec {
+  pname = "onnx";
+  version = "1.6.0";
+
+  # Due to Protobuf packaging issues this build of Onnx with Python 2 gives
+  # errors on import
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ig33jl3591041lyylxp52yi20rfrcqx3i030hd6al8iabzc721v";
+  };
+
+  # Remove the unqualified requirement for the typing package for running the
+  # tests. typing is already required for the installation, where it is
+  # correctly qualified so as to only be required for sufficiently old Python
+  # versions.
+  # This patch should be in the next release (>1.6).
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/onnx/onnx/commit/c963586d0f8dd5740777b2fd06f04ec60816de9f.patch";
+      sha256 = "1hl26cw5zckc91gmh0bdah87jyprccxiw0f4i5h1gwkq28hm6wbj";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  propagatedBuildInputs = [
+    protobuf
+    numpy
+    six
+    typing-extensions
+  ] ++ lib.optional (pythonOlder "3.5") [ typing ];
+
+  checkInputs = [
+    pytestrunner
+    pytest
+    nbval
+    tabulate
+  ];
+
+  postPatch = ''
+    patchShebangs tools/protoc-gen-mypy.py
+  '';
+
+  # The executables are just utility scripts that aren't too important
+  postInstall = ''
+    rm -r $out/bin
+  '';
+
+  # The setup.py does all the configuration (running CMake)
+  dontConfigure = true;
+
+  meta = {
+    homepage    = http://onnx.ai;
+    description = "Open Neural Network Exchange";
+    license     = lib.licenses.mit;
+    maintainers = [ lib.maintainers.acairncross ];
+  };
+}
diff --git a/pkgs/development/python-modules/publicsuffix/default.nix b/pkgs/development/python-modules/publicsuffix/default.nix
index 027b017c23e..061ad685861 100644
--- a/pkgs/development/python-modules/publicsuffix/default.nix
+++ b/pkgs/development/python-modules/publicsuffix/default.nix
@@ -10,11 +10,8 @@ buildPythonPackage rec {
   };
 
 
-  # fix the ASCII-mode LICENSE file read
   # disable test_fetch and the doctests (which also invoke fetch)
-  patchPhase = stdenv.lib.optionalString isPy3k ''
-    sed -i "s/)\.read(/,encoding='utf-8'\0/" setup.py
-  '' + ''
+  postPatch = ''
     sed -i -e "/def test_fetch/i\\
     \\t@unittest.skip('requires internet')" -e "/def additional_tests():/,+1d" tests.py
   '';
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
new file mode 100644
index 00000000000..cb91196fc7e
--- /dev/null
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "pyTelegramBotAPI";
+  version = "3.6.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00vycd7jvfnzmvmmhkjx9vf40vkcrwv7adas5i81r2jhjy7sks54";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  meta = with lib; {
+    homepage = "https://github.com/eternnoir/pyTelegramBotAPI";
+    description = "A simple, but extensible Python implementation for the Telegram Bot API";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index 153a6e0377d..36e5b96319e 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -35,6 +35,7 @@ buildPythonPackage rec {
     flaky
   ];
 
+  # skip impure or flakey tests
   checkPhase = ''
     HOME=$TMPDIR pytest tests -k "not test_ssl_in_static_libs \
                      and not test_keyfunction \
@@ -42,7 +43,8 @@ buildPythonPackage rec {
                      and not test_libcurl_ssl_gnutls \
                      and not test_libcurl_ssl_nss \
                      and not test_libcurl_ssl_openssl" \
-                 --ignore=tests/getinfo_test.py
+                 --ignore=tests/getinfo_test.py \
+                 --ignore=tests/memory_mgmt_test.py
   '';
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pydicom/default.nix b/pkgs/development/python-modules/pydicom/default.nix
new file mode 100644
index 00000000000..d281193be23
--- /dev/null
+++ b/pkgs/development/python-modules/pydicom/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytestrunner
+, numpy
+, pillow
+}:
+
+buildPythonPackage rec {
+  version = "1.3.0";
+  pname = "pydicom";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1j11lsykqbnw9d6gzgj6kfn6lawvm5d9azd9palj3l1xhj0hlnsq";
+  };
+
+  propagatedBuildInputs = [ numpy pillow ];
+  checkInputs = [ pytest pytestrunner ];
+
+  meta = with stdenv.lib; {
+    homepage = https://pydicom.github.io;
+    description = "Pure-Python package for working with DICOM files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyezminc/default.nix b/pkgs/development/python-modules/pyezminc/default.nix
deleted file mode 100644
index 614a1555cbe..00000000000
--- a/pkgs/development/python-modules/pyezminc/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ buildPythonPackage, isPy3k, fetchFromGitHub, stdenv,
-  netcdf, hdf5, libminc, ezminc,
-  cython, numpy, scipy
-}:
-
-buildPythonPackage rec {
-  pname = "pyezminc";
-  version = "1.2.01";
- 
-  disabled = isPy3k;
-
-  src = fetchFromGitHub {
-    owner  = "BIC-MNI";
-    repo   = "pyezminc";
-    rev    = "release-${version}";
-    sha256 = "13smvramacisbwj8qsl160dnvv6ynngn1jmqwhvy146nmadphyv1";
-  };
-
-  nativeBuildInputs = [ cython ];
-  buildInputs = [ netcdf hdf5 libminc ezminc ];
-  propagatedBuildInputs = [ numpy scipy ];
-
-  NIX_CFLAGS_COMPILE = "-fpermissive";
-
-  doCheck = false;  # e.g., expects test data in /opt
-
-  meta = {
-    homepage = https://github.com/BIC-MNI/pyezminc;
-    description = "Python API for libminc using EZMINC";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ bcdarwin ];
-  };
-}
diff --git a/pkgs/development/python-modules/pylint-celery/default.nix b/pkgs/development/python-modules/pylint-celery/default.nix
new file mode 100644
index 00000000000..6bc7a93049e
--- /dev/null
+++ b/pkgs/development/python-modules/pylint-celery/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, lib
+
+# pythonPackages
+, pylint-plugin-utils
+}:
+
+buildPythonPackage rec {
+  pname = "pylint-celery";
+  version = "0.3";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "05fhwraq12c2724pn4py1bjzy5rmsrb1x68zck73nlp5icba6yap";
+  };
+
+  propagatedBuildInputs = [
+    pylint-plugin-utils
+  ];
+
+  # Testing requires a very old version of pylint, incompatible with other dependencies
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Pylint plugin to analyze Celery applications";
+    homepage = "https://github.com/PyCQA/pylint-celery";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
new file mode 100644
index 00000000000..04010098807
--- /dev/null
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -0,0 +1,39 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, lib
+
+# pythonPackages
+, django
+, pylint-plugin-utils
+}:
+
+buildPythonPackage rec {
+  pname = "pylint-django";
+  version = "2.0.12";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ha06wpqqn5fp5dapgjhsdx3ahh3y62l7k2f3czlrdjmmivgdp9y";
+  };
+
+  propagatedBuildInputs = [
+    django
+    pylint-plugin-utils
+  ];
+
+  # Testing requires checkout from other repositories
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Pylint plugin to analyze Django applications";
+    homepage = "https://github.com/PyCQA/pylint-django";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint-flask/default.nix b/pkgs/development/python-modules/pylint-flask/default.nix
new file mode 100644
index 00000000000..5077d07a936
--- /dev/null
+++ b/pkgs/development/python-modules/pylint-flask/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchPypi
+, isPy3k
+, lib
+
+# pythonPackages
+, pylint-plugin-utils
+}:
+
+buildPythonPackage rec {
+  pname = "pylint-flask";
+  version = "0.6";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05qmwgkpvaa5k05abqjxfbrfk3wpdqb8ph690z7bzxvb47i7vngl";
+  };
+
+  propagatedBuildInputs = [
+    pylint-plugin-utils
+  ];
+
+  # Tests require a very old version of pylint
+  #   also tests are only available at GitHub, with an old release tag
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Pylint plugin to analyze Flask applications";
+    homepage = "https://github.com/jschaf/pylint-flask";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynrrd/default.nix b/pkgs/development/python-modules/pynrrd/default.nix
new file mode 100644
index 00000000000..02361fe84de
--- /dev/null
+++ b/pkgs/development/python-modules/pynrrd/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pynrrd";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "mhe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wn3ara3i19fi1y9a5j4imyczpa6dkkzd5djggxg4kkl1ff9awrj";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  meta = with lib; {
+    homepage = https://github.com/mhe/pynrrd;
+    description = "Simple pure-Python reader for NRRD files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index 3af86dabe21..41576c5ad1f 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -1,33 +1,33 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, pip, pandoc, glibcLocales, haskellPackages, texlive }:
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, pandoc, haskellPackages, texlive }:
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.4";
+  version = "unstable-2018-06-18";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e914e6d5f84a76764887e4d909b09d63308725f0cbb5293872c2c92f07c11a5b";
+  src = fetchFromGitHub {
+    owner = "bebraw";
+    repo = pname;
+    rev = "87912f0f17e0a71c1160008df708c876d32e5819";
+    sha256 = "0l6knkxxhmni4lx8hyvbb71svnhza08ivyklqlk5fw637gznc0hx";
   };
 
-  # Fix tests: first requires network access, second is a bug (reported upstream)
-  preConfigure = ''
+  postPatch = ''
+    # set pandoc path statically
+    sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
+
+    # Fix tests: requires network access
     substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
-    substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'"
   '';
 
-  LC_ALL="en_US.UTF-8";
-
-  propagatedBuildInputs = [ pip ];
-
-  buildInputs = [ pandoc texlive.combined.scheme-small haskellPackages.pandoc-citeproc glibcLocales ];
+  preCheck = ''
+    export PATH="${haskellPackages.pandoc-citeproc}/bin:${texlive.combined.scheme-small}/bin:$PATH"
+  '';
 
   meta = with stdenv.lib; {
     description = "Thin wrapper for pandoc";
     homepage = https://github.com/bebraw/pypandoc;
     license = licenses.mit;
-    maintainers = with maintainers; [ bennofs ];
-
-    broken = true; # incompatible with pandoc v2
+    maintainers = with maintainers; [ sternenseemann bennofs ];
   };
 }
diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix
new file mode 100644
index 00000000000..eb7c9153196
--- /dev/null
+++ b/pkgs/development/python-modules/python-miio/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, appdirs
+, click
+, construct
+, cryptography
+, pytest
+, zeroconf
+, attrs
+, pytz
+, tqdm
+, netifaces
+}:
+
+buildPythonPackage rec {
+  pname = "python-miio";
+  version = "0.4.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19423b3386b23d2e0fc94a8f6a358bcfbb44eed05376e33fd434d26d168bd18c";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ appdirs click construct cryptography zeroconf attrs pytz tqdm netifaces ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Python library for interfacing with Xiaomi smart appliances";
+    homepage = https://github.com/rytilahti/python-miio;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ flyfloh ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
index 4fc0ad66f95..b1e01f7f4ab 100644
--- a/pkgs/development/python-modules/python-olm/default.nix
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, olm,
-  cffi, future, typing }:
+  cffi, future, isPy3k, typing }:
 
 buildPythonPackage {
   pname = "python-olm";
@@ -15,8 +15,7 @@ buildPythonPackage {
   propagatedBuildInputs = [
     cffi
     future
-    typing
-  ];
+  ] ++ lib.optionals (!isPy3k) [ typing ];
 
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/requirements-detector/default.nix b/pkgs/development/python-modules/requirements-detector/default.nix
index a0f312389f1..0d91cbc7509 100644
--- a/pkgs/development/python-modules/requirements-detector/default.nix
+++ b/pkgs/development/python-modules/requirements-detector/default.nix
@@ -4,6 +4,7 @@
 , lib
 
 # pythonPackages
+, astroid
 , pytest
 }:
 
@@ -13,12 +14,16 @@ buildPythonPackage rec {
   disabled = isPy27;
 
   src = fetchFromGitHub {
-    owner = "yuvadm";
+    owner = "landscapeio";
     repo = pname;
     rev = version;
-    sha256 = "15s0n1lhkz0zwi33waqkkjipal3f7s45rxsj1bw89xpr4dj87qx5";
+    sha256 = "1sfmm7daz0kpdx6pynsvi6qlfhrzxx783l1wb69c8dfzya4xssym";
   };
 
+  propagatedBuildInputs = [
+    astroid
+  ];
+
   checkInputs = [
     pytest
   ];
diff --git a/pkgs/development/python-modules/rxv/default.nix b/pkgs/development/python-modules/rxv/default.nix
new file mode 100644
index 00000000000..8133936798e
--- /dev/null
+++ b/pkgs/development/python-modules/rxv/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, defusedxml
+, requests
+, pytest
+, requests-mock
+, mock
+, pytestcov
+, pytest-timeout
+, testtools
+}:
+
+buildPythonPackage rec {
+  pname = "rxv";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "wuub";
+    repo = pname;
+    # Releases are not tagged
+    rev = "9b586203665031f93960543a272bb1a8f541ed37";
+    sha256 = "1dw3ayrzknai2279bhkgzcapzw06rhijlny33rymlbp7irp0gvnj";
+  };
+
+  propagatedBuildInputs = [ defusedxml requests ];
+
+  checkInputs = [ pytest requests-mock mock pytestcov pytest-timeout testtools ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Automation Library for Yamaha RX-V473, RX-V573, RX-V673, RX-V773 receivers";
+    homepage = https://github.com/wuub/rxv;
+    license = licenses.mit;
+    maintainers = with maintainers; [ flyfloh ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 67584789995..d556dcb74cf 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -13,6 +13,7 @@
 , pyramid
 , rq
 , sanic
+, sqlalchemy
 , stdenv
 , tornado
 , urllib3
@@ -27,7 +28,7 @@ buildPythonPackage rec {
     sha256 = "c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82";
   };
 
-  checkInputs = [ django flask tornado bottle rq falcon ]
+  checkInputs = [ django flask tornado bottle rq falcon sqlalchemy ]
   ++ stdenv.lib.optionals isPy3k [ celery pyramid sanic aiohttp ];
 
   propagatedBuildInputs = [ urllib3 certifi ];
diff --git a/pkgs/development/python-modules/solo-python/default.nix b/pkgs/development/python-modules/solo-python/default.nix
index 52d7d7539f9..216e5a2a84f 100644
--- a/pkgs/development/python-modules/solo-python/default.nix
+++ b/pkgs/development/python-modules/solo-python/default.nix
@@ -3,7 +3,7 @@
 
  buildPythonPackage rec {
   pname = "solo-python";
-  version = "0.0.18";
+  version = "0.0.21";
   format = "flit";
   disabled = pythonOlder "3.6"; # only python>=3.6 is supported
 
@@ -11,7 +11,7 @@
     owner = "solokeys";
     repo = pname;
     rev = version;
-    sha256 = "01mgppjvxlr93vrgz7bzisghpg1vqyaj4cg5wngk0h499iyx4d9q";
+    sha256 = "07r451dp3ma1mh735b2kjv86a4jkjhmag70cjqf73z7b61dmzl1q";
   };
 
   # replaced pinned fido, with unrestricted fido version
@@ -48,6 +48,5 @@
     homepage = "https://github.com/solokeys/solo-python";
     maintainers = with maintainers; [ wucke13 ];
     license = with licenses; [ asl20 mit ];
-    broken = true; # no longer compatible with fido2
   };
 }
diff --git a/pkgs/development/python-modules/srsly/default.nix b/pkgs/development/python-modules/srsly/default.nix
index 2b87c38b085..42d3da93c90 100644
--- a/pkgs/development/python-modules/srsly/default.nix
+++ b/pkgs/development/python-modules/srsly/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "srsly";
-  version = "0.2.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gha1xfh64mapvgn0sghnjsvmjdrh5rywhs3j3bhkvwk42kf40ma";
+    sha256 = "0d49a90gsfyxwp8g14mvvw1kjm77qgx86zg4812kcmlz9ycb80hi";
   };
 
   propagatedBuildInputs = lib.optional (pythonOlder "3.4") pathlib;
diff --git a/pkgs/development/python-modules/stups-pierone/default.nix b/pkgs/development/python-modules/stups-pierone/default.nix
new file mode 100644
index 00000000000..aaa04991641
--- /dev/null
+++ b/pkgs/development/python-modules/stups-pierone/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, requests
+, stups-cli-support
+, stups-zign
+, pytest
+, pytestcov
+, hypothesis
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-pierone";
+  version = "1.1.45";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "pierone-cli";
+    rev = version;
+    sha256 = "1ggfizw27wpcagbbk15xpfrhq6b250cx4278b5d7y8s438g128cs";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    stups-cli-support
+    stups-zign
+  ];
+
+  preCheck = "
+    export HOME=$TEMPDIR
+  ";
+
+  checkInputs = [
+    pytest
+    pytestcov
+    hypothesis
+  ];
+
+  meta = with lib; {
+    description = "Convenient command line client for STUPS' Pier One Docker registry";
+    homepage = "https://github.com/zalando-stups/pierone-cli";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/pkgs/development/python-modules/sysv_ipc/default.nix b/pkgs/development/python-modules/sysv_ipc/default.nix
new file mode 100644
index 00000000000..37853980f43
--- /dev/null
+++ b/pkgs/development/python-modules/sysv_ipc/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sysv_ipc";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p5lx3yz4p40rfb453m80a4hh8341yp4dki2nhhxz7bq2zfi1zwf";
+  };
+
+  meta = with stdenv.lib; {
+    description = "SysV IPC primitives (semaphores, shared memory and message queues)";
+    license = licenses.bsd3;
+    homepage = http://semanchuk.com/philip/sysv_ipc/;
+    maintainers = with maintainers; [ ris ];
+  };
+
+}
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 2019ee45f3c..5fa0cd15962 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -311,7 +311,6 @@ let
     rgdal = [ pkgs.proj.dev pkgs.gdal ];
     rgeos = [ pkgs.geos ];
     rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
-    rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ];
     Rglpk = [ pkgs.glpk ];
     RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
@@ -404,6 +403,7 @@ let
     RCurl = [ pkgs.curl.dev ];
     R2SWF = [ pkgs.pkgconfig ];
     rggobi = [ pkgs.pkgconfig ];
+    rgl = [ pkgs.libGLU pkgs.libGLU.dev pkgs.libGL pkgs.xlibsWrapper ];
     RGtk2 = [ pkgs.pkgconfig ];
     RProtoBuf = [ pkgs.pkgconfig ];
     Rpoppler = [ pkgs.pkgconfig ];
diff --git a/pkgs/development/tools/analysis/coz/default.nix b/pkgs/development/tools/analysis/coz/default.nix
index 1ef3457e8e9..3775d09b27d 100644
--- a/pkgs/development/tools/analysis/coz/default.nix
+++ b/pkgs/development/tools/analysis/coz/default.nix
@@ -7,13 +7,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "coz";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "plasma-umass";
     repo = "coz";
     rev = version;
-    sha256 = "0a55q3s8ih1r9x6fp7wkg3n5h1yd9pcwg74k33d1r94y3j3m0znr";
+    sha256 = "0val36yw987b1558iiyk3nqg0yy5k9y5wh49v91zj3cs58mmfyhc";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/tools/boomerang/default.nix b/pkgs/development/tools/boomerang/default.nix
index 9e567ef59b0..821e51ac605 100644
--- a/pkgs/development/tools/boomerang/default.nix
+++ b/pkgs/development/tools/boomerang/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "boomerang";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "BoomerangDecompiler";
     repo = pname;
     rev = "v${version}";
-    sha256 = "046ba4km8c31kbnllx05nbqhjmk7bpi56d3n8md8bsr98nj21a2j";
+    sha256 = "0xncdp0z8ry4lkzmvbj5d7hlzikivghpwicgywlv47spgh8ny0ix";
   };
 
   nativeBuildInputs = [ cmake bison flex ];
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index 0b858f6f20d..6178a7368fc 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -2,7 +2,7 @@
 
 
 let
-  version = "2.5.1";
+  version = "2.6.4";
 in
 stdenv.mkDerivation {
   pname = "rebar";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
-    sha256 = "1y9b0smw0g5q197xf4iklzmcf8ad6w52p6mwzpf7b0ib1nd89jw6";
+    sha256 = "01xxq1f1vrwca00pky2van26hi2hhr05ghfhy71v5cifzax4cwjp";
   };
 
   buildInputs = [ erlang ];
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index db01a068c00..7a17d3dfb56 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.12.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "0lsjsfp6ls38vlgibbnsyd1m7jvmjwdmpyrd0qigp4aa2abwi4dg";
+    sha256 = "0swhpdr970ik6fhvmj45r84lsp1n6rxm0bgv9i1lvrxy1mdv7r9x";
   };
 
   outputs = [ "bin" "man" "out" ];
@@ -18,10 +18,6 @@ buildGoPackage rec {
   goPackagePath = "github.com/containers/buildah";
   excludedPackages = [ "tests" ];
 
-  # Disable module-mode, because Go 1.13 automatically enables it if there is
-  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
-  GO111MODULE = "off";
-
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
@@ -31,6 +27,7 @@ buildGoPackage rec {
     pushd go/src/${goPackagePath}
     make GIT_COMMIT="unknown"
     install -Dm755 buildah $bin/bin/buildah
+    install -Dm444 contrib/completions/bash/buildah $bin/share/bash-completion/completions/buildah
   '';
 
   postBuild = ''
@@ -40,6 +37,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "A tool which facilitates building OCI images";
     homepage = "https://github.com/containers/buildah";
+    changelog = "https://github.com/containers/buildah/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ Profpatsch vdemeester saschagrunert ];
   };
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix
deleted file mode 100644
index 6a73e258182..00000000000
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/2.x.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  src = fetchFromGitHub {
-    owner = "buildkite";
-    repo = "agent";
-    rev = "v${version}";
-    sha256 = "07065hhhb418w5qlqnyiap45r59paysysbwz1l7dmaw3j4q8m8rg";
-  };
-  version = "2.6.10";
-  hasBootstrapScript = true;
-})
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
deleted file mode 100644
index e8266c2efe2..00000000000
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/3.x.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ bash, callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  src = fetchFromGitHub {
-    owner = "buildkite";
-    repo = "agent";
-    rev = "v${version}";
-    sha256 = "0sr1rxl92d4wdipl66f1yymx5bmyj1y85v6k22v57rzr6yhyfmsf";
-  };
-  version = "3.8.4";
-  hasBootstrapScript = false;
-  postPatch = ''
-    substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
-  '';
-})
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
new file mode 100644
index 00000000000..7e86c93b9bd
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -0,0 +1,48 @@
+{ fetchFromGitHub, stdenv, buildGoPackage,
+  makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
+buildGoPackage rec {
+  name = "buildkite-agent-${version}";
+  version = "3.17.0";
+
+  goPackagePath = "github.com/buildkite/agent";
+
+  src = fetchFromGitHub {
+    owner = "buildkite";
+    repo = "agent";
+    rev = "v${version}";
+    sha256 = "0a7x919kxnpdn0pnhc5ilx1z6ninx8zgjvsd0jcg4qwh0qqp5ppr";
+  };
+  postPatch = ''
+    substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  # on Linux, the TMPDIR is /build which is the same prefix as this package
+  # remove once #35068 is merged
+  noAuditTmpdir = stdenv.isLinux;
+
+  postInstall = ''
+    # Fix binary name
+    mv $bin/bin/{agent,buildkite-agent}
+
+    # These are runtime dependencies
+    wrapProgram $bin/bin/buildkite-agent \
+      --prefix PATH : '${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Build runner for buildkite.com";
+    longDescription = ''
+      The buildkite-agent is a small, reliable, and cross-platform build runner
+      that makes it easy to run automated builds on your own infrastructure.
+      It’s main responsibilities are polling buildkite.com for work, running
+      build jobs, reporting back the status code and output log of the job,
+      and uploading the job's artifacts.
+    '';
+    homepage = https://buildkite.com/docs/agent;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pawelpacana zimbatm rvl ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 214e48b14b6..91ef9d4a222 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 }:
 
 let
-  version = "12.6.0";
+  version = "12.7.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}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "14wp9dyacbldfvykc68pa0mj59anf0zfadxsr9bqwyl795zsxh7g";
+    sha256 = "0vaaaw6hxmr55kgcn86rim9in96zmyv0zhl7asr4b7qknabsjp4m";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1iln85xy4qkz7ps2vr4qlbvn4p1b8137a75r4s24bc7g6apzyyvs";
+    sha256 = "031fv7f15wiqq7209n2ab7n3qzjf7cjzvbp4pkz24bkc3lr3y773";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "08vxgv6m83wqxksy0vj7nx6bb55sxn9c7l0sdpg0nblps0n8fzxm";
+    sha256 = "0f08syk7v7w89pcdbzwgscsxl54gnms1qd4spjppnq4h5r959jp2";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/database/pg_checksums/default.nix b/pkgs/development/tools/database/pg_checksums/default.nix
new file mode 100644
index 00000000000..f440e550a89
--- /dev/null
+++ b/pkgs/development/tools/database/pg_checksums/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, libxslt, docbook_xsl, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "pg_checksums";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "credativ";
+    repo = pname;
+    rev = version;
+    sha256 = "0xc2bwp55xjnnf45lc60ldxpb5jfyi1bgfkv3nxrymcswh8yfidj";
+  };
+
+  nativeBuildInputs = [ libxslt.bin ];
+
+  buildInputs = [ postgresql ];
+
+  buildFlags = [ "all" "man" ];
+
+  preConfigure = ''
+    substituteInPlace doc/stylesheet-man.xsl \
+      --replace "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
+  '';
+
+  installPhase = ''
+    install -Dm755 -t $out/bin pg_checksums
+    install -Dm644 -t $out/share/man/man1 doc/man1/pg_checksums.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Activate/deactivate/verify checksums in offline PostgreSQL clusters";
+    homepage = "https://github.com/credativ/pg_checksums";
+    maintainers = [ maintainers.marsam ];
+    platforms = postgresql.meta.platforms;
+    license = licenses.postgresql;
+  };
+}
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 2113e319f19..6c4d91bac78 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dive";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "wagoodman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bqmrva7rx6al50fmy4gvf853csascc5mj6ihgg7ydsy0d99j5qn";
+    sha256 = "1dqaqzmb74kf6q70wxfbsrbbfmxl82rj7r5kpsg5znm99filk3ny";
   };
 
-  modSha256 = "0hb7bq8v6xr8xqni1iv3zkqdnknfy539sm0vxqal1mhvs5yg06m0";
+  modSha256 = "1y8mqxlzbizra2m9aayp6w07s39gddvm5igdaw9kwxwjwvd1dbfc";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/geckodriver/cargo-lock.patch b/pkgs/development/tools/geckodriver/cargo-lock.patch
new file mode 100644
index 00000000000..a283d0c382c
--- /dev/null
+++ b/pkgs/development/tools/geckodriver/cargo-lock.patch
@@ -0,0 +1,1846 @@
+diff --git a/testing/geckodriver/Cargo.lock b/testing/geckodriver/Cargo.lock
+new file mode 100644
+index 0000000..4430666
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1840 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler32"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "arrayref"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "arrayvec"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "autocfg"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "backtrace"
++version = "0.3.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "backtrace-sys"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "blake2b_simd"
++version = "0.5.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "block-buffer"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "block-padding"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "byte-tools"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bytes"
++version = "0.4.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "chrono"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cookie"
++version = "0.12.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-epoch"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-queue"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "digest"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dtoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "either"
++version = "1.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fake-simd"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "flate2"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-zircon"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fuchsia-zircon-sys"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "futures"
++version = "0.1.29"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "futures-cpupool"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "geckodriver"
++version = "0.26.0"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "marionette 0.1.0",
++ "mozdevice 0.1.0",
++ "mozprofile 0.6.0",
++ "mozrunner 0.10.0",
++ "mozversion 0.2.1",
++ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "webdriver 0.40.2",
++ "zip 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "generic-array"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "h2"
++version = "0.1.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "headers"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "headers-core 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "headers-core"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "http"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "http-body"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "httparse"
++version = "1.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper"
++version = "0.12.35"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "idna"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "iovec"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "line-wrap"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "linked-hash-map"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lock_api"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "log"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "marionette"
++version = "0.1.0"
++dependencies = [
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "maybe-uninit"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memchr"
++version = "2.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memoffset"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mime"
++version = "0.3.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "mime_guess"
++version = "2.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mio"
++version = "0.6.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mio-uds"
++version = "0.6.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miow"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mozdevice"
++version = "0.1.0"
++dependencies = [
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mozprofile"
++version = "0.6.0"
++dependencies = [
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mozrunner"
++version = "0.10.0"
++dependencies = [
++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mozprofile 0.6.0",
++ "plist 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mozversion"
++version = "0.2.1"
++dependencies = [
++ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rust-ini 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "msdos_time"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "net2"
++version = "0.2.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "opaque-debug"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "parking_lot"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "plist"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "line-wrap 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "podio"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "quote"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_isaac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_jitter"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_xorshift"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_users"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex"
++version = "1.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-argon2"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-ini"
++version = "0.10.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "safemem"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "scoped-tls"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "semver"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "serde"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_repr"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_urlencoded"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_yaml"
++version = "0.8.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "sha-1"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "slab"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "smallvec"
++version = "0.6.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "smallvec"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "string"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "syn"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "term_size"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "thread_local"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "time"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-buf"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-codec"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-current-thread"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-executor"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-fs"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-io"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-reactor"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-sync"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-tcp"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-threadpool"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-timer"
++version = "0.2.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-udp"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-uds"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "typenum"
++version = "1.11.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicase"
++version = "2.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "url"
++version = "2.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "urlencoding"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "uuid"
++version = "0.7.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "version_check"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "walkdir"
++version = "2.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "want"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "warp"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "headers 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "urlencoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "webdriver"
++version = "0.40.2"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "warp 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winreg"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ws2_32-sys"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "xml-rs"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "yaml-rust"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zip"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "msdos_time 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[metadata]
++"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
++"checksum backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b4b1549d804b6c73f4817df2ba073709e96e426f12987127c48e6745568c350b"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
++"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
++"checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
++"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
++"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5"
++"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
++"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
++"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
++"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
++"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
++"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
++"checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
++"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
++"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
++"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
++"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
++"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
++"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
++"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
++"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
++"checksum headers 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "882ca7d8722f33ce2c2db44f95425d6267ed59ca96ce02acbe58320054ceb642"
++"checksum headers-core 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "967131279aaa9f7c20c7205b45a391638a83ab118e6509b2d0ccbe08de044237"
++"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
++"checksum http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
++"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
++"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
++"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++"checksum hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)" = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6"
++"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
++"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc"
++"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
++"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
++"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"checksum line-wrap 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
++"checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
++"checksum lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "79b2de95ecb4691949fea4716ca53cdbcfccb2c612e19644a8bad05edcf9f47b"
++"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++"checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
++"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
++"checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
++"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
++"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
++"checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
++"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
++"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
++"checksum msdos_time 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aad9dfe950c057b1bfe9c1f2aa51583a8468ef2a5baba2ebbe06d775efeb7729"
++"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
++"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
++"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
++"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
++"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
++"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
++"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++"checksum plist 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31850d149352e2b75f0e4b206045ee3775076c422892328343beca48a2b5cf17"
++"checksum podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd"
++"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
++"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
++"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
++"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
++"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
++"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
++"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
++"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
++"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
++"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5508c1941e4e7cb19965abef075d35a9a8b5cdf0846f30b4050e9b55dc55e87"
++"checksum regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e734e891f5b408a29efbf8309e656876276f49ab6a6ac208600b4419bd893d90"
++"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
++"checksum rust-ini 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8a654c5bda722c699be6b0fe4c0d90de218928da5b724c3e467fc48865c37263"
++"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
++"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
++"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++"checksum semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++"checksum serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cd02c7587ec314570041b2754829f84d873ced14a96d1fd1823531e11db40573"
++"checksum serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
++"checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35"
++"checksum sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
++"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++"checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
++"checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
++"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++"checksum term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e5b9a66db815dcfd2da92db471106457082577c3c278d4138ab3e3b4e189327"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
++"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
++"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
++"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
++"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
++"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
++"checksum tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "ca6df436c42b0c3330a82d855d2ef017cd793090ad550a6bc2184f4b933532ab"
++"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af"
++"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
++"checksum tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6732fe6b53c8d11178dcb77ac6d9682af27fc6d4cb87789449152e5377377146"
++"checksum tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76"
++"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
++"checksum tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c32ffea4827978e9aa392d2f743d973c1dfa3730a2ed3f22ce1e6984da848c"
++"checksum tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1739638e364e558128461fc1ad84d997702c8e31c2e6b18fb99842268199e827"
++"checksum tokio-udp 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f02298505547f73e60f568359ef0d016d5acd6e830ab9bc7c4a5b3403440121b"
++"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445"
++"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
++"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
++"checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
++"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++"checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++"checksum url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
++"checksum urlencoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3df3561629a8bb4c57e5a2e4c43348d9e29c7c29d9b1c4c1f47166deca8f37ed"
++"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
++"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
++"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
++"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
++"checksum warp 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3921463c44f680d24f1273ea55efd985f31206a22a02dee207a2ec72684285ca"
++"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
++"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
++"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
++"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++"checksum winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
++"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
++"checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5"
++"checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d"
++"checksum zip 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "36b9e08fb518a65cf7e08a1e482573eb87a2f4f8c6619316612a3c1f162fe822"
diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix
index 68d1a74b277..9f0de971d1b 100644
--- a/pkgs/development/tools/geckodriver/default.nix
+++ b/pkgs/development/tools/geckodriver/default.nix
@@ -1,26 +1,29 @@
 { lib
-, fetchFromGitHub
+, fetchzip
 , rustPlatform
 , stdenv
 , darwin
 }:
 
-with rustPlatform; 
-
-buildRustPackage rec {
-  version = "0.22.0";
+rustPlatform.buildRustPackage {
+  version = "0.26.0";
   pname = "geckodriver";
+  sourceRoot = "source/testing/geckodriver";
 
-  src = fetchFromGitHub {
-    owner = "mozilla";
-    repo = "geckodriver";
-    rev = "v${version}";
-    sha256 = "12m95lfqwdxs2m5kjh3yrpm9w2li5m8n3fw46a2nkxyfw6c94l4b";
-  };
+  # Source revisions are noted alongside the binary releases:
+  # https://github.com/mozilla/geckodriver/releases
+  src = (fetchzip {
+    url = "https://hg.mozilla.org/mozilla-central/archive/e9783a644016aa9b317887076618425586730d73.zip/testing";
+    sha256 = "0m86hqyq1jrr49jkc8mnlmx4bdq281hyxhcrrzacyv20nlqwvd8v";
+  }).overrideAttrs (_: {
+    # normally guessed by the url's file extension, force it to unpack properly
+    unpackCmd = "unzip $curSrc";
+  });
 
-  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "07w5lmvm5w6id0qikcs968n0c69bb6fav63l66bskxcjva67d6dy";
 
-  cargoSha256 = "1pwg35kgn5z2zrlj1dwcbbdmkgmnvfxpxv4klzsxxg4m9xr1pfy4";
+  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers";
diff --git a/pkgs/development/tools/git-quick-stats/default.nix b/pkgs/development/tools/git-quick-stats/default.nix
index b08300040b9..83df38cf7db 100644
--- a/pkgs/development/tools/git-quick-stats/default.nix
+++ b/pkgs/development/tools/git-quick-stats/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.0.11";
+  version = "2.0.12";
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "19chwnc936bxf0bnxsvw6nhfxnj0216jx9ajjckw3q440l932799";
+    sha256 = "1diisgz8xc2ghsfdz3vh6z4vn13vvb9gf0i6qml0a46a5fqf32zb";
   };
   PREFIX = builtins.placeholder "out";
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix
index 411b6a261d6..94a0ff87982 100644
--- a/pkgs/development/tools/kind/default.nix
+++ b/pkgs/development/tools/kind/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "kind";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "kubernetes-sigs";
     repo   = "kind";
-    sha256 = "165nwkhsa12z043rvkdf977jndhp82x7sccqfy75pkx99mzz43r2";
+    sha256 = "0hvb0rbi1m0d1flk15l3wws96kmmjhsy6islkhy5h7jalc4k0nx4";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/kind/deps.nix b/pkgs/development/tools/kind/deps.nix
index 99a73291d71..1706406c456 100644
--- a/pkgs/development/tools/kind/deps.nix
+++ b/pkgs/development/tools/kind/deps.nix
@@ -374,8 +374,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.10";
-      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
+      rev = "v0.0.11";
+      sha256 = "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali";
     };
   }
   {
@@ -455,8 +455,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "v1.2.0";
-      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+      rev = "v1.6.0";
+      sha256 = "0l2830pi64fg0bdsyd5afkbw0p7879pppzdqqk3c7vjrjfmi5xbq";
     };
   }
   {
@@ -464,8 +464,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+      rev = "v0.9.0";
+      sha256 = "1hlivqlcnm9wrj0v7h43gamw7mvg6svz9sm31fx28zn4ll25ablh";
     };
   }
   {
@@ -608,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "c1f44814a5cd";
-      sha256 = "1a6hb4326hk8hvcbs0pqypalsxzqc8xasnglrrwd6ai0njgh18pg";
+      rev = "86b910548bc1";
+      sha256 = "1z8l2wp27q0bd4nc46j31lc7cr6kiw52zi6ix3i121pd3rcyrw44";
     };
   }
   {
@@ -671,8 +671,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.5";
-      sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
+      rev = "v2.2.7";
+      sha256 = "0k5xcwkd3wmcx54isk7ck9cwp8fapfhyqdz3f13kxp77cxqizazj";
     };
   }
   {
@@ -680,8 +680,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v3";
-      rev = "e228e37189d3";
-      sha256 = "06sc63lqhkqjh188md1cywvscxq40cqgmdl8ccd3q891b1xpajl4";
+      rev = "4206685974f2";
+      sha256 = "1ff5fd8x45cay9100ds63hxd32s7czsrric0ql6a1jrxczsgqk1g";
     };
   }
   {
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 771f8005c1f..f2bb771f217 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure-lsp";
-  version = "20200109T185134";
+  version = "20200117T215443";
 
   src = fetchurl {
     url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
-    sha256 = "11fzyf2qzqmxhdyssm59cqkkcjh8hw1i859abc1i2zali3fd7w68";
+    sha256 = "0ccn3700lam5m5yh5hdcm6wkazyr3dhvhyc9bc08basjwk09lfkp";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/misc/elfinfo/default.nix b/pkgs/development/tools/misc/elfinfo/default.nix
index b1a51a77144..8628990d531 100644
--- a/pkgs/development/tools/misc/elfinfo/default.nix
+++ b/pkgs/development/tools/misc/elfinfo/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "elfinfo";
-  version = "0.7.6";
+  version = "1.0.1";
 
   goPackagePath = "github.com/xyproto/elfinfo";
   src = fetchFromGitHub {
     rev = version;
     owner = "xyproto";
     repo = "elfinfo";
-    sha256 = "0f6ik4d157assxdfslnyc91mg70kfh396rapikfv473znx2v2pg9";
+    sha256 = "1iahivc1jm9gv1dijykw2pryjdwb896bv42xmq9v6ax86rsnzqww";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index 449d9ee0984..0c1a3dfc932 100644
--- a/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -21,14 +21,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "pwndbg";
-  version = "2019.01.25";
+  version = "2019.12.09";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pwndbg";
     repo = "pwndbg";
     rev = version;
-    sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs";
+    sha256 = "0kn28mjdq91zf7d6vqzbm74f0ligp829m9jzjxfn4zlx6wrmkd0s";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index 04364ea174a..9af294716ff 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.9.15";
+  version = "0.9.17";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "05dh70967264lc3srwajnxxfdgsgybc9i7j2jqbqzin6dmxbnrc0";
+    sha256 = "0fm7avkc8izs0a9lqshibzpl08g4l3w38ayw7g521p23aq90q3c9";
   };
 
-  modSha256 = "09ifp0iqd8jlz01mhxaz7adrcc699vim6pwxgf83pmqdw92jz034";
+  modSha256 = "1jf08g0xr4wknh9x15igq73y02cy2faqjdjs2v842ii4p3n4p9dw";
 
   subPackages = [ "cmd/reviewdog" ];
 
diff --git a/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
new file mode 100644
index 00000000000..d55caab22e6
--- /dev/null
+++ b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
@@ -0,0 +1,283 @@
+Index: usb-modeswitch-2.6.0/Makefile
+===================================================================
+--- usb-modeswitch-2.6.0.orig/Makefile
++++ usb-modeswitch-2.6.0/Makefile
+@@ -5,17 +5,24 @@ CFLAGS      += -Wall -Wno-deprecated-dec
+ LIBS        = `pkg-config --libs --cflags libusb-1.0`
+ RM          = /bin/rm -f
+ OBJS        = usb_modeswitch.c
+-PREFIX      = $(DESTDIR)/usr
+-ETCDIR      = $(DESTDIR)/etc
++PREFIX      = /usr/local
++ETCDIR      = $(PREFIX)/etc
+ SYSDIR      = $(ETCDIR)/systemd/system
+ UPSDIR      = $(ETCDIR)/init
+-UDEVDIR     = $(DESTDIR)/lib/udev
++UDEVDIR     = $(PREFIX)/lib/udev
+ SBINDIR     = $(PREFIX)/sbin
+ MANDIR      = $(PREFIX)/share/man/man1
+ 
++USE_UPSTART=$(shell if command -v initctl > /dev/null; then echo "true"; fi)
++USE_SYSTEMD=$(shell if command -v systemctl > /dev/null; then echo "true"; fi)
++
+ .PHONY: clean install install-common uninstall \
+ 	dispatcher-script dispatcher-dynlink dispatcher-statlink \
+-	install-script install-dynlink install-statlink
++	install-script install-dynlink install-statlink \
++	install-upstart install-systemd \
++	configure-dispatcher configure-script \
++	configure-upstart configure-systemd \
++	configure
+ 
+ all: all-with-script-dispatcher
+ 
+@@ -28,7 +35,25 @@ all-with-statlink-dispatcher: $(PROG) di
+ $(PROG): $(OBJS) usb_modeswitch.h
+ 	$(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS)
+ 
+-dispatcher-script: usb_modeswitch_dispatcher.tcl
++configure-dispatcher:
++	sed -i \
++	  -e 's,^\(set setup(sbindir) \).*$$,\1$(SBINDIR),' \
++	  -e 's,^\(set setup(etcdir) \).*$$,\1$(ETCDIR),' \
++	  usb_modeswitch_dispatcher.tcl
++
++configure-script:
++	sed -i -e 's,^\(SBINDIR=\).*$$,\1$(SBINDIR),' usb_modeswitch.sh
++
++configure-systemd:
++	sed -i -e 's,@sbindir@,$(SBINDIR),' usb_modeswitch@.service
++
++configure-upstart:
++	sed -i -e 's,@sbindir@,$(SBINDIR),' usb-modeswitch-upstart.conf
++
++configure: configure-dispatcher configure-script \
++	configure-systemd configure-upstart
++
++dispatcher-script: configure-dispatcher usb_modeswitch_dispatcher.tcl
+ 	DISPATCH=dispatcher-script
+ 	cp -f usb_modeswitch_dispatcher.tcl usb_modeswitch_dispatcher
+ 
+@@ -53,16 +78,28 @@ distclean: clean
+ # If the systemd folder is present, install the service for starting the dispatcher
+ # If not, use the dispatcher directly from the udev rule as in previous versions
+ 
+-install-common: $(PROG) $(DISPATCH)
+-	install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
+-	install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
+-	install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
+-	install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
+-	install -D --mode=644 usb_modeswitch_dispatcher.1 $(MANDIR)/usb_modeswitch_dispatcher.1
+-	install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
++install-common: $(PROG) configure $(DISPATCH)
++	install -D --mode=755 usb_modeswitch $(DESTDIR)$(SBINDIR)/usb_modeswitch
++	install -D --mode=755 usb_modeswitch.sh $(DESTDIR)$(UDEVDIR)/usb_modeswitch
++	install -D --mode=644 usb_modeswitch.conf $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf
++	install -D --mode=644 usb_modeswitch.1 $(DESTDIR)$(MANDIR)/usb_modeswitch.1
++	install -D --mode=644 usb_modeswitch_dispatcher.1 $(DESTDIR)$(MANDIR)/usb_modeswitch_dispatcher.1
++	install -D --mode=755 usb_modeswitch_dispatcher $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher
+ 	install -d $(DESTDIR)/var/lib/usb_modeswitch
+-	test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1
+-	test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1
++
++install-upstart:
++	install -D --mode=644 usb-modeswitch-upstart.conf $(DESTDIR)$(UPSDIR)/usb-modeswitch-upstart.conf
++
++install-systemd:
++	install -D --mode=644 usb_modeswitch@.service $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service
++
++ifeq ($(USE_UPSTART),true)
++install-common: install-upstart
++endif
++
++ifeq ($(USE_SYSTEMD),true)
++install-common: install-systemd
++endif
+ 
+ install: install-script
+ 
+@@ -73,10 +110,10 @@ install-dynlink: dispatcher-dynlink inst
+ install-statlink: dispatcher-statlink install-common
+ 
+ uninstall:
+-	$(RM) $(SBINDIR)/usb_modeswitch
+-	$(RM) $(SBINDIR)/usb_modeswitch_dispatcher
+-	$(RM) $(UDEVDIR)/usb_modeswitch
+-	$(RM) $(ETCDIR)/usb_modeswitch.conf
+-	$(RM) $(MANDIR)/usb_modeswitch.1
++	$(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch
++	$(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher
++	$(RM) $(DESTDIR)$(UDEVDIR)/usb_modeswitch
++	$(RM) $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf
++	$(RM) $(DESTDIR)$(MANDIR)/usb_modeswitch.1
+ 	$(RM) -R $(DESTDIR)/var/lib/usb_modeswitch
+-	$(RM) $(SYSDIR)/usb_modeswitch@.service
++	$(RM) $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service
+Index: usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb-modeswitch-upstart.conf
++++ usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf
+@@ -1,5 +1,5 @@
+ start on usb-modeswitch-upstart
+ task
+ script
+-	exec /usr/sbin/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM
++	exec @sbindir@/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM
+ end script
+Index: usb-modeswitch-2.6.0/usb_modeswitch.sh
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch.sh
++++ usb-modeswitch-2.6.0/usb_modeswitch.sh
+@@ -1,5 +1,9 @@
+ #!/bin/sh
+ # part of usb_modeswitch 2.6.0
++
++# Compile time configuration, injected by the Makefile
++SBINDIR=/usr/sbin
++
+ device_in()
+ {
+ 	if [ ! -e /var/lib/usb_modeswitch/$1 ]; then
+@@ -37,7 +41,7 @@ if [ $(expr "$1" : "--.*") ]; then
+ 		v_id=$3
+ 	fi
+ fi
+-PATH=/sbin:/usr/sbin:$PATH
++
+ case "$1" in
+ 	--driver-bind)
+ 		# driver binding code removed
+@@ -46,9 +50,7 @@ case "$1" in
+ 	--symlink-name)
+ 		device_in "link_list" $v_id $p_id
+ 		if [ "$?" = "1" ]; then
+-			if [ -e "/usr/sbin/usb_modeswitch_dispatcher" ]; then
+-				exec usb_modeswitch_dispatcher $1 $2 2>>/dev/null
+-			fi
++			exec $SBINDIR/usb_modeswitch_dispatcher $1 $2 2>>/dev/null
+ 		fi
+ 		exit 0
+ 		;;
+@@ -61,15 +63,13 @@ if [ "$p2" = "" -a "$p1" != "" ]; then
+ 	p2=$p1
+ fi
+ 
+-PATH=/bin:/sbin:/usr/bin:/usr/sbin
+-init_path=`readlink -f /sbin/init`
+-if [ `basename $init_path` = "systemd" ]; then
++if command -v systemctl > /dev/null; then
+ 	systemctl --no-block restart usb_modeswitch@$p2.service
+-elif [ -e "/etc/init/usb-modeswitch-upstart.conf" ]; then
++elif command -v initctl > /dev/null; then
+ 	initctl emit --no-wait usb-modeswitch-upstart UMS_PARAM=$p2
+ else
+ 	# only old distros, new udev will kill all subprocesses
+ 	exec 1<&- 2<&- 5<&- 7<&-
+-	exec usb_modeswitch_dispatcher --switch-mode $p2 &
++	exec $SBINDIR/usb_modeswitch_dispatcher --switch-mode $p2 &
+ fi
+ exit 0
+Index: usb-modeswitch-2.6.0/usb_modeswitch@.service
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch@.service
++++ usb-modeswitch-2.6.0/usb_modeswitch@.service
+@@ -3,6 +3,6 @@ Description=USB_ModeSwitch_%i
+ 
+ [Service]
+ Type=oneshot
+-ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i
++ExecStart=@sbindir@/usb_modeswitch_dispatcher --switch-mode %i
+ #ExecStart=/bin/echo %i
+ 
+Index: usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl
+===================================================================
+--- usb-modeswitch-2.6.0.orig/usb_modeswitch_dispatcher.tcl
++++ usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl
+@@ -12,6 +12,16 @@
+ # Part of usb-modeswitch-2.6.0 package
+ # (C) Josua Dietze 2009-2019
+ 
++# Compile-time configuration, injected by the Makefile.
++set setup(sbindir) /usr/sbin
++set setup(etcdir) /etc
++
++# External dependency default location
++set setup(dbdir) /usr/share/usb_modeswitch
++
++# Derived configuration
++set setup(dbdir_etc) $setup(etcdir)/usb_modeswitch.d
++
+ set arg0 [lindex $argv 0]
+ if [regexp {\.tcl$} $arg0] {
+ 	if [file exists $arg0] {
+@@ -115,10 +125,8 @@ if {![regexp {(.*?):.*$} $arg1 d device]
+ 	}
+ }
+ 
+-set setup(dbdir) /usr/share/usb_modeswitch
+-set setup(dbdir_etc) /etc/usb_modeswitch.d
+ if {![file exists $setup(dbdir)] && ![file exists $setup(dbdir_etc)]} {
+-	Log "\nError: no config database found in /usr/share or /etc. Exit"
++	Log "\nError: no config database found in $setup(dbdir) or $setup(dbdir_etc). Exit"
+ 	SafeExit
+ }
+ 
+@@ -285,7 +293,7 @@ if {$config(NoMBIMCheck)==0 && $usb(bNum
+ 	if [CheckMBIM] {
+ 		Log " driver for MBIM devices is available"
+ 		Log "Find MBIM configuration number ..."
+-		if [catch {set cfgno [exec /usr/sbin/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] {
++		if [catch {set cfgno [exec $setup(sbindir)/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] {
+ 			Log "Error when trying to find MBIM configuration, switch to legacy modem mode"
+ 		} else {
+ 			set cfgno [string trim $cfgno]
+@@ -321,7 +329,7 @@ if {$report == ""} {
+ 	# Now we are actually switching
+ 	if $flags(logging) {
+ 		Log "Command line:\nusb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f \$flags(config)"
+-		catch {set report [exec /usr/sbin/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report
++		catch {set report [exec $setup(sbindir)/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report
+ 		Log "\nVerbose debug output of usb_modeswitch and libusb follows"
+ 		Log "(Note that some USB errors are to be expected in the process)"
+ 		Log "--------------------------------"
+@@ -329,7 +337,7 @@ if {$report == ""} {
+ 		Log "--------------------------------"
+ 		Log "(end of usb_modeswitch output)\n"
+ 	} else {
+-		catch {set report [exec /usr/sbin/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report
++		catch {set report [exec $setup(sbindir)/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report
+ 	}
+ }
+ 
+@@ -522,12 +530,12 @@ return 1
+ 
+ proc {ParseGlobalConfig} {path} {
+ 
+-global flags
++global flags setup
+ set configFile ""
+ if [string length $path] {
+ 	set places [list $path]
+ } else {
+-	set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch]
++	set places [list $setup(etcdir)/usb_modeswitch.conf $setup(etcdir)/sysconfig/usb_modeswitch $setup(etcdir)/default/usb_modeswitch]
+ }
+ foreach cfg $places {
+ 	if [file exists $cfg] {
+@@ -923,10 +931,12 @@ proc {SysLog} {msg} {
+ 
+ global flags
+ if {![info exists flags(logger)]} {
+-	set flags(logger) ""
+-	foreach fn {/bin/logger /usr/bin/logger} {
+-		if [file exists $fn] {
+-			set flags(logger) $fn
++	set flags(logger) [exec sh -c "command -v logger || true"]
++	if {$flags(logger) == ""} {
++		foreach fn {/bin/logger /usr/bin/logger} {
++			if [file exists $fn] {
++				set flags(logger) $fn
++			}
+ 		}
+ 	}
+ 	Log "Logger is $flags(logger)"
diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix
index d2b80011dea..6280b103ab6 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -9,10 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz";
   };
 
-  inherit (usb-modeswitch) makeFlags;
+  makeFlags = [
+    "PREFIX=$(out)"
+    "DESTDIR=$(out)"
+  ];
 
   prePatch = ''
-    sed -i 's@usb_modeswitch@${usb-modeswitch}/bin/usb_modeswitch@g' 40-usb_modeswitch.rules
+    sed -i 's@usb_modeswitch@${usb-modeswitch}/lib/udev/usb_modeswitch@g' 40-usb_modeswitch.rules
   '';
 
   # we add tcl here so we can patch in support for new devices by dropping config into
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index a0e1b8eb8ce..731ac836412 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, libusb1 }:
+{ stdenv, lib, fetchurl, pkgconfig, makeWrapper
+, libusb1, tcl, utillinux, coreutils, bash }:
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch";
@@ -9,19 +10,32 @@ stdenv.mkDerivation rec {
     sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
   };
 
+  patches = [ ./configurable-usb-modeswitch.patch ];
+
+  # Remove attempts to write to /etc and /var/lib.
+  postPatch = ''
+    sed -i \
+      -e '/^\tinstall .* usb_modeswitch.conf/s,$(ETCDIR),$(out)/etc,' \
+      -e '\,^\tinstall -d .*/var/lib/usb_modeswitch,d' \
+      Makefile
+  '';
+
   makeFlags = [
-    "DESTDIR=$(out)"
     "PREFIX=$(out)"
+    "ETCDIR=/etc"
+    "USE_UPSTART=false"
+    "USE_SYSTEMD=true"
+    "SYSDIR=$(out)/lib/systemd/system"
+    "UDEVDIR=$(out)/lib/udev"
   ];
 
-  # make clean: we always build from source. It should be necessary on x86_64 only
-  preConfigure = ''
-    find -type f | xargs sed 's@/bin/rm@rm@g' -i
-    make clean
+  postFixup = ''
+    wrapProgram $out/bin/usb_modeswitch_dispatcher \
+      --set PATH ${lib.makeBinPath [ utillinux coreutils bash ]}
   '';
 
-  buildInputs = [ libusb1 ];
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libusb1 tcl ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   meta = with stdenv.lib; {
     description = "A mode switching tool for controlling 'multi-mode' USB devices";
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index ed193b9e6cd..8e409ac8ca7 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "1bszrjxwm2pj0ga0s9krp75xdp2yk1qi6rw0315xq57cngmphclw";
+    sha256 = "1cxf7g2kld7jmk6m47fdvmfdyqy1di517qiph55jrq7sm5akp3hy";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index df4c0f2d12c..f1028208dae 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -31,8 +31,8 @@ let
       sha256 = "19slqf5bdj0rrph2w41giwmn6df2qm07942jn058pjkjrnk30d4s";
     };
     mccs = fetchurl {
-      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+10.tar.gz";
-      sha256 = "003kam22plnh88liyxi4d1065j2rys1mpdla20rxps53ah1xwmxg";
+      url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz";
+      sha256 = "0mswapf37rav8nvvbjc4c7c7wnl6qwgd3c5v0nfifmr910qygz72";
     };
     ocamlgraph = fetchurl {
       url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.8.tar.gz";
@@ -55,13 +55,13 @@ let
       sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r";
     };
     opam = fetchurl {
-      url = "https://github.com/ocaml/opam/archive/2.0.5.zip";
-      sha256 = "0arv5zaikvcqbicdk47jpfgvjrqhqm71yq2zmj7pp6zf7bm0js6s";
+      url = "https://github.com/ocaml/opam/archive/2.0.6.zip";
+      sha256 = "076070qwf7rqp5bh0mmgc5b3vyihgp4qpkd6fscxzya4in66bzf8";
     };
   };
 in stdenv.mkDerivation {
   pname = "opam";
-  version = "2.0.5";
+  version = "2.0.6";
 
   buildInputs = [ unzip curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
 
@@ -112,9 +112,9 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A package manager for OCaml";
-    homepage = http://opam.ocamlpro.com/;
+    homepage = "https://opam.ocaml.org/";
     maintainers = [ maintainers.henrytill ];
     platforms = platforms.all;
   };
 }
-# Generated by: ./opam.nix.pl -v 2.0.5 -p opam-shebangs.patch
+# Generated by: ./opam.nix.pl -v 2.0.6 -p opam-shebangs.patch
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index 59a1cd223b5..605d0c41cae 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -64,8 +64,8 @@ print <<"EOF";
       sha256 = "$OPAM_RELEASE_SHA256";
     };
   };
-in stdenv.mkDerivation rec {
-  name = "opam-\${version}";
+in stdenv.mkDerivation {
+  pname = "opam";
   version = "$OPAM_RELEASE";
 
   buildInputs = [ unzip curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
@@ -122,7 +122,7 @@ print <<'EOF';
 
   meta = with stdenv.lib; {
     description = "A package manager for OCaml";
-    homepage = http://opam.ocamlpro.com/;
+    homepage = "https://opam.ocaml.org/";
     maintainers = [ maintainers.henrytill ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 8e0e861fab3..b6d53387552 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -20,16 +20,10 @@ let
 
   getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn;
 
-  getAttrDefault = attribute: set: default: (
-    if builtins.hasAttr attribute set
-    then builtins.getAttr attribute set
-    else default
-  );
-
   # Map SPDX identifiers to license names
   spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses)));
   # Get license by id falling back to input string
-  getLicenseBySpdxId = spdxId: getAttrDefault spdxId spdxLicenses spdxId;
+  getLicenseBySpdxId = spdxId: spdxLicenses.${spdxId} or spdxId;
 
   #
   # Returns an attrset { python, poetryPackages } for the given lockfile
@@ -65,7 +59,7 @@ let
       # closure as python can only ever have one version of a dependency
       baseOverlay = self: super:
         let
-          getDep = depName: if builtins.hasAttr depName self then self."${depName}" else throw "foo";
+          getDep = depName: self.${depName};
 
           lockPkgs = builtins.listToAttrs (
             builtins.map (
@@ -74,7 +68,7 @@ let
                 value = self.mkPoetryDep (
                   pkgMeta // {
                     inherit pwd;
-                    source = getAttrDefault "source" pkgMeta null;
+                    source = pkgMeta.source or null;
                     files = lockFiles.${name};
                     pythonPackages = self;
                   }
@@ -159,12 +153,12 @@ let
       passedAttrs = builtins.removeAttrs attrs specialAttrs;
 
       getDeps = depAttr: let
-        deps = getAttrDefault depAttr pyProject.tool.poetry {};
+        deps = pyProject.tool.poetry.${depAttr} or {};
         depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps);
       in
         builtins.map (dep: py.pkgs."${dep}") depAttrs;
 
-      getInputs = attr: getAttrDefault attr attrs [];
+      getInputs = attr: attrs.${attr} or [];
       mkInput = attr: extraInputs: getInputs attr ++ extraInputs;
 
       buildSystemPkgs = poetryLib.getBuildSystemPkgs {
@@ -189,7 +183,7 @@ let
             python = py;
           };
 
-          postPatch = (getAttrDefault "postPatch" passedAttrs "") + ''
+          postPatch = (passedAttrs.postPatch or "") + ''
             # Tell poetry not to resolve the path dependencies. Any version is
             # fine !
             yj -tj < pyproject.toml | python ${./pyproject-without-path.py} > pyproject.json
@@ -199,7 +193,7 @@ let
 
           meta = meta // {
             inherit (pyProject.tool.poetry) description homepage;
-            license = getLicenseBySpdxId (getAttrDefault "license" pyProject.tool.poetry "unknown");
+            license = getLicenseBySpdxId (pyProject.tool.poetry.license or "unknown");
           };
 
         }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index 559c3051a73..68d854f2648 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -30,22 +30,24 @@ let
     in
       (builtins.foldl' combine initial tokens).state;
 
-  fromTOML = toml: if builtins.hasAttr "fromTOML" builtins then builtins.fromTOML toml else
-    builtins.fromJSON (
-      builtins.readFile (
-        pkgs.runCommand "from-toml"
-          {
-            inherit toml;
-            allowSubstitutes = false;
-            preferLocalBuild = true;
-          }
-          ''
-            ${pkgs.remarshal}/bin/remarshal \
-              -if toml \
-              -i <(echo "$toml") \
-              -of json \
-              -o $out
-          ''
+  fromTOML = builtins.fromTOML or
+    (
+      toml: builtins.fromJSON (
+        builtins.readFile (
+          pkgs.runCommand "from-toml"
+            {
+              inherit toml;
+              allowSubstitutes = false;
+              preferLocalBuild = true;
+            }
+            ''
+              ${pkgs.remarshal}/bin/remarshal \
+                -if toml \
+                -i <(echo "$toml") \
+                -of json \
+                -o $out
+            ''
+        )
       )
     );
   readTOML = path: fromTOML (builtins.readFile path);
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index 256e2d90daa..95543ca7359 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -16,102 +16,112 @@
 , pwd
 , supportedExtensions ? lib.importJSON ./extensions.json
 , ...
-}: let
-
-  inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi;
+}:
 
-  inherit (import ./pep425.nix {
-    inherit lib python;
-    inherit (pkgs) stdenv;
-  }) selectWheel
-    ;
+pythonPackages.callPackage (
+  { preferWheel ? false
+  }:
 
-  fileCandidates = let
-    supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")");
-    matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null;
-    hasSupportedExtension = fname: builtins.match supportedRegex fname != null;
-    isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname;
-  in
-    builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files;
+    let
 
-  toPath = s: pwd + "/${s}";
+      inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi;
 
-  isSource = source != null;
-  isGit = isSource && source.type == "git";
-  isLocal = isSource && source.type == "directory";
+      inherit (import ./pep425.nix {
+        inherit lib python;
+        inherit (pkgs) stdenv;
+      }) selectWheel
+        ;
 
-  localDepPath = toPath source.url;
-  pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml");
+      fileCandidates = let
+        supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")");
+        matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null;
+        hasSupportedExtension = fname: builtins.match supportedRegex fname != null;
+        isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname;
+      in
+        builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files;
 
-  buildSystemPkgs = poetryLib.getBuildSystemPkgs {
-    inherit pythonPackages pyProject;
-  };
+      toPath = s: pwd + "/${s}";
 
-  fileInfo = let
-    isBdist = f: lib.strings.hasSuffix "whl" f.file;
-    isSdist = f: ! isBdist f && ! isEgg f;
-    isEgg = f: lib.strings.hasSuffix ".egg" f.file;
+      isSource = source != null;
+      isGit = isSource && source.type == "git";
+      isLocal = isSource && source.type == "directory";
 
-    binaryDist = selectWheel fileCandidates;
-    sourceDist = builtins.filter isSdist fileCandidates;
-    eggs = builtins.filter isEgg fileCandidates;
+      localDepPath = toPath source.url;
+      pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml");
 
-    lockFileEntry = builtins.head (sourceDist ++ binaryDist ++ eggs);
+      buildSystemPkgs = poetryLib.getBuildSystemPkgs {
+        inherit pythonPackages pyProject;
+      };
 
-    _isEgg = isEgg lockFileEntry;
+      fileInfo = let
+        isBdist = f: lib.strings.hasSuffix "whl" f.file;
+        isSdist = f: ! isBdist f && ! isEgg f;
+        isEgg = f: lib.strings.hasSuffix ".egg" f.file;
 
-  in
-    rec {
-      inherit (lockFileEntry) file hash;
-      name = file;
-      format =
-        if _isEgg then "egg"
-        else if lib.strings.hasSuffix ".whl" name then "wheel"
-        else "setuptools";
-      kind =
-        if _isEgg then python.pythonVersion
-        else if format == "setuptools" then "source"
-        else (builtins.elemAt (lib.strings.splitString "-" name) 2);
-    };
+        binaryDist = selectWheel fileCandidates;
+        sourceDist = builtins.filter isSdist fileCandidates;
+        eggs = builtins.filter isEgg fileCandidates;
 
-  baseBuildInputs = lib.optional (name != "setuptools_scm" && name != "setuptools-scm") pythonPackages.setuptools_scm;
+        entries = (if preferWheel then binaryDist ++ sourceDist else sourceDist ++ binaryDist) ++ eggs;
 
-in
+        lockFileEntry = builtins.head entries;
 
-buildPythonPackage {
-  pname = name;
-  version = version;
+        _isEgg = isEgg lockFileEntry;
 
-  doCheck = false; # We never get development deps
-  dontStrip = true;
-  format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format;
+      in
+        rec {
+          inherit (lockFileEntry) file hash;
+          name = file;
+          format =
+            if _isEgg then "egg"
+            else if lib.strings.hasSuffix ".whl" name then "wheel"
+            else "setuptools";
+          kind =
+            if _isEgg then python.pythonVersion
+            else if format == "setuptools" then "source"
+            else (builtins.elemAt (lib.strings.splitString "-" name) 2);
+        };
 
-  nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else [];
-  buildInputs = baseBuildInputs ++ (if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []);
+      baseBuildInputs = lib.optional (name != "setuptools_scm" && name != "setuptools-scm") pythonPackages.setuptools_scm;
 
-  propagatedBuildInputs =
-    let
-      # Some dependencies like django gets the attribute name django
-      # but dependencies try to access Django
-      deps = builtins.map (d: lib.toLower d) (builtins.attrNames dependencies);
     in
-      (builtins.map (n: pythonPackages.${n}) deps) ++ (if isLocal then buildSystemPkgs else []);
-
-  meta = {
-    broken = ! isCompatible python.version python-versions;
-    license = [];
-  };
-
-  # We need to retrieve kind from the interpreter and the filename of the package
-  # Interpreters should declare what wheel types they're compatible with (python type + ABI)
-  # Here we can then choose a file based on that info.
-  src = if isGit then (
-    builtins.fetchGit {
-      inherit (source) url;
-      rev = source.reference;
-    }
-  ) else if isLocal then (localDepPath) else fetchFromPypi {
-    pname = name;
-    inherit (fileInfo) file hash kind;
-  };
-}
+
+      buildPythonPackage {
+        pname = name;
+        version = version;
+
+        doCheck = false; # We never get development deps
+        dontStrip = true;
+        format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format;
+
+        nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else [];
+        buildInputs = baseBuildInputs ++ (if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []);
+
+        propagatedBuildInputs =
+          let
+            # Some dependencies like django gets the attribute name django
+            # but dependencies try to access Django
+            deps = builtins.map (d: lib.toLower d) (builtins.attrNames dependencies);
+          in
+            (builtins.map (n: pythonPackages.${n}) deps) ++ (if isLocal then buildSystemPkgs else []);
+
+        meta = {
+          broken = ! isCompatible python.version python-versions;
+          license = [];
+        };
+
+        # We need to retrieve kind from the interpreter and the filename of the package
+        # Interpreters should declare what wheel types they're compatible with (python type + ABI)
+        # Here we can then choose a file based on that info.
+        src = if isGit then (
+          builtins.fetchGit {
+            inherit (source) url;
+            rev = source.reference;
+          }
+        ) else if isLocal then (localDepPath) else fetchFromPypi {
+          pname = name;
+          inherit (fileInfo) file hash kind;
+        };
+      }
+
+) {}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 207841fd005..48b8ff9859b 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -5,14 +5,6 @@
 
 self: super:
 
-let
-
-  getAttrDefault = attribute: set: default:
-    if builtins.hasAttr attribute set
-    then builtins.getAttr attribute set
-    else default;
-
-in
 {
   av = super.av.overrideAttrs (
     old: {
@@ -52,7 +44,7 @@ in
   django = (
     super.django.overrideAttrs (
       old: {
-        propagatedNativeBuildInputs = (getAttrDefault "propagatedNativeBuildInputs" old [])
+        propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [])
         ++ [ pkgs.gettext ];
       }
     )
@@ -64,7 +56,7 @@ in
         if ! test -e LICENSE; then
           touch LICENSE
         fi
-      '' + (getAttrDefault "configurePhase" old "");
+      '' + (old.configurePhase or "");
     }
   );
 
@@ -85,6 +77,13 @@ in
     }
   );
 
+  # importlib-metadata has an incomplete dependency specification
+  importlib-metadata = super.importlib-metadata.overrideAttrs (
+    old: {
+      propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional self.python.isPy2 self.pathlib2;
+    }
+  );
+
   lap = super.lap.overrideAttrs (
     old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [
@@ -154,6 +153,11 @@ in
     }
   );
 
+  # Calls Cargo at build time for source builds and is really tricky to package
+  maturin = super.maturin.override {
+    preferWheel = true;
+  };
+
   mccabe = super.mccabe.overrideAttrs (
     old: {
       postPatch = ''
@@ -293,6 +297,93 @@ in
     }
   );
 
+  pyqt5 = super.pyqt5.overridePythonAttrs (
+    old: {
+      format = "other";
+
+      nativeBuildInputs = old.nativeBuildInputs ++ [
+        pkgs.pkgconfig
+        pkgs.qt5.qmake
+        pkgs.xorg.lndir
+        pkgs.qt5.qtbase
+        pkgs.qt5.qtsvg
+        pkgs.qt5.qtdeclarative
+        pkgs.qt5.qtwebchannel
+        # self.pyqt5-sip
+        self.sip
+      ];
+
+      buildInputs = old.buildInputs ++ [
+        pkgs.dbus
+        pkgs.qt5.qtbase
+        pkgs.qt5.qtsvg
+        pkgs.qt5.qtdeclarative
+        self.sip
+      ];
+
+      # Fix dbus mainloop
+      inherit (pkgs.python3.pkgs.pyqt5) patches;
+
+      configurePhase = ''
+        runHook preConfigure
+
+        export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages}
+
+        mkdir -p $out/${self.python.sitePackages}/dbus/mainloop
+        ${self.python.executable} configure.py  -w \
+          --confirm-license \
+          --no-qml-plugin \
+          --bindir=$out/bin \
+          --destdir=$out/${self.python.sitePackages} \
+          --stubsdir=$out/${self.python.sitePackages}/PyQt5 \
+          --sipdir=$out/share/sip/PyQt5 \
+          --designer-plugindir=$out/plugins/designer
+
+        runHook postConfigure
+      '';
+
+      postInstall = ''
+        ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/
+        for i in $out/bin/*; do
+          wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+        done
+
+        # # Let's make it a namespace package
+        # cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py
+        # from pkgutil import extend_path
+        # __path__ = extend_path(__path__, __name__)
+        # EOF
+      '';
+
+      installCheckPhase = let
+        modules = [
+          "PyQt5"
+          "PyQt5.QtCore"
+          "PyQt5.QtQml"
+          "PyQt5.QtWidgets"
+          "PyQt5.QtGui"
+        ];
+        imports = lib.concatMapStrings (module: "import ${module};") modules;
+      in
+        ''
+          echo "Checking whether modules can be imported..."
+          ${self.python.interpreter} -c "${imports}"
+        '';
+
+      doCheck = true;
+
+      enableParallelBuilding = true;
+    }
+  );
+
+  pytest-datadir = super.pytest-datadir.overrideAttrs (
+    old: {
+      postInstall = ''
+        rm -f $out/LICENSE
+      '';
+    }
+  );
+
   python-prctl = super.python-prctl.overrideAttrs (
     old: {
       buildInputs = old.buildInputs ++ [
@@ -340,6 +431,14 @@ in
     }
   );
 
+  vose-alias-method = super.pytest-datadir.overrideAttrs (
+    old: {
+      postInstall = ''
+        rm -f $out/LICENSE
+      '';
+    }
+  );
+
   # Stop infinite recursion by using bootstrapped pkg from nixpkgs
   wheel = (
     pkgs.python3.pkgs.override {
diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
new file mode 100644
index 00000000000..38472ce86f0
--- /dev/null
+++ b/pkgs/development/tools/prospector/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, pkgs
+, python
+}:
+
+let
+  py = python.override {
+    packageOverrides = self: super: {
+      pep8-naming = super.pep8-naming.overridePythonAttrs(oldAttrs: rec {
+        version = "0.4.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0nhf8p37y008shd4f21bkj5pizv8q0l8cpagyyb8gr059d6gvvaf";
+        };
+      });
+    };
+  };
+  setoptconf = py.pkgs.callPackage ./setoptconf.nix { };
+in
+
+with py.pkgs;
+
+buildPythonApplication rec {
+  pname = "prospector";
+  version = "1.2.0";
+  disabled = isPy27;
+
+  src = pkgs.fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "07kb37zrrsriqzcmli0ghx7qb1iwkzh83qsiikl9jy50faby2sjg";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  patchPhase = ''
+    substituteInPlace setup.py \
+      --replace 'pycodestyle<=2.4.0' 'pycodestyle<=2.5.0'
+  '';
+
+  propagatedBuildInputs = [
+    astroid
+    django
+    dodgy
+    mccabe
+    pep8-naming
+    pycodestyle
+    pydocstyle
+    pyflakes
+    pylint
+    pylint-celery
+    pylint-django
+    pylint-flask
+    pyyaml
+    requirements-detector
+    setoptconf
+  ];
+
+  meta = with lib; {
+    description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
+    homepage = "https://github.com/PyCQA/prospector";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/tools/prospector/setoptconf.nix b/pkgs/development/tools/prospector/setoptconf.nix
new file mode 100644
index 00000000000..62b4e95357d
--- /dev/null
+++ b/pkgs/development/tools/prospector/setoptconf.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "setoptconf";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "177l7j68j751i781bgk6pfhxjj7hwqxzdm2ja5fkywbp0275s2sv";
+  };
+
+  # Base tests provided via PyPi are broken
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/setoptconf";
+    description = "A module for retrieving program settings from various sources in a consistant method";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      kamadorueda
+    ];
+  };
+}
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index c85cff2f03a..1a7ec35748b 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -11,11 +11,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.13.0";
+  version = "0.13.1";
   src = fetchgit {
     url = "https://github.com/spacchetti/spago.git";
-    sha256 = "158xq5zn32iwswxmpma92763hl6kzq7kb01cyvphmmlilx55b6yk";
-    rev = "426838670ba9de4593f4c533a6947efb2d8ad4ba";
+    sha256 = "0l6sy1hz5dbnrjkvb2f44afhd48nwqx5kx1h29ns93xbbd57hci8";
+    rev = "b87858609c671d8f3dc78f858ce1d8c492bd1062";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 76302824d9d..8ecdfb6787f 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -4,10 +4,10 @@ with python3;
 
 pkgs.buildPythonApplication rec {
   pname = "pypi2nix";
-  version = "2.0.2";
+  version = "2.0.3";
   src = pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1kynyarqx49j89nxd7rx8mjncg8hkklscfcr36smham7cvj17nsv";
+    sha256 = "0mja8q5lc0lils6s0v0l35knsj7n7779kw246jfmyvkc3l07j8df";
   };
   propagatedBuildInputs = with pkgs; [
     attrs
diff --git a/pkgs/development/tools/rnix-lsp/default.nix b/pkgs/development/tools/rnix-lsp/default.nix
new file mode 100644
index 00000000000..37a1955ce8b
--- /dev/null
+++ b/pkgs/development/tools/rnix-lsp/default.nix
@@ -0,0 +1,22 @@
+{ callPackage, lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rnix-lsp";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "rnix-lsp";
+    rev = "v${version}";
+
+    sha256 = "0fy620c34kxl27sd62x9mj0555bcdmnmbsxavmyiwb497z1m9wnn";
+  };
+
+  cargoSha256 = "1wm5m7b6zr6wg1k59rmqis1zp9i2990p7y0ml852hxv34an7pp5d";
+
+  meta = with lib; {
+    description = "A work-in-progress language server for Nix, with syntax checking and basic completion";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jD91mZM2 ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix
index 32e369251d5..61d2c327d9b 100644
--- a/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wzsc8azxgvavsbsdpd1i6g8i4sp07wn9iayr8dp8072ig5c4fhy";
+    sha256 = "0h535fnmwm1ix08a3ifasppqcm7z4fiwf6kn32vhqqpn7x9vvl53";
   };
 
   cargoSha256 = "1jc1lx0yk8galkyc4a67d39ywsfrgc2sjjsz08p47gpz7228d64w";
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 5d3392fcc38..bcf708735f6 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -5,7 +5,7 @@ name = "aho-corasick"
 version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -38,17 +38,12 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "autocfg"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "backtrace"
-version = "0.3.40"
+version = "0.3.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -86,7 +81,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -104,29 +99,29 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.26.0"
+version = "0.26.1"
 dependencies = [
  "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscriptsdk 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "run_script 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -181,7 +176,7 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.9.1"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -191,7 +186,7 @@ dependencies = [
 
 [[package]]
 name = "constant_time_eq"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -225,28 +220,87 @@ dependencies = [
 
 [[package]]
 name = "duckscript"
-version = "0.1.4"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "duckscriptsdk"
-version = "0.1.5"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding"
+version = "0.2.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-japanese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-korean"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-simpchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-singlebyte"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "encoding-index-tradchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding_index_tests"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "envmnt"
 version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -254,7 +308,7 @@ name = "failure"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -263,7 +317,7 @@ name = "failure_derive"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -341,14 +395,23 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.3.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "java-properties"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -373,7 +436,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "memchr"
-version = "2.2.1"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -414,7 +477,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.7"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -425,12 +488,12 @@ name = "quote"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "rand"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -521,9 +584,9 @@ version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -536,7 +599,7 @@ name = "run_script"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -561,6 +624,14 @@ version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "semver"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -583,7 +654,7 @@ name = "serde_derive"
 version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -606,7 +677,7 @@ name = "syn"
 version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -616,7 +687,7 @@ name = "synstructure"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -632,7 +703,7 @@ dependencies = [
 
 [[package]]
 name = "thread_local"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -650,7 +721,7 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -680,6 +751,16 @@ version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "walkdir"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "wasi"
 version = "0.9.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -699,6 +780,14 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "winapi-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -709,9 +798,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
 "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 "checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 "checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+"checksum backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b4b1549d804b6c73f4817df2ba073709e96e426f12987127c48e6745568c350b"
 "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
@@ -724,13 +812,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f930f8b286023ed451756fe2527d73484d667adf9e905e9932e81d52996a343a"
-"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
+"checksum colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8815e2ab78f3a59928fc32e141fbeece88320a240e43f47b2fd64ea3a88a5b3d"
+"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
 "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-"checksum duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa0a0d525a182f41071f23b8912111e2ef42bab6ceb29794ae253977788b0c0"
-"checksum duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79681ce8de938dfa0af2b38cae1a7fc5e341eac8acadea3578d1c07c3e6b8f29"
+"checksum duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b5394d82936cc15539317618b25d532c7fc36415eb8c1ca4c3fd263c104e6145"
+"checksum duckscriptsdk 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3053a419a5bf69b015c8a9d42d82f2fffdf106f9353384d9f5c1819b68dc6141"
+"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
+"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
+"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
+"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
+"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
+"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
+"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
 "checksum envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "39cdd9fdbf10b8cfa59dd70ef823cbaa83e33b86f4ad291ae67b16f4bd37bc69"
 "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
@@ -744,20 +839,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
 "checksum home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654"
 "checksum hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01b1af8d6d068ba9de1c39c6ff0d879aed20f74873d4d3929a4535000bb07886"
-"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc"
+"checksum java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "caf4418ade5bde22a283a7f2fb537ea397ec102718f259f2630714e7a5b389fa"
 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 "checksum match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
 "checksum meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f79496a5651c8d57cd033c5add8ca7ee4e3d5f7587a4777484640d9cb60392d9"
 "checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce"
 "checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
 "checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
 "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
-"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
+"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
+"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
 "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
 "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
@@ -773,6 +869,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 "checksum rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be941f2b996df7ffaf093366039c9dc182b3ca2e00f3e81df44e08c3611e773d"
 "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
@@ -782,14 +879,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
 "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-"checksum thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88ddf1ad580c7e3d1efff877d972bcc93f995556b9087a5a259630985c88ceab"
+"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
 "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
-"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+"checksum toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
 "checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 "checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 25d700d0445..bbad7ee731b 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "0x17slfih65hj7xc3m847792yhlkpzq2lnbxgc2kwciclyzhjgfd";
+        sha256 = "04h8vr8k790kkn09yrqv7py0sn2fmj4b51c4kjhplr0pcxkbdbdn";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1p20y6a99f5bjmjkwq7jvgmvhg6klkacybq4bc4xq6135qnqhdv8";
+  cargoSha256 = "05m966h58mgq1bm92yfzzpd4ivlv4jh5fy1kfazcfsfw2k0kqmka";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 4ef723c9a1f..ea3382f3e70 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -33,6 +33,8 @@ let
       for gem in "$out"/lib/ruby/gems/*/gems/*; do
         cp -a "$gem/" "$gem.new"
         rm "$gem"
+        # needed on macOS, otherwise the mv yields permission denied 
+        chmod +w "$gem.new"
         mv "$gem.new" "$gem"
       done
     '';
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index 4c7df9b12d8..b3be6c4552d 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, fetchFromGitHub, cmake, python3 }:
+{ stdenv, fetchFromGitHub, cmake, python3, substituteAll }:
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.12";
+  version = "1.0.13";
 
   src = fetchFromGitHub {
-    owner  = "WebAssembly";
-    repo   = "wabt";
-    rev    = version;
-    sha256 = "1zlv3740wkqj4mn6sr84h0x6wk2lcp4pwwmqsh5yyqp1j1glbsa0";
+    owner = "WebAssembly";
+    repo = "wabt";
+    rev = version;
+    sha256 = "07x8m5sf4c7zjq1flypycw1d15ylqdp38l81vn961ds089ngvpgg";
+    fetchSubmodules = true;
   };
 
+  patches = [
+    (substituteAll {
+      src = ./version.patch;
+      inherit version;
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
   buildInputs = [ python3 ];
diff --git a/pkgs/development/tools/wabt/version.patch b/pkgs/development/tools/wabt/version.patch
new file mode 100644
index 00000000000..a49cd0bc155
--- /dev/null
+++ b/pkgs/development/tools/wabt/version.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 363a5660..ad3300ed 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,22 +68,7 @@ endif ()
+ include(CheckTypeSize)
+ check_type_size(ssize_t SSIZE_T)
+ check_type_size(size_t SIZEOF_SIZE_T)
+-
+-FIND_PACKAGE(Git QUIET REQUIRED)
+-EXECUTE_PROCESS(COMMAND
+-        "${GIT_EXECUTABLE}" --git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git describe --tags
+-        RESULT_VARIABLE
+-            GIT_HASH_RESULT
+-        OUTPUT_VARIABLE
+-            GIT_HASH
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
+-IF(${GIT_HASH_RESULT} EQUAL 0)
+-    SET(WABT_VERSION_INFO "${GIT_HASH}")
+-ELSE()
+-    MESSAGE(WARNING "Error running git describe to determine version")
+-    SET(WABT_VERSION_INFO "(unable to determine version)")
+-ENDIF()
++SET(WABT_VERSION_INFO "@version@")
+ 
+ configure_file(
+   ${WABT_SOURCE_DIR}/src/config.h.in
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
new file mode 100644
index 00000000000..0b3824f2ec8
--- /dev/null
+++ b/pkgs/games/mindustry/default.nix
@@ -0,0 +1,106 @@
+{ stdenv
+, makeWrapper
+, makeDesktopItem
+, fetchFromGitHub
+, gradle_5
+, perl
+, jre
+, libpulseaudio
+
+# Make the build version easily overridable.
+# Server and client build versions must match, and an empty build version means
+# any build is allowed, so this parameter acts as a simple whitelist.
+# Takes the package version and returns the build version.
+, makeBuildVersion ? (v: v)
+}:
+
+let
+  pname = "mindustry";
+  # Note: when raising the version, ensure that all SNAPSHOT versions in
+  # build.gradle are replaced by a fixed version
+  # (the current one at the time of release) (see postPatch).
+  version = "102";
+  buildVersion = makeBuildVersion version;
+
+  src = fetchFromGitHub {
+    owner = "Anuken";
+    repo = "Mindustry";
+    rev = "v${version}";
+    sha256 = "0g4zy2zlynv6f427pq1ngnl0zpr6nnih10wd2l8vl9bxwzjygwdr";
+  };
+
+  desktopItem = makeDesktopItem {
+    type = "Application";
+    name = "Mindustry";
+    desktopName = "Mindustry";
+    exec = "mindustry";
+    icon = "mindustry";
+  };
+
+  postPatch = ''
+    # Remove unbuildable iOS stuff
+    sed -i '/^project(":ios"){/,/^}/d' build.gradle
+    sed -i '/robo(vm|VM)/d' build.gradle
+    rm ios/build.gradle
+
+    # Pin 'SNAPSHOT' versions
+    sed -i 's/com.github.anuken:packr:-SNAPSHOT/com.github.anuken:packr:034efe51781d2d8faa90370492133241bfb0283c/' build.gradle
+  '';
+
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    pname = "${pname}-deps";
+    inherit version src postPatch;
+    nativeBuildInputs = [ gradle_5 perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      gradle --no-daemon desktop:dist -Pbuildversion=${buildVersion}
+      gradle --no-daemon server:dist -Pbuildversion=${buildVersion}
+    '';
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "1sscxrr32f2agwz34pm491xqkz7m4bwdc1p3g64kcnl3p6rg7r7k";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname version src postPatch;
+
+  nativeBuildInputs = [ gradle_5 makeWrapper ];
+
+  buildPhase = ''
+    export GRADLE_USER_HOME=$(mktemp -d)
+    # point to offline repo
+    sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle
+    gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion}
+    gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion}
+  '';
+
+  installPhase = ''
+    install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar
+    install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar
+    mkdir $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/mindustry \
+      --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \
+      --add-flags "-jar $out/share/mindustry.jar"
+    makeWrapper ${jre}/bin/java $out/bin/mindustry-server \
+      --add-flags "-jar $out/share/mindustry-server.jar"
+    install -Dm644 core/assets/icons/icon_64.png $out/share/icons/hicolor/64x64/apps/mindustry.png
+    install -Dm644 ${desktopItem}/share/applications/Mindustry.desktop $out/share/applications/Mindustry.desktop
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://mindustrygame.github.io/";
+    downloadPage = "https://github.com/Anuken/Mindustry/releases";
+    description = "A sandbox tower defense game";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index e30065666b0..deca3bec9cc 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.03.0";
+  version = "1.04.1";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
+    sha256 = "1ry861pk3z02hy7i0yi3xwmd1zma802qzcnlm09w6pslayd9rwbf";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 07ca9223bb0..1919383048e 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -4,7 +4,7 @@ let arch = if stdenv.isx86_64 then "x86-64" else
            if stdenv.isi686 then "x86-32" else
            "unknown";
 
-    version = "10";
+    version = "11";
 in
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/official-stockfish/Stockfish/archive/sf_${version}.tar.gz";
-    sha256 = "1lrxqq8fw1wrw5b45r4s3ddd51yr85a2k8a9i1wjvyd6v9vm7761";
+    sha256 = "16di83s79gf9kzdhcal5y0q9d59544gd5xqf1k8bwrqvc36628l0";
   };
 
   postUnpack = "sourceRoot+=/src";
diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix
index f0c40274d9a..ceb90809904 100644
--- a/pkgs/games/teeworlds/default.nix
+++ b/pkgs/games/teeworlds/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "teeworlds";
-  version = "0.7.3.1";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "teeworlds";
     repo = "teeworlds";
     rev = version;
-    sha256 = "1hfj22xxswqnm1s74ln3dwl63rs4mk9g4yvpf75plswbxd0020la";
+    sha256 = "1llrzcc9p8pswk58rj4qh4g67nlji8q2kw3hxh3qpli85jvkdmyx";
     fetchSubmodules = true;
   };
 
@@ -24,11 +24,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ bam pkgconfig ];
 
   configurePhase = ''
+    runHook preConfigure
     bam config
+    runHook postConfigure
   '';
 
   buildPhase = ''
+    runHook preBuild
     bam conf=release
+    runHook postBuild
   '';
 
   installPhase = ''
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 1c40d8f5800..feaf6cabf32 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -12,21 +12,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ultrastardx";
-  version = "2017.8.0";
+  version = "unstable-2019-01-07";
   src = fetchFromGitHub {
     owner = "UltraStar-Deluxe";
     repo = "USDX";
-    rev = "v${version}";
-    sha256 = "1zp0xfwzci3cjmwx3cprcxvm60cik5cvhvrz9n4d6yb8dv38nqzm";
+    rev = "3df142590f29db1505cc58746af9f8cf7cb4a6a5";
+    sha256 = "EpwGKK9B8seF7gRwo3kCeSzFQQW1p8rP4HXeu8/LoyA=";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ fpc libpng ] ++ sharedLibs;
 
-  # https://github.com/UltraStar-Deluxe/USDX/issues/462
   postPatch = ''
     substituteInPlace src/config.inc.in \
-      --subst-var-by lua_LIB_NAME liblua.so \
       --subst-var-by libpcre_LIBNAME libpcre.so.1
   '';
 
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index ecb74f39ab9..a7e080ebce2 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -12,11 +12,11 @@
 let
 
   name = "hplip-${version}";
-  version = "3.19.6";
+  version = "3.19.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "0vfnc6pg7wzs68qn5mlk3cyl969d8n55bydgydq2wzfikvpfvnpw";
+    sha256 = "0mdj0sqgfxjqa550adiw1gn4z9n6wcvn55slivgf0ndn5x89iwxp";
   };
 
   plugin = fetchurl {
@@ -34,12 +34,13 @@ let
     x86_64-linux = "x86_64";
     armv6l-linux = "arm32";
     armv7l-linux = "arm32";
+    aarch64-linux = "aarch64";
   };
 
   hplipArch = hplipPlatforms.${stdenv.hostPlatform.system}
     or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}");
 
-  pluginArches = [ "x86_32" "x86_64" "arm32" ];
+  pluginArches = [ "x86_32" "x86_64" "arm32" "aarch64" ];
 
 in
 
@@ -64,9 +65,7 @@ python3Packages.buildPythonApplication {
     zlib
   ];
 
-  nativeBuildInputs = [
-    pkgconfig
-  ];
+  nativeBuildInputs = [ pkgconfig ];
 
   pythonPath = with python3Packages; [
     dbus
@@ -226,7 +225,7 @@ python3Packages.buildPythonApplication {
     license = if withPlugin
       then licenses.unfree
       else with licenses; [ mit bsd2 gpl2Plus ];
-    platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/misc/drivers/hplip/image-processor.patch b/pkgs/misc/drivers/hplip/image-processor.patch
index ef1040ba08b..30df1d29d97 100644
--- a/pkgs/misc/drivers/hplip/image-processor.patch
+++ b/pkgs/misc/drivers/hplip/image-processor.patch
@@ -1,7 +1,57 @@
-diff --git i/prnt/hpcups/HPCupsFilter.cpp w/prnt/hpcups/HPCupsFilter.cpp
+From 207aa582477dd874d1651db2d0654c5d6adb6e0a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Fri, 20 Dec 2019 13:13:52 +0000
+Subject: [PATCH] remove imageprocessor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ Makefile.am                  |  4 ++--
+ Makefile.in                  |  2 +-
+ prnt/hpcups/HPCupsFilter.cpp | 19 -------------------
+ 3 files changed, 3 insertions(+), 22 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 891660d..484a051 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
+ dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
+ endif #HPLIP_CLASS_DRIVER
+ 
+-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
++dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
+ dist_noinst_SCRIPTS += dat2drv.py install.py  hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
+ 
+ if !HPLIP_CLASS_DRIVER
+@@ -594,7 +594,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
+ 	prnt/hpcups/ImageProcessor.h
+ 
+ hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
++hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+diff --git a/Makefile.in b/Makefile.in
+index 16c39f0..46a767e 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -4814,7 +4814,7 @@ libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
+ @HPCUPS_INSTALL_TRUE@	prnt/hpcups/ImageProcessor.h
+ 
+ @HPCUPS_INSTALL_TRUE@hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
++@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
 index 5b282d8..153ee3a 100644
---- i/prnt/hpcups/HPCupsFilter.cpp
-+++ w/prnt/hpcups/HPCupsFilter.cpp
+--- a/prnt/hpcups/HPCupsFilter.cpp
++++ b/prnt/hpcups/HPCupsFilter.cpp
 @@ -31,7 +31,6 @@
  \*****************************************************************************/
  
@@ -60,3 +110,6 @@ index 5b282d8..153ee3a 100644
      unlink(hpPreProcessedRasterFile);
      return ret_status;
  }
+-- 
+2.24.1
+
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index 45ed31168f0..2176d53628f 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -786,10 +786,11 @@ in with stdenv.lib.licenses;
 
   snes9x = (mkLibRetroCore rec {
     core = "snes9x";
-    src = fetchRetro {
+    src = fetchFromGitHub {
+      owner = "snes9xgit";
       repo = core;
-      rev = "29b78df8c9f0f48ed4605d08a187a134b3b316d6";
-      sha256 = "004h1pkxvbn4zlh8bqs6z17k04jw5wzbwklpgvmb7hbxshsi4qid";
+      rev = "04692e1ee45cc647423774ee17c63208c2713638";
+      sha256 = "09p9m85fxwrrrapjb08rcxknpgq5d6a87arrm1jn94r56glxlcfa";
     };
     description = "Port of SNES9x git to libretro";
     license = "Non-commercial";
diff --git a/pkgs/misc/scream-receivers/default.nix b/pkgs/misc/scream-receivers/default.nix
index 2ca00ccc9ce..6c0f73f1b25 100644
--- a/pkgs/misc/scream-receivers/default.nix
+++ b/pkgs/misc/scream-receivers/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scream-receivers";
-  version = "3.3";
+  version = "3.4";
 
   src = fetchFromGitHub {
     owner = "duncanthrax";
     repo = "scream";
     rev = version;
-    sha256 = "1iqhs7m0fv3vfld7h288j5j0jc5xdihaghd0jd9qrk68mj2g6g9w";
+    sha256 = "1ig89bmzfrm57nd8lamzsdz5z81ks5vjvq3f0xhgm2dk2mrgjsj3";
   };
 
   buildInputs = [ alsaLib ] ++ lib.optional pulseSupport libpulseaudio;
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/duncanthrax/scream";
     license = licenses.mspl;
     platforms = platforms.linux;
-    maintainers = [ maintainers.ivan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 1dcf16585f0..6236b3a71ba 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,27 +1,48 @@
-{stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, curl, vala, python, intltool, fuse, ccnet}:
+{stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, vala, python2, curl, libevent, glib, libsearpc, sqlite, intltool, fuse, ccnet, libuuid }:
 
 stdenv.mkDerivation rec {
-  version = "7.0.2";
   pname = "seafile-shared";
+  version = "7.0.5";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
     rev = "v${version}";
-    sha256 = "0633hhz2cky95y8mvrg9q2cyrnzpnzvn8fcq350wl4a64ij6wa04";
+    sha256 = "162dnm3sf7bkrnyqd8bcb6il6f2cam9gnaxj6d5dn48k77fw9ryc";
   };
 
-  nativeBuildInputs = [ pkgconfig which autoreconfHook vala intltool ];
-  buildInputs = [ python fuse ];
-  propagatedBuildInputs = [ ccnet curl ];
+  nativeBuildInputs = [
+    autoreconfHook
+    vala
+    pkgconfig
+    python2
+    python2.pkgs.wrapPython
+  ];
+
+  buildInputs = [
+    libuuid
+    sqlite
+    libsearpc
+    libevent
+    curl
+  ];
 
   configureFlags = [
     "--disable-server"
     "--disable-console"
   ];
 
+  pythonPath = with python2.pkgs; [
+    future
+    libsearpc
+  ];
+
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
   meta = with stdenv.lib; {
-    homepage = https://github.com/haiwen/seafile;
+    homepage = "https://github.com/haiwen/seafile";
     description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 425ac9a0994..a5e420eadba 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -50,12 +50,12 @@ let
 
   alchemist-vim = buildVimPluginFrom2Nix {
     pname = "alchemist-vim";
-    version = "2019-11-27";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
-      rev = "911eda990ef259d1f035061c5dfb2f44adb2697e";
-      sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m";
+      rev = "a5158d2e731afe3bca25a6a76eb706ff34e155b0";
+      sha256 = "0r1xiw0f46if7whxan2asi1klyijlyaf61p0xg5v81nnh64w6lhs";
     };
   };
 
@@ -193,12 +193,12 @@ let
 
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
-    version = "2019-02-13";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "jlanzarotta";
       repo = "bufexplorer";
-      rev = "162f6031ada3b2d1ad171e02e93f417ee1689176";
-      sha256 = "0ws8yw1s77pb0gm5wvj5w5symx8fqqzcdizds8cg47cfmw97zz1h";
+      rev = "8014787603fff635dfae6afd4dbe9297673a0b39";
+      sha256 = "0drj8q6wg9h08nf517l0dks1fbcnc558zg7dqavxc43maymq5mxm";
     };
   };
 
@@ -424,23 +424,23 @@ let
 
   coc-metals = buildVimPluginFrom2Nix {
     pname = "coc-metals";
-    version = "2020-01-03";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "ckipp01";
       repo = "coc-metals";
-      rev = "a2c71dc75b35251549d1ba2cdb5f9ee286ab9f90";
-      sha256 = "0hzd7m1rli2vgwvykrv9ld5q9na867l5d56fl02d7d3q9ykfn6j7";
+      rev = "b2b3c6e43f8dc0a9353046faacb2cfafe0220228";
+      sha256 = "160y5rz1nhpdlb9j3ximn6ylj0rabkbvl0h7jil95rin60sq91d1";
     };
   };
 
   coc-neco = buildVimPluginFrom2Nix {
     pname = "coc-neco";
-    version = "2019-09-23";
+    version = "2020-01-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-neco";
-      rev = "e6eb1ccc2ab98966fe678107c6da0d4ddfa34f10";
-      sha256 = "14lph4dg7q0s5yjdr8snz9yl7bn6gs42ikizb6mxq43qqfdnxzdx";
+      rev = "e203327ff80c56fc51d85f73df9049455edf1a56";
+      sha256 = "1snfb92pahdfkch0cwhd0pcmia35al518351np2hq8dhbs7fc02n";
     };
   };
 
@@ -523,12 +523,12 @@ let
 
   coc-solargraph = buildVimPluginFrom2Nix {
     pname = "coc-solargraph";
-    version = "2019-08-11";
+    version = "2020-01-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-solargraph";
-      rev = "6a146623192e661e18830c58abe1055fddcf57d7";
-      sha256 = "1mc8jqpgwy5q4jzb5p09j5mal9paq50dl1hsxhg0y5q6rqrr7qhz";
+      rev = "c767dd19c8d07920e10f126b4b71f187c7bdcb6a";
+      sha256 = "014k1sqjfzcr052vnqnr5ccxpw2yr0dfgd0657nwjgbhnpf8qn3s";
     };
   };
 
@@ -545,12 +545,12 @@ let
 
   coc-tabnine = buildVimPluginFrom2Nix {
     pname = "coc-tabnine";
-    version = "2019-12-10";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tabnine";
-      rev = "f72b4f47109918cc6ad43b42ed566bec61feff8e";
-      sha256 = "1jaj6qsascdpdyz0g8yvi7bcxf4jwcrb0766x4dsmfk9r7prxifl";
+      rev = "442c829185ecab2268d1b9fd076c5286bbd39562";
+      sha256 = "0as4b33nnp7anqbxkkja8lp37y4a74b3507zyk3gmmna0my1ca3r";
     };
   };
 
@@ -700,12 +700,12 @@ let
 
   context_filetype-vim = buildVimPluginFrom2Nix {
     pname = "context_filetype-vim";
-    version = "2019-08-17";
+    version = "2020-01-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "context_filetype.vim";
-      rev = "9d495ce4ddfdae8f0b268fcec3a7a5e0062456e8";
-      sha256 = "0g5ixgg8p2vrpjhyy52xln7a5f8rcbglgyir620ynzhz1phdilg4";
+      rev = "cbe3c0069e6a13bd9bfcd9739c0770f7fd4b4ef4";
+      sha256 = "07mnch8vi7snx8jfz32hkg4v4ml2ywb8yn0jycshn317j253fbmj";
     };
   };
 
@@ -808,17 +808,6 @@ let
     };
   };
 
-  defx-icons = buildVimPluginFrom2Nix {
-    pname = "defx-icons";
-    version = "2019-11-03";
-    src = fetchFromGitHub {
-      owner = "kristijanhusak";
-      repo = "defx-icons";
-      rev = "1412fd083eb54ffedb4f3ae32ddc7ce28613a144";
-      sha256 = "1x0xpixbmxm15g5nmsslccdngm14sg86ymy6mywg9xfbnrh1vn0p";
-    };
-  };
-
   defx-git = buildVimPluginFrom2Nix {
     pname = "defx-git";
     version = "2019-12-25";
@@ -830,14 +819,25 @@ let
     };
   };
 
+  defx-icons = buildVimPluginFrom2Nix {
+    pname = "defx-icons";
+    version = "2019-11-03";
+    src = fetchFromGitHub {
+      owner = "kristijanhusak";
+      repo = "defx-icons";
+      rev = "1412fd083eb54ffedb4f3ae32ddc7ce28613a144";
+      sha256 = "1x0xpixbmxm15g5nmsslccdngm14sg86ymy6mywg9xfbnrh1vn0p";
+    };
+  };
+
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2020-01-02";
+    version = "2020-01-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "aa1b5c762bbabaeeb5f3eca976e65bbb2f82a883";
-      sha256 = "0pfsky4i4h769fjmrvy89d9ickkfifvmq0m54c6qhs24bycx0s7j";
+      rev = "2823cfbf37ae86bf20b56a4dacff123c54dc85fa";
+      sha256 = "0hbmdkwfhihjn1sxlznhv6fls8zgfvm7srigw8anxh7zr7rx2qz3";
     };
   };
 
@@ -876,12 +876,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2020-01-05";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "908cd3a3fe5b03783da7186441b2fe0c146f31b3";
-      sha256 = "0qrz0mrrx79525rzab0l1qx3q49531306b05hgqrlkzx9zcppk8l";
+      rev = "22dd7524bef3468af674fb1ecfb3e55ee679ebc0";
+      sha256 = "03cf90kvq337mj151y5m0w5px6h3y6hanfj2bcxwnpwifmjdinij";
     };
   };
 
@@ -919,6 +919,17 @@ let
     };
   };
 
+  deoplete-emoji = buildVimPluginFrom2Nix {
+    pname = "deoplete-emoji";
+    version = "2019-01-20";
+    src = fetchFromGitHub {
+      owner = "fszymanski";
+      repo = "deoplete-emoji";
+      rev = "1dfa2da6ae3ee146ddfbfdba48cf45f0c1d57d7d";
+      sha256 = "0drqbdmy8igq6rv7s2qlxsp391pydcynlr9gkaadzrg7pk4nlgsb";
+    };
+  };
+
   deoplete-fish = buildVimPluginFrom2Nix {
     pname = "deoplete-fish";
     version = "2020-01-02";
@@ -978,12 +989,12 @@ let
 
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-12-24";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "0985ba9f5a5f35521087b9ca0858c96ab3785158";
-      sha256 = "09bfsd217qi1ndfrfrjla1vlhnp8r9q9qirkwjjajbqhk4ws90pm";
+      rev = "7a8c44f423bc4339c092a759abaad40131d2c98a";
+      sha256 = "1gg9j26xq668s4gbww0p2x8pkh3ssbzgyp2hxppk2ws7x8c2cihi";
     };
   };
 
@@ -1020,14 +1031,25 @@ let
     };
   };
 
+  deoplete-zsh = buildVimPluginFrom2Nix {
+    pname = "deoplete-zsh";
+    version = "2019-11-10";
+    src = fetchFromGitHub {
+      owner = "deoplete-plugins";
+      repo = "deoplete-zsh";
+      rev = "92b7afc3804dd17a849b207e184359558ab8f444";
+      sha256 = "0zsbkl82kny1vmfv06iz576xsclbik0xr7ndzpb0ddhw5nfnicfx";
+    };
+  };
+
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-12-27";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "840c46aed8033efe19c7a5a809713c809b4a6bb5";
-      sha256 = "09bivhh6iig9vskia9fz1cz2c6dbn3xf4cgm77z9ppaii00n9wh3";
+      rev = "1e1af97ed05f12ad16104365d40e1f26a3e98a1d";
+      sha256 = "01zgvadp7h47ni9bvvgbg68vxb0hijw670xyps557ii4aadkk28f";
     };
   };
 
@@ -1245,12 +1267,12 @@ let
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2019-12-22";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "76669c3c1d675833f9d89f6496f16a7accc0f40e";
-      sha256 = "0p5z9bljjfnp4kkpf9pb5zwv5l9xdk3aikpfxjj8scafl99k4m5r";
+      rev = "8a6894d6a560497bd35947f55ece381bf4f2d9ed";
+      sha256 = "17f64c3z03g45iw68ir9wszq3bjlk661ccy87g0wxvl2pkcmnk53";
     };
   };
 
@@ -1278,12 +1300,12 @@ let
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2019-12-14";
+    version = "2020-01-09";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "723054642faf15082bbad6a0d6db921918e5db61";
-      sha256 = "0ln5y7jfd4m59ci39zffjmzi9bda0bck7mkxk0i5fyp4whp8jqdr";
+      rev = "40a6ed21bc811e7795c525ce9a4fc689c6b99f60";
+      sha256 = "020g3032gggxllnapqf7nbg5wqjg3c2z190f2jx3cl6z0fswgiwz";
     };
   };
 
@@ -1300,12 +1322,12 @@ let
 
   gist-vim = buildVimPluginFrom2Nix {
     pname = "gist-vim";
-    version = "2019-07-08";
+    version = "2020-01-09";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "gist-vim";
-      rev = "e485c6c24a62b378a2a4c8687e36e7f54ceca18c";
-      sha256 = "1fkm7aada088l9f5rf6fk1valfanwzfrsfip9w4q9w2mqvd7n1kn";
+      rev = "c1f9b5aef7fa68f5151e62ceadbc9a9c48d58962";
+      sha256 = "0q83dqhp3n0hj0mdkvj2kilywpqy512r1vpay0f9z57vkx29grzr";
     };
   };
 
@@ -1531,12 +1553,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2020-01-01";
+    version = "2020-01-10";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "2572136fcb4c9941553dd05504007806613c8946";
-      sha256 = "08fdaxaldbmg76bkj0xni4cpgqiss4cdxnv3jxskwvs6v9dxmbcs";
+      rev = "c0ded0baf2971cec3698d7c799c04ad971a1484d";
+      sha256 = "0bbivgm62a9v28r968dsx174km72an9xxz98r1r4z5krllccilab";
       fetchSubmodules = true;
     };
   };
@@ -1675,12 +1697,12 @@ let
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2019-12-29";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "6e60e3a6575449e08feb27fb3528b55e71fd56e3";
-      sha256 = "054wxj8f23ddqs3mp8rvw2lsplqfyn352zcq6biywbybjm2xphf7";
+      rev = "13a59968c0d76884f2ef1feb27493ba90d62deb0";
+      sha256 = "0g9dfg7y7znj3iiz67323jbflg6d34hq8hc8v4gcjnrinagyydnv";
     };
   };
 
@@ -1928,12 +1950,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-12-20";
+    version = "2020-01-07";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "212c0d8b05ee65b9be77675db147d05abd323a46";
-      sha256 = "0fjmrnmnqjb1r4cxbrlxwpwbm7jgs47wx6pql565946adv5bckh2";
+      rev = "2669c679fa2d39457eba3f84f50404d7994e22cf";
+      sha256 = "1ag11acrg32qgwn0c3lsv7ai0f8hs3hklpnqjx84jb0kb1fqp8s2";
     };
   };
 
@@ -1961,12 +1983,12 @@ let
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2019-12-28";
+    version = "2020-01-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "6cccbd41851f3d8f47c5e225d552a217cede4f3f";
-      sha256 = "0jrdya11fzis746x1s802g2w20v47dhaxlmczb2fv4x3fxfwql5p";
+      rev = "5673f584c06431978a17609865f2adcf5e934be3";
+      sha256 = "05g4dixqn584h6z2w7va676q74fl1839f86wsjfm09kfdlql4n1m";
     };
   };
 
@@ -2038,12 +2060,12 @@ let
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2020-01-02";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "8a14891241e3468f9c13deaa6cf88aebe53b519f";
-      sha256 = "033qnzna0awys5w5wf9sj2gydm433l1919zz9cm984l0nmgmkp29";
+      rev = "ee79ecfb67e4403e54ea59c175ca4d39544395e8";
+      sha256 = "0zny0ycxfkcfj65y8m70spj96lv81fv52s07r8ncfa4bqm9kk9sd";
     };
   };
 
@@ -2102,6 +2124,17 @@ let
     };
   };
 
+  nvim-gdb = buildVimPluginFrom2Nix {
+    pname = "nvim-gdb";
+    version = "2019-10-28";
+    src = fetchFromGitHub {
+      owner = "sakhnik";
+      repo = "nvim-gdb";
+      rev = "aa343ab3089cb520289a614a7b7c71f43134b34a";
+      sha256 = "0qn0mq59x8jdkjvv47g2fjxnagvpa7pb01vl4jjrdwq34639i1bg";
+    };
+  };
+
   nvim-hs-vim = buildVimPluginFrom2Nix {
     pname = "nvim-hs-vim";
     version = "2019-04-14";
@@ -2487,6 +2520,17 @@ let
     };
   };
 
+  salt-vim = buildVimPluginFrom2Nix {
+    pname = "salt-vim";
+    version = "2017-07-01";
+    src = fetchFromGitHub {
+      owner = "saltstack";
+      repo = "salt-vim";
+      rev = "6ca9e3500cc39dd417b411435d58a1b720b331cc";
+      sha256 = "0r79bpl98xcsmkw6dg83cf1ghn89rzsr011zirk3v1wfxclri2c4";
+    };
+  };
+
   self = buildVimPluginFrom2Nix {
     pname = "self";
     version = "2014-05-28";
@@ -2687,12 +2731,12 @@ let
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-11-20";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "39b35b23b952d620b8ec7cabb13110f586663837";
-      sha256 = "1nc3019c969ms6m0hrj5k1kggcvsywn6j7kz0scdwzvfd6bcla6h";
+      rev = "3b756bc1066a6df6b54415f2aa7eceaa67ee1ee4";
+      sha256 = "1c9nsg36an3jyma0bhz6c9ymmcrayim6cxn82g37skl040gksvn4";
     };
   };
 
@@ -2731,12 +2775,12 @@ let
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2020-01-04";
+    version = "2020-01-08";
     src = fetchFromGitHub {
       owner = "majutsushi";
       repo = "tagbar";
-      rev = "3753b235a1163cfbc3b7c417825d1910b2f66100";
-      sha256 = "16nw145n17d9fnwhcp42k85sf2mx2nyp7wy4gllhw48xnwgh6qpb";
+      rev = "3bd3ba403dfaf5868656264f979fc0dc63526afb";
+      sha256 = "1s9y6qxvys393gsql4x5v0y2wfdb8b2a7mv8a39as98msq67a4sx";
     };
   };
 
@@ -2875,12 +2919,12 @@ let
 
   tsuquyomi = buildVimPluginFrom2Nix {
     pname = "tsuquyomi";
-    version = "2019-07-17";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "Quramy";
       repo = "tsuquyomi";
-      rev = "61e16ab1d1cb621385bc9c6a0c5e7744494ec9f5";
-      sha256 = "1w6m69695f4gx7d5fg3bnabhjx1680fvrz44f65jhdh2y2njm68h";
+      rev = "1fc47734abcb272df4321a50e2587c4c9e0a0a1a";
+      sha256 = "0dwc22zhzslgk60slr60rn26ww3ppl52nf6pcbnagxwfzadn5l6z";
     };
   };
 
@@ -2919,12 +2963,12 @@ let
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode-vim";
-    version = "2019-11-06";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "49f79785e7fba0f40519a6b9074dcceb8626f7d5";
-      sha256 = "1k2b4wh0244dx7zinag88wfcwl2x2042z0zsyv9b77w81h8qfdd1";
+      rev = "d450defdb29842e66b779715941a98cbf73736ea";
+      sha256 = "196fi75rvhj0lrzpzkpzvlnrncnjysxj8iww0drc1aawjfkmn1ni";
     };
   };
 
@@ -3216,23 +3260,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2020-01-03";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "66f77d4a77e54946fedaac7d54d02271751eab40";
-      sha256 = "008k8v0nx219lbn0vsc1cwr537lg0gdb9s4d7hjpdq2rhh79zsg3";
+      rev = "8d694cba9c22efe8320a8fbc919a50bd938e7929";
+      sha256 = "17kjbc13rsjaxkpfj0f90v3khzid02rrkcdjss3sqa35f37wn2bz";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2020-01-03";
+    version = "2020-01-07";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "14c3a60ab0f42aa1001d8f32ffaab2c28935a1e7";
-      sha256 = "0k25x599sfaw931p5b83cpqhz5dzjxp01v3qlsi78rhjyw1y83jf";
+      rev = "9cfa14a6b7e2bd923b3f14252091ed35eda188fd";
+      sha256 = "09ap3w0ixbk5yxsyw165kh7lxmrbjlnz16a1z5qpd9d7afbl3k69";
     };
   };
 
@@ -3260,12 +3304,12 @@ let
 
   vim-asterisk = buildVimPluginFrom2Nix {
     pname = "vim-asterisk";
-    version = "2019-09-23";
+    version = "2020-01-07";
     src = fetchFromGitHub {
       owner = "haya14busa";
       repo = "vim-asterisk";
-      rev = "7cf0d8f379babbdbf538aefe3af444ac4ba21dce";
-      sha256 = "0y21ziz36sqa84dy9pv2jnr0ppalxn54bsk82zfc6064h3bqn77r";
+      rev = "66a64172d21fab44312d0d49b22f63eeeaf89b23";
+      sha256 = "1lksnr4mix9y2al2yfysrxqcska3cd82ck89fkjg5zqzb5wz20vs";
     };
   };
 
@@ -3282,12 +3326,12 @@ let
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2019-12-04";
+    version = "2020-01-09";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "354abcd3d533ba07eebc510102870d85d4e2c466";
-      sha256 = "1hngbjj12q5v73smyhsay4irp3q71cxyc60n97ybfik5mmm455nj";
+      rev = "4159c742ed0b547026b9e398ef78b31527b5e167";
+      sha256 = "0yq4jl252bndr45yhqwmv9mzgjsscywm0wn0lqz70xbz9ik69gvk";
     };
   };
 
@@ -3403,12 +3447,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2020-01-01";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "7556c68b1d68b9a2b1b4a9df838cdc4bcf87ba0a";
-      sha256 = "0bi6nbma0bwzvn7l6w88qgr4fbpfbipv936z346sh59dk17j4nv6";
+      rev = "af796cf4084a3d32b85313ccc82675d626d40b59";
+      sha256 = "0pbwirsh8nx0dgf82w1sy6az6mpwdnxzy0ycqrx6qxs6bbf1kf74";
     };
   };
 
@@ -3656,12 +3700,12 @@ let
 
   vim-easymotion = buildVimPluginFrom2Nix {
     pname = "vim-easymotion";
-    version = "2020-01-06";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "easymotion";
       repo = "vim-easymotion";
-      rev = "83a09a19e7a9c51c6ca2e0f90f1dd27ef4c159c6";
-      sha256 = "1xaliyiv80vcsl5gqj40avgdf4384d5xhnvhh0jaklk1hmrdzxgf";
+      rev = "d534ba0d0c211d8228408c88fa3ebde13fecec37";
+      sha256 = "0yc28synqrqjnzgzpmn7ji3nnidb55mm8n27d0kkd2l80bygg8n4";
     };
   };
 
@@ -3700,12 +3744,12 @@ let
 
   vim-elm-syntax = buildVimPluginFrom2Nix {
     pname = "vim-elm-syntax";
-    version = "2019-11-28";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "andys8";
       repo = "vim-elm-syntax";
-      rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5";
-      sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx";
+      rev = "904025e5db117fe292fdb7ae490feff1540696ea";
+      sha256 = "0nm1pzq5qg9mcg0vhvqjbnq20f98njf2yn0sfzlyjgna2ivvjasg";
     };
   };
 
@@ -3865,12 +3909,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2020-01-06";
+    version = "2020-01-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "ddd64fc4c5c5365d56478f100f19898375244890";
-      sha256 = "1b6mw8bb8dc46vjz5qb2v0n5kfvwz4hk7q0frflrsyc6z3pw7hab";
+      rev = "6bc345f6f16aee0dcc361f2f3bf80e4964f461af";
+      sha256 = "0fbbi9gsmrjbff75y0r9zdjcbyc7lf5j9pyski3y5wma4z3l4idr";
     };
   };
 
@@ -3909,12 +3953,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2019-12-03";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "1c53af9a0d3b622af5a62d69ddfc141c841a28c1";
-      sha256 = "0269cjkcx4arq7phyqv80ziafg5p1in5ci7207svixbfdg5hlmfs";
+      rev = "0946c53cfc6edfb8dbf4b25a27d013c0b6ec6619";
+      sha256 = "06n4w9c8w2dyh8nwmlmz4d8hqy4yk9i6w01qa9plbvkhb1lrv21l";
     };
   };
 
@@ -3942,12 +3986,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2020-01-03";
+    version = "2020-01-08";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "ee2071d8e63f9aab98d750a91fcc3358e9987bc9";
-      sha256 = "0a2ac5y8x3lhry5dzq2jbzvryfbvrdvn7bkd2wwm5bf2y9zpkbwk";
+      rev = "810e4b9faf1583443fe2d027d11993fb698b080f";
+      sha256 = "0841030jxifv0x8y4vqz0dvwkxirbynra5iibfgyv485ynhw2l8i";
     };
   };
 
@@ -4427,12 +4471,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-12-30";
+    version = "2020-01-07";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "6cb8410e10f1b6a23adf238c1f93ce19a3eef83a";
-      sha256 = "1zqv58s35qvp53an15mvs7ywvarsqxc0has6yji99jwmjiq68pag";
+      rev = "2384903e1dd6314934f58e3c88b10924dd1bf4f7";
+      sha256 = "0xs64i4g27w8bdmznjilqg5rlrpaw12qiclg1p4l3ryyid27wki7";
     };
   };
 
@@ -5120,12 +5164,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2020-01-03";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "f324a43a5f6a941a55ee992bb852f3c2c504a509";
-      sha256 = "0dgxsn96vw4zgci58lzr4d4d4kwjbk9d52h51ibh3mhsikmpr7xk";
+      rev = "5279654b3e9fc280742d02c9509d4313d9da18e9";
+      sha256 = "0xnml4ayjwf7mzpz64alwygpgccvj4znask76ldw3hxp112fwcah";
     };
   };
 
@@ -5285,23 +5329,23 @@ let
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2020-01-02";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "1df8ac3e1bc33e1c70bd3a1713d8c9cd2eb491e1";
-      sha256 = "0ivkm9vzzfn1iwzkkgk54kn846qnhvsaf8f4nzz3mllirjsl14am";
+      rev = "5ae986685ba479718b3f59263c519976cf9b4c80";
+      sha256 = "1dhgzpjykx9slv6lfbjnyci5ndixisdgym3y8zanhhhjp4nff41b";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-12-07";
+    version = "2020-01-09";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "e9e824cf3f22fa1cddabb7ef739f2481436c3924";
-      sha256 = "0nl1b3zzw3w413lmdl4fhm8ia079hr1rz1kpx7sf0i86lx1c0dcv";
+      rev = "2f4efe7028e493a3d9eb06ccb7e27780b81687b7";
+      sha256 = "1yfpishvgj1zdnhsixzjqnbmvfw8qg908zqnis3gk8s9fmnrw6fz";
     };
   };
 
@@ -5505,12 +5549,12 @@ let
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2019-12-18";
+    version = "2020-01-11";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "d332d08365bc735f60904a4207d650f191598378";
-      sha256 = "0g5lawg641ma216v53ivhbkzpmdqhcmgybb5kh1rz6s991j51ziy";
+      rev = "1b4d7269600a926a394b146f7d39044cd4dafa19";
+      sha256 = "0wknx72x7mbkw9007b6ylp1cpl6jap4kv3y85f9sz2lwlsbbkk4b";
     };
   };
 
@@ -5626,12 +5670,12 @@ let
 
   vimagit = buildVimPluginFrom2Nix {
     pname = "vimagit";
-    version = "2019-07-24";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "jreybert";
       repo = "vimagit";
-      rev = "94762b1356ebdcb8ec486a86f45e69ef77a69465";
-      sha256 = "1p8izqdkx8g1aqmq9a2qm506bs4mvc4xdbzkh2k5xprm5vc14z0s";
+      rev = "bf7b16e99e075b019e56f2fbfb96c493ca3635e2";
+      sha256 = "1f7gvlhrvvkf69y5vfrkvidhx8aa03n1aqmdhk9qjd6sglfg5w0i";
     };
   };
 
@@ -5692,12 +5736,12 @@ let
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc-vim";
-    version = "2019-11-28";
+    version = "2020-01-06";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "89065f62883edb10a99aa1b1640d6d411907316b";
-      sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k";
+      rev = "7425059fe2d9689f8560f1a47590677740669fdd";
+      sha256 = "1rp5jq4jv8zga98pw62635mby0sgw0inzknlwcdy0f2lfbdvaq8g";
     };
   };
 
@@ -5714,12 +5758,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-12-31";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "020206fbe1f6981855a3fe2f96ef893db782d4b8";
-      sha256 = "113d1zdmx3vhjig4xrp1kqlzapdhygis2ky2paww42j22vakqywc";
+      rev = "aabfcf9e0c95bc08125aefaeb9fdfc9be04913c5";
+      sha256 = "0d7sv6f8iafwm891vl4wlsv93jfqjckmsrg2k9rfynk737vsmvp5";
     };
   };
 
@@ -5736,12 +5780,12 @@ let
 
   vimwiki = buildVimPluginFrom2Nix {
     pname = "vimwiki";
-    version = "2020-01-04";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "vimwiki";
       repo = "vimwiki";
-      rev = "b90e6f2e3343277faca65156d733f725f76f1e53";
-      sha256 = "1z3mj73iqh4h3wx5cq4k7gp2nkbaj85v665v0phqw42c213064nb";
+      rev = "64c9f3d36d632b1657616c06ea8f08f14cf6438d";
+      sha256 = "0wwfl0bafwh9p8lzic75d0nl6v5dnpfid7fbiffr0i72agp0gcq7";
     };
   };
 
@@ -5758,12 +5802,12 @@ let
 
   vista-vim = buildVimPluginFrom2Nix {
     pname = "vista-vim";
-    version = "2020-01-06";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "dcf134c83a6a3f9618a97cafab5b7fb1f1df3f84";
-      sha256 = "0w9q69a2k8a39b8zrd3sildisrdskbk6cgvbkmb3fqsr0zdzjxzv";
+      rev = "221893d85d2e8ed5ec51da12bf23d2e5bada57cf";
+      sha256 = "1ggwkmi6haj7hayiki3nd9vrc14l4z1912jd06w22hmyl86926x9";
     };
   };
 
@@ -5835,12 +5879,12 @@ let
 
   xptemplate = buildVimPluginFrom2Nix {
     pname = "xptemplate";
-    version = "2019-10-29";
+    version = "2020-01-07";
     src = fetchFromGitHub {
       owner = "drmingdrmer";
       repo = "xptemplate";
-      rev = "4dabcf320f18e33923dbcf793d3c04330dcb79a1";
-      sha256 = "07sr3ixlgfv0sql48fxvyimwdb8xr3iklmzfxb5wxfxgvhr4xbs8";
+      rev = "9cd1c622a5a7cc383ae3df2cec2bac5cb102fa7f";
+      sha256 = "01szas3gv4zw1v6c8yp5p2hygf3fqmpx0y2h6sn8696pfph7vjk3";
     };
   };
 
@@ -5868,12 +5912,12 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2020-01-06";
+    version = "2020-01-13";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "48184a10ecdda3efce0131aa73495f1edc449a33";
-      sha256 = "0nsdq17r2m2pmnz077rliqdlwk5sn1aj3bxl648bsli7rjacgaqq";
+      rev = "976d10ee24ce4d8790bcd80b3f7c6b8bbc9ec76d";
+      sha256 = "0f3kgb07js6pjr6p03iyspn5k852y5b90w1ylas7lbgz32a1f3hp";
       fetchSubmodules = true;
     };
   };
@@ -5925,12 +5969,12 @@ let
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2020-01-02";
+    version = "2020-01-12";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
-      rev = "7b644a313bf3e32a3b0c4616660d61f5ec8872d9";
-      sha256 = "1icv1qa4wf1kaknfs045m8md2938qggzl6a5wf76lcn1iw5nr1cc";
+      rev = "2a1de0f764e42f8b76daafc24249d6cb4a743c16";
+      sha256 = "0lbry8s34ld97m05q091q2dmpfkn8k6nsj0q1vrbrsml5i5xig9c";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 3c097c63fde..cb2eebf5ea3 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -64,6 +64,7 @@ davidhalter/jedi-vim
 dcharbon/vim-flatbuffers
 deoplete-plugins/deoplete-dictionary
 deoplete-plugins/deoplete-jedi
+deoplete-plugins/deoplete-zsh
 derekelkins/agda-vim
 derekwyatt/vim-scala
 dhruvasagar/vim-table-mode
@@ -98,6 +99,7 @@ floobits/floobits-neovim
 freitass/todo.txt-vim
 frigoeu/psc-ide-vim
 fsharp/vim-fsharp
+fszymanski/deoplete-emoji
 garbas/vim-snipmate
 gentoo/gentoo-syntax
 gibiansky/vim-textobj-haskell
@@ -377,6 +379,8 @@ rust-lang/rust.vim
 ryanoasis/vim-devicons
 Rykka/riv.vim
 ryvnf/readline.vim
+sakhnik/nvim-gdb
+saltstack/salt-vim
 samoshkin/vim-mergetool
 sbdchd/neoformat
 scrooloose/nerdcommenter
diff --git a/pkgs/misc/vscode-extensions/python/default.nix b/pkgs/misc/vscode-extensions/python/default.nix
index 00f97f37307..553dbc30645 100644
--- a/pkgs/misc/vscode-extensions/python/default.nix
+++ b/pkgs/misc/vscode-extensions/python/default.nix
@@ -23,14 +23,14 @@ let
     else throw "Only x86_64 Linux and Darwin are supported.";
 
   languageServerSha256 = {
-    linux-x64 = "1w3y0sn6ijk1vspi4lailg1q1iy9lwslhx92c7jbrrkiaszvaqwn";
-    osx-x64 = "11l4fic8cvgh1l3dq6qxi51pwhcic79zf13rhyajl5w5g13caafp";
+    linux-x64 = "159xfhpvqw6k8s5bk5jw3aydn6v61fbanq2mvddxcrf5hwf8cj8h";
+    osx-x64 = "0xjh1h77axbbyxikqkhq885n97srm0f15s4976pm1rka03zvd0bg";
   }.${arch};
 
   # version is languageServerVersion in the package.json
   languageServer = extractNuGet rec {
     name = "Python-Language-Server";
-    version = "0.4.24";
+    version = "0.4.71";
 
     src = fetchurl {
       url = "https://pvsc.azureedge.net/python-language-server-stable/${name}-${arch}.${version}.nupkg";
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 72f3b1fbd9c..42f959a6157 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gp8xbhd5pmcl95izhpvw9gxfcsbv5f80s6q39l4y3z9j734rb8j";
+    sha256 = "1yrjm8lvvz3v4h5af6m9qzq6z4lbgd7qbvq5rz7sjhdsh7g6qibd";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/facetimehd/default.nix b/pkgs/os-specific/linux/facetimehd/default.nix
index d65018c600e..99e72c33983 100644
--- a/pkgs/os-specific/linux/facetimehd/default.nix
+++ b/pkgs/os-specific/linux/facetimehd/default.nix
@@ -16,9 +16,9 @@ let
   #       still works.
   srcParams = if (stdenv.lib.versionAtLeast kernel.version "4.8") then
     { # Use mainline branch
-      version = "unstable-2016-10-09";
-      rev = "887d0f531ef7b91457be519474136c3355c5132b";
-      sha256 = "0bayahnxar1q6wvf9cb6p8gsfw98w0wqp715hs4r7apmddwk9v7n";
+      version = "unstable-2019-12-10";
+      rev = "ea832ac486afb6dac9ef59aa37e90f332ab7f05a";
+      sha256 = "1dg2i558hjnjnyk53xyg0ayykqaial9bm420v22s9a3khzzjnwq3";
     }
   else
     { # Use master branch (broken on 4.8)
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 28528f48efb..5a1337b0998 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.60";
+    version="0.9.62";
     name="${baseName}-${version}";
     url="mirror://sourceforge/firejail/firejail/firejail-${version}.tar.xz";
-    sha256="1mw2s040wbxaj4lqfm6033wxrxlnix40mqc2bsfran5sj2gxd3sh";
+    sha256="1q2silgy882fl61p5qa9f9jqkxcqnwa71jig3c729iahx4f0hs05";
   };
   buildInputs = [
     which
@@ -36,10 +36,10 @@ stdenv.mkDerivation {
     sed -e "s@/etc/@$out/etc/@g" -e "/chmod u+s/d" -i Makefile
   '';
 
-  # We need to set the directory for the .local override files back to
+  # We need to set the directory for the .local override files to
   # /etc/firejail so we can actually override them
   postInstall = ''
-    sed -E -e 's@^include (.*)(/firejail/.*.local)$@include /etc\2@g' -i $out/etc/firejail/*.profile
+    sed -E -e 's@^include (.*.local)$@include /etc/firejail/\1@g' -i $out/etc/firejail/*.profile
   '';
 
   # At high parallelism, the build sometimes fails with:
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 4701dca2e90..71b626479ba 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.163";
+  version = "4.14.166";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0jdh54rqdsb3b908v2q4xjn8y45b7rdnwgab0s4qf5alznfcqagb";
+    sha256 = "003wax7dsahlv1iv9yqhkjbxx20crmwyd9464cx974i03a0vzclb";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 73852c4846d..fc0caad7406 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.94";
+  version = "4.19.97";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0rvlz94mjl7ygpmhz0yn2whx9dq9fmy0w1472bj16hkwbaki0an6";
+    sha256 = "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg";
   };
 } // (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 2ee7241396f..0651232f91f 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, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.208";
+  version = "4.4.210";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "03jj91z5dc0ybpjy9w6aanb3k53gcj7gsjc32h3ldf72hlmgz6aq";
+    sha256 = "1pg754s3138d2lq5y2zd1z7dagdy8pl4ifmp0754sa1rkjd3h0ns";
   };
 } // (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 e95a0d98139..7c649bd9b57 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, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.208";
+  version = "4.9.210";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0njjw1i8dilihn1hz62zra4b9y05fb3r2k2sqlkd0wfn86c1rbdp";
+    sha256 = "04skcbbp1yv54hwipa1pjx04lb21013r0lh2swycq0kdhc1m54d0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
deleted file mode 100644
index d83f0fb9813..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
-
-with stdenv.lib;
-
-buildLinux (args // rec {
-  version = "5.3.18";
-
-  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
-
-  # branchVersion needs to be x.y
-  extraMeta.branch = versions.majorMinor version;
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90";
-  };
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 00ab0accbdd..9b1ebeeb489 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.10";
+  version = "5.4.13";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1p9f0h9fl1xy13dag1x7j2ic8kdv0zsp42c8baxn7cz3llc04g7j";
+    sha256 = "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 799a84d96df..5102a1c2086 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "17185";
-    sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789";
+    rev = "17198";
+    sha256 = "0cr7jpag6kr3iili5zmv1iimi5a1c175dcj8qvhcspwkbv7f17mp";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index dcb274c9254..b6231b5a972 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.5-rc3";
+  version = "5.5-rc6";
   extraMeta.branch = "5.5";
 
   # modDirVersion needs to be x.y.z, will always add .0
@@ -11,7 +11,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1rf394d1d6c0mvf6006gq1bscq3jjcvj9xxmdwallfwpp9igs8id";
+    sha256 = "0y4rsxynn0qprrsxy4v5vr4ihhavn43yqqp1qfrrxsfw15djncc2";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/update-libre.sh b/pkgs/os-specific/linux/kernel/update-libre.sh
index 3b8a00edcda..aea12df55cc 100755
--- a/pkgs/os-specific/linux/kernel/update-libre.sh
+++ b/pkgs/os-specific/linux/kernel/update-libre.sh
@@ -6,6 +6,7 @@ nixpkgs="$(git rev-parse --show-toplevel)"
 path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix"
 
 old_rev="$(grep -o 'rev = ".*"' "$path" | awk -F'"' '{print $2}')"
+old_sha256="$(grep -o 'sha256 = ".*"' "$path" | awk -F'"' '{print $2}')"
 
 svn_url=https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/
 rev="$(curl -s "$svn_url" | grep -Em 1 -o 'Revision [0-9]+' | awk '{print $2}')"
@@ -17,10 +18,16 @@ fi
 
 sha256="$(QUIET=1 nix-prefetch-svn "$svn_url" "$rev" | tail -1)"
 
+if [ "$old_sha256" = "$sha256" ]; then
+    echo "No updates for linux-libre"
+    exit 0
+fi
+
 sed -i -e "s/rev = \".*\"/rev = \"$rev\"/" \
     -e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" "$path"
 
-if [ -n "$COMMIT" ]; then
-    git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path"
+if [ -n "${COMMIT-}" ]; then
+    git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path" \
+       $nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
     echo "Updated linux_latest-libre $old_rev -> $rev"
 fi
diff --git a/pkgs/os-specific/linux/rfkill/udev.nix b/pkgs/os-specific/linux/rfkill/udev.nix
index 41dd3da9d31..0575c46e28e 100644
--- a/pkgs/os-specific/linux/rfkill/udev.nix
+++ b/pkgs/os-specific/linux/rfkill/udev.nix
@@ -8,18 +8,18 @@
 #   udev.packages = [ pkgs.rfkill_udev ];
 #
 # Add a hook script in the managed etc directory, e.g.:
-#   etc = [
-#     { source = pkgs.writeScript "rtfkill.hook" ''
-#         #!${pkgs.runtimeShell}
+#   etc."rfkill.hook" = {
+#     mode = "0755";
+#     text = ''
+#       #!${pkgs.runtimeShell}
 #
-#         if [ "$RFKILL_STATE" -eq "1" ]; then
-#           exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on
-#         else
-#           exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-off
-#         fi
-#       '';
-#       target = "rfkill.hook";
-#     }
+#       if [ "$RFKILL_STATE" -eq "1" ]; then
+#         exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on
+#       else
+#         exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-off
+#       fi
+#     '';
+#   }
 
 # Note: this package does not need the binaries
 # in the rfkill package.
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index 8631ddf01d0..ed901b21ac1 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchFromGitHub, fetchurl, nasm, perl, python, libuuid, mtools, makeWrapper }:
+{ stdenv, fetchFromRepoOrCz, fetchurl, nasm, perl, python3, libuuid, mtools, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "syslinux-2015-11-09";
+  name = "syslinux-2019-02-07";
 
-  src = fetchFromGitHub {
-    owner = "geneC";
+  # This is syslinux-6.04-pre3^1; syslinux-6.04-pre3 fails to run.
+  # Same issue here https://www.syslinux.org/archives/2019-February/026330.html
+  src = fetchFromRepoOrCz {
     repo = "syslinux";
-    rev = "0cc9a99e560a2f52bcf052fd85b1efae35ee812f";
-    sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw";
+    rev = "b40487005223a78c3bb4c300ef6c436b3f6ec1f7";
+    sha256 = "1qrxl1114sr2i2791z9rf8v53g200aq30f08808d7i8qnmgvxl2w";
   };
 
   patches = let
@@ -15,12 +16,13 @@ stdenv.mkDerivation {
       "https://salsa.debian.org/images-team/syslinux/raw/${commit}/debian/patches/"
       + patchName;
   in [
-    ./perl-deps.patch
     (fetchurl {
-      # ldlinux.elf: Not enough room for program headers, try linking with -N
-      name = "not-enough-room.patch";
-      url = mkURL "a556ad7" "0014_fix_ftbfs_no_dynamic_linker.patch";
-      sha256 = "0ijqjsjmnphmvsx0z6ppnajsfv6xh6crshy44i2a5klxw4nlvrsw";
+      url = mkURL "fa1349f1" "0002-gfxboot-menu-label.patch";
+      sha256 = "06ifgzbpjj4picpj17zgprsfi501zf4pp85qjjgn29i5rs291zni";
+    })
+    (fetchurl {
+      url = mkURL "477e56d2" "0005-gnu-efi-version-compatibility.patch";
+      sha256 = "041568b4abb79wynyps1n04lg4fr26rc3sbjncz99pp0mbz0ajlm";
     })
     (fetchurl {
       # mbr.bin: too big (452 > 440)
@@ -33,20 +35,22 @@ stdenv.mkDerivation {
       url = mkURL "012e1dd312eb" "0017-single-load-segment.patch";
       sha256 = "0azqzicsjw47b9ppyikhzaqmjl4lrvkxris1356bkmgcaiv6d98b";
     })
+    (fetchurl {
+      url = mkURL "26f0e7b2" "0018-prevent-pow-optimization.patch";
+      sha256 = "1c8g0jz5yj9a0rsmryx9vdjsw4hw8mjfcg05c9pmyjg85w3dfp3m";
+    })
   ];
 
   postPatch = ''
     substituteInPlace Makefile --replace /bin/pwd $(type -P pwd)
-    substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo)
     substituteInPlace utils/ppmtolss16 --replace /usr/bin/perl $(type -P perl)
-    substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl)
 
     # fix tests
     substituteInPlace tests/unittest/include/unittest/unittest.h \
       --replace /usr/include/ ""
   '';
 
-  nativeBuildInputs = [ nasm perl python ];
+  nativeBuildInputs = [ nasm perl python3 ];
   buildInputs = [ libuuid makeWrapper ];
 
   enableParallelBuilding = false; # Fails very rarely with 'No rule to make target: ...'
diff --git a/pkgs/os-specific/linux/syslinux/perl-deps.patch b/pkgs/os-specific/linux/syslinux/perl-deps.patch
deleted file mode 100644
index 82c9820809e..00000000000
--- a/pkgs/os-specific/linux/syslinux/perl-deps.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-http://git.ipxe.org/ipxe.git/commitdiff/719b498
-
-diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios
---- syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios	2010-07-21 21:33:13.000000000 +0200
-+++ syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios	2010-08-06 23:32:57.000000000 +0200
-@@ -24,11 +24,11 @@
- 
- # Padding rules
- #
--PAD_rom		= $(PADIMG) --blksize=512 --byte=0xff $@
-+PAD_rom		= $(PERL) $(PADIMG) --blksize=512 --byte=0xff $@
- PAD_hrom	= $(PAD_rom)
- PAD_xrom	= $(PAD_rom)
--PAD_dsk		= $(PADIMG) --blksize=512 $@
--PAD_hd		= $(PADIMG) --blksize=32768 $@
-+PAD_dsk		= $(PERL) $(PADIMG) --blksize=512 $@
-+PAD_hd		= $(PERL) $(PADIMG) --blksize=32768 $@
- 
- # rule to make a non-emulation ISO boot image
- NON_AUTO_MEDIA	+= iso
-diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile syslinux-4.02/gpxe/src/Makefile
---- syslinux-4.02-orig/gpxe/src/Makefile	2010-07-21 21:33:13.000000000 +0200
-+++ syslinux-4.02/gpxe/src/Makefile	2010-08-06 23:31:15.000000000 +0200
-@@ -31,12 +31,12 @@
- OBJCOPY		:= $(CROSS_COMPILE)objcopy
- NM		:= $(CROSS_COMPILE)nm
- OBJDUMP		:= $(CROSS_COMPILE)objdump
--PARSEROM	:= $(PERL) ./util/parserom.pl
--MAKEROM		:= $(PERL) ./util/makerom.pl
--SYMCHECK	:= $(PERL) ./util/symcheck.pl
--SORTOBJDUMP	:= $(PERL) ./util/sortobjdump.pl
--PADIMG		:= $(PERL) ./util/padimg.pl
--LICENCE		:= $(PERL) ./util/licence.pl
-+PARSEROM	:= ./util/parserom.pl
-+MAKEROM		:= ./util/makerom.pl
-+SYMCHECK	:= ./util/symcheck.pl
-+SORTOBJDUMP	:= ./util/sortobjdump.pl
-+PADIMG		:= ./util/padimg.pl
-+LICENCE		:= ./util/licence.pl
- NRV2B		:= ./util/nrv2b
- ZBIN		:= ./util/zbin
- ELF2EFI32	:= ./util/elf2efi32
-diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile.housekeeping syslinux-4.02/gpxe/src/Makefile.housekeeping
---- syslinux-4.02-orig/gpxe/src/Makefile.housekeeping	2010-07-21 21:33:13.000000000 +0200
-+++ syslinux-4.02/gpxe/src/Makefile.housekeeping	2010-08-06 23:31:49.000000000 +0200
-@@ -456,7 +456,7 @@
- 		 '\n$(2) : $$($(4)_DEPS)\n' \
- 		 '\nTAGS : $$($(4)_DEPS)\n' \
- 		>> $(2)
--	@$(PARSEROM) $(1) >> $(2)
-+	@$(PERL) $(PARSEROM) $(1) >> $(2)
- 
- endef
- 
-@@ -657,7 +657,7 @@
- 	$(QM)$(ECHO) "  [LD] $@"
- 	$(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $(BLIB) -o $@ \
- 		-Map $(BIN)/$*.tmp.map
--	$(Q)$(OBJDUMP) -ht $@ | $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
-+	$(Q)$(OBJDUMP) -ht $@ | $(PERL) $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
- 
- # Keep intermediate object file (useful for debugging)
- .PRECIOUS : $(BIN)/%.tmp
-@@ -714,7 +714,7 @@
- 		echo "files are missing a licence declaration:" ;\
- 		echo $(call unlicensed_deps_list,$<);\
- 		exit 1,\
--		$(LICENCE) $(call licence_list,$<))
-+		$(PERL) $(LICENCE) $(call licence_list,$<))
- 
- # Extract compression information from intermediate object file
- #
-@@ -941,7 +941,7 @@
- CLEANUP	+= $(BIN)/symtab
- 
- symcheck : $(SYMTAB)
--	$(SYMCHECK) $<
-+	$(PERL) $(SYMCHECK) $<
- 
- endif # defined(BIN)
- 
diff --git a/pkgs/os-specific/linux/unstick/default.nix b/pkgs/os-specific/linux/unstick/default.nix
new file mode 100644
index 00000000000..cca6e6210cb
--- /dev/null
+++ b/pkgs/os-specific/linux/unstick/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub, meson, ninja, pkgconfig, libseccomp }:
+
+stdenv.mkDerivation rec {
+  name = "unstick";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "kwohlfahrt";
+    repo = name;
+    rev = "effee9aa242ca12dc94cc6e96bc073f4cc9e8657";
+    sha256 = "08la3jmmzlf4pm48bf9zx4cqj9gbqalpqy0s57bh5vfsdk74nnhv";
+  };
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = [ libseccomp ];
+
+  meta = {
+    homepage = "https://github.com/kwohlfahrt/unstick";
+    description = "Silently eats chmod commands forbidden by Nix";
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ kwohlfahrt ];
+  };
+}
diff --git a/pkgs/os-specific/linux/zenpower/default.nix b/pkgs/os-specific/linux/zenpower/default.nix
new file mode 100644
index 00000000000..8fdf7f23cf8
--- /dev/null
+++ b/pkgs/os-specific/linux/zenpower/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, kernel, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "zenpower";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "ocerman";
+    repo = "zenpower";
+    rev = "v${version}";
+    sha256 = "1ay1q666bc7czgc95invw523c0ds2gj85wxypc3wi418vfaha5vy";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = "KERNEL_BUILD=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+
+  installPhase = ''
+    install -D zenpower.ko -t "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hwmon/zenpower/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs.";
+    homepage = "https://github.com/ocerman/zenpower";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ alexbakker ];
+    platforms = platforms.linux;
+    broken = versionOlder kernel.version "4.14";
+  };
+}
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index f1838f2a2cb..868fd3a6d56 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, erlang, elixir, python, libxml2, libxslt, xmlto
 , docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync, getconf, socat
+, procps, coreutils, gnused, systemd, glibcLocales
 , AppKit, Carbon, Cocoa
 }:
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ erlang elixir python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ]
+    [ erlang elixir python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync glibcLocales ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   outputs = [ "out" "man" "doc" ];
@@ -23,15 +24,31 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=$(out)" "RMQ_ERLAPP_DIR=$(out)" ];
   installTargets = [ "install" "install-man" ];
 
-  runtimePath = stdenv.lib.makeBinPath [getconf erlang socat];
+  preBuild = ''
+    export LANG=C.UTF-8 # fix elixir locale warning
+  '';
+
+  runtimePath = stdenv.lib.makeBinPath [
+    erlang
+    getconf # for getting memory limits
+    socat systemd procps # for systemd unit activation check
+    gnused coreutils # used by helper scripts
+  ];
   postInstall = ''
-    echo 'PATH=${runtimePath}:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
+    # rabbitmq-env calls to sed/coreutils, so provide everything early
+    sed -i $out/sbin/rabbitmq-env -e '2s|^|PATH=${runtimePath}\''${PATH:+:}\$PATH/\n|'
+
+    # rabbitmq-server script uses `dirname` to get hold of a
+    # rabbitmq-env, so let's provide this file directly. After that
+    # point everything is OK - the PATH above will kick in
+    substituteInPlace $out/sbin/rabbitmq-server \
+      --replace '`dirname $0`/rabbitmq-env' \
+                "$out/sbin/rabbitmq-env"
 
-    # we know exactly where rabbitmq is gonna be,
-    # so we patch that into the env-script
-    substituteInPlace $out/sbin/rabbitmq-env \
-      --replace 'RABBITMQ_SCRIPTS_DIR=`dirname $SCRIPT_PATH`' \
-                "RABBITMQ_SCRIPTS_DIR=$out/sbin"
+    # We know exactly where rabbitmq is gonna be, so we patch that into the env-script.
+    # By doing it early we make sure that auto-detection for this will
+    # never be executed (somewhere below in the script).
+    sed -i $out/sbin/rabbitmq-env -e "2s|^|RABBITMQ_SCRIPTS_DIR=$out/sbin\n|"
 
     # there’s a few stray files that belong into share
     mkdir -p $doc/share/doc/rabbitmq-server
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index ae083f17ada..c36ca2f8f50 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ];
 
-  configureFlags = ["--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}"];
+  configureFlags = if !stdenv.isDarwin
+    then [ "--with-libc=libc.so.6" ]
+    else [ "--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}" ];
 
   dontAddDisableDepTrack = stdenv.isDarwin;
 
diff --git a/pkgs/servers/ftp/bftpd/default.nix b/pkgs/servers/ftp/bftpd/default.nix
index e7c22904cea..34757462a17 100644
--- a/pkgs/servers/ftp/bftpd/default.nix
+++ b/pkgs/servers/ftp/bftpd/default.nix
@@ -5,11 +5,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "5.2";
+  version = "5.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz";
-    sha256 = "0kmavljj3zwpgdib9nb14fnriiv0l9zm3hglimcyz26sxbw5jqky";
+    sha256 = "19fd9r233wkjk8gdxn6qsjgfijiw67a48xhgbm2kq46bx80yf3pg";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/home-assistant/esphome.nix b/pkgs/servers/home-assistant/esphome.nix
index 27dabd2a2eb..12b36de4965 100644
--- a/pkgs/servers/home-assistant/esphome.nix
+++ b/pkgs/servers/home-assistant/esphome.nix
@@ -3,27 +3,26 @@
 let
   python = python3.override {
     packageOverrides = self: super: {
-      tornado = super.tornado.overridePythonAttrs (oldAttrs: rec {
-        version = "5.1.1";
+      protobuf = super.protobuf.override {
+        protobuf = protobuf3_10;
+      };
+      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+        version = "5.1.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409";
+          sha256 = "1r5faspz73477hlbjgilw05xsms0glmsa371yqdd26znqsvg1b81";
         };
       });
-      protobuf = super.protobuf.override {
-        protobuf = protobuf3_10;
-      };
-
     };
   };
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.14.1";
+  version = "1.14.3";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1hw1q2fck9429077w207rk65a1krzyi6qya5pzjkpw4av5s0v0g3";
+    sha256 = "0xnsl000c5a2li9qw9anrzzq437qn1n4hcfc24i4rfq37awzmig7";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index d5da6df8d68..252365098dd 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
   prePatch = ''
     sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|"
     sed -i support/apachectl.in -e 's|@LYNX_PATH@|${lynx}/bin/lynx|'
+    sed -i support/apachectl.in -e 's|$HTTPD -t|$HTTPD -t -f /etc/httpd/httpd.conf|'
   '';
 
   # Required for ‘pthread_cancel’.
diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix
index f692832e882..9cd9a6b7fec 100644
--- a/pkgs/servers/http/lwan/default.nix
+++ b/pkgs/servers/http/lwan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lwan";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "lpereira";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mckryzb06smky0bx2bkqwqzpnq4pb8vlgmmwsvqmwi4mmw9wmi1";
+    sha256 = "1z1g6bmdsf7zj809sq6jqkpzkdnx1jch84kk67h0v2x6lxhdpv5r";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index b1116dc4a95..6da342ae880 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, unzip, sqlite, makeWrapper, dotnet-sdk, ffmpeg,
+{ stdenv, lib, fetchurl, unzip, sqlite, makeWrapper, dotnet-netcore, ffmpeg,
   fontconfig, freetype }:
 
 let
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    dotnet-sdk
+    dotnet-netcore
     sqlite
   ];
 
@@ -42,7 +42,7 @@ in stdenv.mkDerivation rec {
     install -dm 755 "$out/opt/jellyfin"
     cp -r * "$out/opt/jellyfin"
 
-    makeWrapper "${dotnet-sdk}/bin/dotnet" $out/bin/jellyfin \
+    makeWrapper "${dotnet-netcore}/bin/dotnet" $out/bin/jellyfin \
       --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
         sqlite fontconfig freetype stdenv.cc.cc.lib
       ]}:$out/opt/jellyfin/runtimes/${runtimeDir}/native/" \
diff --git a/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch b/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch
new file mode 100644
index 00000000000..ebc9a6f2237
--- /dev/null
+++ b/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch
@@ -0,0 +1,172 @@
+From c9b5164c954cd0de80d971f1c4ced16bf41ea81b Mon Sep 17 00:00:00 2001
+From: Eric Wong <e@80x24.org>
+Date: Fri, 29 Nov 2019 12:25:07 +0000
+Subject: [PATCH 2/2] msgtime: drop Date::Parse for RFC2822
+
+Date::Parse is not optimized for RFC2822 dates and isn't
+packaged on OpenBSD.  It's still useful for historical
+email when email clients were less conformant, but is
+less relevant for new emails.
+---
+ lib/PublicInbox/MsgTime.pm | 115 ++++++++++++++++++++++++++++++++-----
+ t/msgtime.t                |   6 ++
+ 2 files changed, 107 insertions(+), 14 deletions(-)
+
+diff --git a/lib/PublicInbox/MsgTime.pm b/lib/PublicInbox/MsgTime.pm
+index 58e11d72..e9b27a49 100644
+--- a/lib/PublicInbox/MsgTime.pm
++++ b/lib/PublicInbox/MsgTime.pm
+@@ -7,24 +7,114 @@ use strict;
+ use warnings;
+ use base qw(Exporter);
+ our @EXPORT_OK = qw(msg_timestamp msg_datestamp);
+-use Date::Parse qw(str2time strptime);
++use Time::Local qw(timegm);
++my @MoY = qw(january february march april may june
++		july august september october november december);
++my %MoY;
++@MoY{@MoY} = (0..11);
++@MoY{map { substr($_, 0, 3) } @MoY} = (0..11);
++
++my %OBSOLETE_TZ = ( # RFC2822 4.3 (Obsolete Date and Time)
++	EST => '-0500', EDT => '-0400',
++	CST => '-0600', CDT => '-0500',
++	MST => '-0700', MDT => '-0600',
++	PST => '-0800', PDT => '-0700',
++	UT => '+0000', GMT => '+0000', Z => '+0000',
++
++	# RFC2822 states:
++	#   The 1 character military time zones were defined in a non-standard
++	#   way in [RFC822] and are therefore unpredictable in their meaning.
++);
++my $OBSOLETE_TZ = join('|', keys %OBSOLETE_TZ);
+ 
+ sub str2date_zone ($) {
+ 	my ($date) = @_;
++	my ($ts, $zone);
++
++	# RFC822 is most likely for email, but we can tolerate an extra comma
++	# or punctuation as long as all the data is there.
++	# We'll use '\s' since Unicode spaces won't affect our parsing.
++	# SpamAssassin ignores commas and redundant spaces, too.
++	if ($date =~ /(?:[A-Za-z]+,?\s+)? # day-of-week
++			([0-9]+),?\s+  # dd
++			([A-Za-z]+)\s+ # mon
++			([0-9]{2,})\s+ # YYYY or YY (or YYY :P)
++			([0-9]+)[:\.] # HH:
++				((?:[0-9]{2})|(?:\s?[0-9])) # MM
++				(?:[:\.]((?:[0-9]{2})|(?:\s?[0-9])))? # :SS
++			\s+	# a TZ offset is required:
++				([\+\-])? # TZ sign
++				[\+\-]* # I've seen extra "-" e.g. "--500"
++				([0-9]+|$OBSOLETE_TZ)(?:\s|$) # TZ offset
++			/xo) {
++		my ($dd, $m, $yyyy, $hh, $mm, $ss, $sign, $tz) =
++					($1, $2, $3, $4, $5, $6, $7, $8);
++		# don't accept non-English months
++		defined(my $mon = $MoY{lc($m)}) or return;
++
++		if (defined(my $off = $OBSOLETE_TZ{$tz})) {
++			$sign = substr($off, 0, 1);
++			$tz = substr($off, 1);
++		}
++
++		# Y2K problems: 3-digit years, follow RFC2822
++		if (length($yyyy) <= 3) {
++			$yyyy += 1900;
++
++			# and 2-digit years from '09 (2009) (0..49)
++			$yyyy += 100 if $yyyy < 1950;
++		}
++
++		$ts = timegm($ss // 0, $mm, $hh, $dd, $mon, $yyyy);
+ 
+-	my $ts = str2time($date);
+-	return undef unless(defined $ts);
++		# Compute the time offset from [+-]HHMM
++		$tz //= 0;
++		my ($tz_hh, $tz_mm);
++		if (length($tz) == 1) {
++			$tz_hh = $tz;
++			$tz_mm = 0;
++		} elsif (length($tz) == 2) {
++			$tz_hh = 0;
++			$tz_mm = $tz;
++		} else {
++			$tz_hh = $tz;
++			$tz_hh =~ s/([0-9]{2})\z//;
++			$tz_mm = $1;
++		}
++		while ($tz_mm >= 60) {
++			$tz_mm -= 60;
++			$tz_hh += 1;
++		}
++		$sign //= '+';
++		my $off = $sign . ($tz_mm * 60 + ($tz_hh * 60 * 60));
++		$ts -= $off;
++		$sign = '+' if $off == 0;
++		$zone = sprintf('%s%02d%02d', $sign, $tz_hh, $tz_mm);
+ 
+-	# off is the time zone offset in seconds from GMT
+-	my ($ss,$mm,$hh,$day,$month,$year,$off) = strptime($date);
+-	return undef unless(defined $off);
++	# Time::Zone and Date::Parse are part of the same distibution,
++	# and we need Time::Zone to deal with tz names like "EDT"
++	} elsif (eval { require Date::Parse }) {
++		$ts = Date::Parse::str2time($date);
++		return undef unless(defined $ts);
+ 
+-	# Compute the time zone from offset
+-	my $sign = ($off < 0) ? '-' : '+';
+-	my $hour = abs(int($off / 3600));
+-	my $min  = ($off / 60) % 60;
+-	my $zone = sprintf('%s%02d%02d', $sign, $hour, $min);
++		# off is the time zone offset in seconds from GMT
++		my ($ss,$mm,$hh,$day,$month,$year,$off) =
++					Date::Parse::strptime($date);
++		return undef unless(defined $off);
++
++		# Compute the time zone from offset
++		my $sign = ($off < 0) ? '-' : '+';
++		my $hour = abs(int($off / 3600));
++		my $min  = ($off / 60) % 60;
++
++		$zone = sprintf('%s%02d%02d', $sign, $hour, $min);
++	} else {
++		warn "Date::Parse missing for non-RFC822 date: $date\n";
++		return undef;
++	}
+ 
++	# Note: we've already applied the offset to $ts at this point,
++	# but we want to keep "git fsck" happy.
+ 	# "-1200" is the furthest westermost zone offset,
+ 	# but git fast-import is liberal so we use "-1400"
+ 	if ($zone >= 1400 || $zone <= -1400) {
+@@ -59,9 +149,6 @@ sub msg_date_only ($) {
+ 	my @date = $hdr->header_raw('Date');
+ 	my ($ts);
+ 	foreach my $d (@date) {
+-		# Y2K problems: 3-digit years
+-		$d =~ s!([A-Za-z]{3}) ([0-9]{3}) ([0-9]{2}:[0-9]{2}:[0-9]{2})!
+-			my $yyyy = $2 + 1900; "$1 $yyyy $3"!e;
+ 		$ts = eval { str2date_zone($d) } and return $ts;
+ 		if ($@) {
+ 			my $mid = $hdr->header_raw('Message-ID');
+diff --git a/t/msgtime.t b/t/msgtime.t
+index 6b396602..d9643b65 100644
+--- a/t/msgtime.t
++++ b/t/msgtime.t
+@@ -84,4 +84,10 @@ is_deeply(datestamp('Fri, 28 Jun 2002 12:54:40 -700'), [1025294080, '-0700']);
+ is_deeply(datestamp('Sat, 12 Jan 2002 12:52:57 -200'), [1010847177, '-0200']);
+ is_deeply(datestamp('Mon, 05 Nov 2001 10:36:16 -800'), [1004985376, '-0800']);
+ 
++# obsolete formats described in RFC2822
++for (qw(UT GMT Z)) {
++	is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 '.$_), [ 749520000, '+0000']);
++}
++is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 EDT'), [ 749534400, '-0400']);
++
+ done_testing();
+-- 
+2.24.1
+
diff --git a/pkgs/servers/mail/public-inbox/default.nix b/pkgs/servers/mail/public-inbox/default.nix
index b4749558500..affcb0e8b23 100644
--- a/pkgs/servers/mail/public-inbox/default.nix
+++ b/pkgs/servers/mail/public-inbox/default.nix
@@ -1,4 +1,4 @@
-{ buildPerlPackage, lib, fetchurl, makeWrapper
+{ buildPerlPackage, lib, fetchurl, fetchpatch, makeWrapper
 , DBDSQLite, EmailMIME, IOSocketSSL, IPCRun, Plack, PlackMiddlewareReverseProxy
 , SearchXapian, TimeDate, URI
 , git, highlight, openssl, xapian
@@ -29,6 +29,14 @@ buildPerlPackage rec {
     sha256 = "0sa2m4f2x7kfg3mi4im7maxqmqvawafma8f7g92nyfgybid77g6s";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://public-inbox.org/meta/20200101032822.GA13063@dcvr/raw";
+      sha256 = "0ncxqqkvi5lwi8zaa7lk7l8mf8h278raxsvbvllh3z7jhfb48r3l";
+    })
+    ./0002-msgtime-drop-Date-Parse-for-RFC2822.patch
+  ];
+
   outputs = [ "out" "devdoc" "sa_config" ];
 
   postConfigure = ''
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index f497ba97e70..bb72ce1b45f 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule {
   pname = "mautrix-whatsapp-unstable";
-  version = "2020-01-07";
+  version = "2020-01-12";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-whatsapp";
-    rev = "302fae6649f083ae2a1d4431157e6045865f62ad";
-    sha256 = "0rnlbw1xqk9kjc23pmybxdznxylpfxl35wa37lkafymfardjjavb";
+    rev = "39e46833b471b0cf262d4ff57fcd61530b5d2b9e";
+    sha256 = "1r1f52advibb97vrhi2gw0d0scnsvfbmfqizsbpjmgm7ci9jjhcl";
   };
 
   modSha256 = "18bcv7x49bqnzwhafh8fvyv9z2d4j6w0iyqql0alq57hy7h7lxik";
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 787c7b1d463..183bbc73f5d 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.5.2";
+  version = "6.5.3";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1hplnb8rv2sxai05qf6il5kza08bkhcawvymr2h9lfdsj7p4kbzy";
+    sha256 = "1ks951b3ar1wdpbxn8ak74m8zh02d3lbmk6mphwni68c019ymahi";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "1fnj41lp9b53iyjgis5x8k3g5vl73fdrxsdxnf10d4ma95cwb2qa";
+    sha256 = "1gjj0h7kz4lan00ka5kg901l3nyzswnjfr0slqy08bl4svqpizh2";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/nginx-sso/default.nix b/pkgs/servers/nginx-sso/default.nix
index b0ed1c973c0..10a0c99996d 100644
--- a/pkgs/servers/nginx-sso/default.nix
+++ b/pkgs/servers/nginx-sso/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx-sso";
-  version = "0.23.0";
+  version = "0.24.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/Luzifer/nginx-sso";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "Luzifer";
     repo = "nginx-sso";
-    sha256 = "1wfk56xnjbx7cwrryrl3jy8zw7sz8akq55nsxiq2i6h3vafy4yaz";
+    sha256 = "0jkmd1hdr40i1wd3001ixjv1nminsxmwhvnhcgfqcdn5gnaradwn";
   };
 
   postInstall = ''
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 840f63f3e05..905e776ea36 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -1,34 +1,28 @@
-{ stdenv, fetchFromGitHub, fetchgit, fetchurl, git, cmake, pkgconfig
+{ stdenv, fetchFromGitHub, fetchgit, fetchurl, runCommand, git, cmake, pkgconfig
 , openssl, boost, zlib }:
 
 let
-  sqlite3 = fetchurl {
+  sqlite3 = fetchurl rec {
     url = "https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip";
     sha256 = "0vh9aa5dyvdwsyd8yp88ss300mv2c2m40z79z569lcxa6fqwlpfy";
-  };
-
-  beast = fetchgit {
-    url = "https://github.com/boostorg/beast.git";
-    rev = "2f9a8440c2432d8a196571d6300404cb76314125";
-    sha256 = "1n9ms5cn67b0p0mhldz5psgylds22sm5x22q7knrsf20856vlk5a";
-    fetchSubmodules = false;
-    leaveDotGit = true;
+    passthru.url = url;
   };
 
   docca = fetchgit {
     url = "https://github.com/vinniefalco/docca.git";
     rev = "335dbf9c3613e997ed56d540cc8c5ff2e28cab2d";
-    sha256 = "09cb90k0ygmnlpidybv6nzf6is51i80lnwlvad6ijc3gf1z6i1yh";
-    fetchSubmodules = false;
+    sha256 = "1yisdg7q2p9q9gz0c446796p3ggx9s4d6g8w4j1pjff55655805h";
     leaveDotGit = true;
+    fetchSubmodules = false;
   };
 
-  rocksdb = fetchgit {
+  rocksdb = fetchgit rec {
     url = "https://github.com/facebook/rocksdb.git";
-    rev = "a297643f2e327a8bc7061bfc838fdf11935a2cf2";
-    sha256 = "00z8i4fwr27j9d4ymnls7rcgfvm6xh36a4hy2m2njx4x513pgyzw";
-    fetchSubmodules = false;
+    rev = "v5.17.2";
+    sha256 = "0d9ssggjls1hc4zhng65yg8slqlcw0lr23qr6f39shg42lzr227p";
     leaveDotGit = true;
+    fetchSubmodules = false;
+    postFetch = "cd $out && git tag ${rev}";
   };
 
   lz4 = fetchgit rec {
@@ -51,8 +45,8 @@ let
 
   soci = fetchgit {
     url = "https://github.com/SOCI/soci.git";
-    rev = "3a1f602b3021b925d38828e3ff95f9e7f8887ff7";
-    sha256 = "0lnps42cidlrn43h13b9yc8cs3fwgz7wb6a1kfc9rnw7swkh757f";
+    rev = "04e1870294918d20761736743bb6136314c42dd5";
+    sha256 = "0w3b7qi3bwn8bxh4qbqy6c1fw2bbwh7pxvk8b3qb6h4qgsh6kx89";
     leaveDotGit = true;
     fetchSubmodules = false;
   };
@@ -67,11 +61,11 @@ let
   };
 
   nudb = fetchgit rec {
-    url = "https://github.com/vinniefalco/NuDB.git";
-    rev = "1.0.0";
-    sha256 = "142bxicv25xaw4fmpw8bbblb1grdw30wyj181xl4a5734zw3qgmz";
+    url = "https://github.com/CPPAlliance/NuDB.git";
+    rev = "2.0.1";
+    sha256 = "0h7hmwavrxzj1v547h3z0031ckwphjayfpv1mgcr6q86wm9p5468";
     leaveDotGit = true;
-    fetchSubmodules = false;
+    fetchSubmodules = true; # submodules are needed, rocksdb is dependency
     postFetch = "cd $out && git tag ${rev}";
   };
 
@@ -88,40 +82,54 @@ let
     url = "https://github.com/google/googletest.git";
     rev = "c3bb0ee2a63279a803aaad956b9b26d74bf9e6e2";
     sha256 = "0pj5b6jnrj5lrccz2disr8hklbnzd8hwmrwbfqmvhiwb9q9p0k2k";
-    leaveDotGit = true;
     fetchSubmodules = false;
+    leaveDotGit = true;
   };
 
   google-benchmark = fetchgit {
     url = "https://github.com/google/benchmark.git";
     rev = "5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8";
     sha256 = "0qg70j47zqnrbszlgrzmxpr4g88kq0gyq6v16bhaggfm83c6mg6i";
-    leaveDotGit = true;
     fetchSubmodules = false;
+    leaveDotGit = true;
   };
+
+  # hack to merge rocksdb revisions from rocksdb and nudb, so build process
+  # will find both
+  rocksdb-merged = runCommand "rocksdb-merged" {
+    buildInputs = [ git ];
+  } ''
+    commit=$(cd ${nudb} && git ls-tree HEAD extras/rocksdb | awk '{ print $3  }')
+    git clone ${rocksdb} $out && cd $out
+    git fetch ${nudb}/extras/rocksdb $commit
+    git checkout $commit
+  '';
 in stdenv.mkDerivation rec {
   pname = "rippled";
-  version = "1.2.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "ripple";
     repo = "rippled";
     rev = version;
-    sha256 = "1lm0zzz0hi2sh2f4iqq3scapzdjbxcjgr700fgham9wqgaj2ash5";
+    sha256 = "1z04378bg8lcyrnn7sl3j2zfxbwwy2biasg1d4fbaq4snxg5d1pq";
   };
 
   hardeningDisable = ["format"];
-  cmakeFlags = ["-Dstatic=OFF"];
+  cmakeFlags = [
+    "-Dstatic=OFF"
+    "-DBOOST_LIBRARYDIR=${boost.out}/lib"
+    "-DBOOST_INCLUDEDIR=${boost.dev}/include"
+  ];
 
   nativeBuildInputs = [ pkgconfig cmake git ];
-  buildInputs = [ openssl openssl.dev boost zlib ];
+  buildInputs = [ openssl openssl.dev zlib ];
 
   preConfigure = ''
     export HOME=$PWD
 
-    git config --global url."file://${beast}".insteadOf "https://github.com/vinniefalco/Beast.git"
-    git config --global url."file://${docca}".insteadOf "https://github.com/vinniefalco/docca.git"
-    git config --global url."file://${rocksdb}".insteadOf "https://github.com/facebook/rocksdb.git"
+    git config --global url."file://${docca}".insteadOf "${docca.url}"
+    git config --global url."file://${rocksdb-merged}".insteadOf "${rocksdb.url}"
     git config --global url."file://${lz4}".insteadOf "${lz4.url}"
     git config --global url."file://${libarchive}".insteadOf "${libarchive.url}"
     git config --global url."file://${soci}".insteadOf "${soci.url}"
@@ -131,7 +139,7 @@ in stdenv.mkDerivation rec {
     git config --global url."file://${google-benchmark}".insteadOf "${google-benchmark.url}"
     git config --global url."file://${google-test}".insteadOf "${google-test.url}"
 
-    substituteInPlace CMakeLists.txt --replace "URL https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip" "URL ${sqlite3}"
+    substituteInPlace Builds/CMake/deps/Sqlite.cmake --replace "URL ${sqlite3.url}" "URL ${sqlite3}"
   '';
 
   doCheck = true;
@@ -141,7 +149,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Ripple P2P payment network reference server";
-    homepage = https://ripple.com;
+    homepage = https://github.com/ripple/rippled;
     maintainers = with maintainers; [ ehmry offline ];
     license = licenses.isc;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 0427de60aa5..6f0ec04cd75 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "1.5.1";
+  version = "1.6.0";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "1mgmkc42nksfsmjg463v03rj1v8gybwlzzi515gxz6ijx8604w4c";
+    sha256 = "0b42rhkycr4pwwa4fxnmppd3bl0xz7azvlm145rd7warlsr5h0lb";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
diff --git a/pkgs/servers/tt-rss/theme-feedly/default.nix b/pkgs/servers/tt-rss/theme-feedly/default.nix
index c35667546c6..8ad511e5b5b 100644
--- a/pkgs/servers/tt-rss/theme-feedly/default.nix
+++ b/pkgs/servers/tt-rss/theme-feedly/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec {
   pname = "tt-rss-theme-feedly";
-  version = "2.0.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "levito";
     repo = "tt-rss-feedly-theme";
     rev = "v${version}";
-    sha256 = "024hngwzfdgw5jqppc8vh75jidfqghaccy969hvbhxhgk6j6l8m4";
+    sha256 = "0rl5g664grx3m7yxa14rgnbvnlc3xnn44kzjji5layxww6jd8h2s";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 2957d296dc4..3de6005a3cf 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, writeText }:
 
 let
-  version = "3.8";
+  version = "3.8.1";
   stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version);
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9";
+    sha256 = "1xz2wq16blw9p2b6wlrn9lr524gddm5jyac5prka8kp6lrk0v0y1";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/web-apps/shaarli/material-theme.nix b/pkgs/servers/web-apps/shaarli/material-theme.nix
index ef0a4331d41..b0829fce733 100644
--- a/pkgs/servers/web-apps/shaarli/material-theme.nix
+++ b/pkgs/servers/web-apps/shaarli/material-theme.nix
@@ -26,10 +26,13 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    # This package has not been updated for the new build process
+    # introduced in 0.10.3 which depends on npm and gulp.
+    broken = true;
     description = "A theme base on Google's Material Design for Shaarli, the superfast delicious clone";
     license = licenses.mit;
     homepage = https://github.com/kalvn/Shaarli-Material;
-    maintainers = with maintainers; [ schneefux ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index 2dcaf44010e..e536ea0373c 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -162,6 +162,10 @@ in stdenv.mkDerivation rec {
     "-DZM_CONFIG_DIR=${placeholder "out"}/etc/zoneminder"
     "-DZM_WEB_USER=${user}"
     "-DZM_WEB_GROUP=${user}"
+
+    # Workaround issue in CMakeLists.txt where ZM_CGIDIR set to ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/zoneminder/cgi-bin
+    # But CMAKE_INSTALL_LIBEXECDIR is already an absolute path from cmake setup-hook
+    "-DZM_CGIDIR=${placeholder "out"}/libexec/zoneminder/cgi-bin"
   ];
 
   passthru = { inherit dirName; };
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 1ef3c4b6fd9..5f59c33af0d 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -3,6 +3,7 @@
   groff, man-db, getent, libiconv, pcre2,
   gettext, ncurses, python3,
   cmake
+  , fetchpatch
 
   , writeText
 
@@ -107,6 +108,15 @@ let
       patchShebangs ./build_tools/git_version_gen.sh
     '';
 
+    patches = [
+      # Fixes "Integer 243 in '243 (243)' followed by non-digit" error with systemctl completion.
+      # https://github.com/fish-shell/fish-shell/issues/5689 (will be included in fish 3.1.0)
+      (fetchpatch {
+        url = "https://github.com/fish-shell/fish-shell/commit/c6ec4235136e82c709e8d7b455f7c463f9714b48.patch";
+        sha256 = "02m6pkhhx6y21csydznsxkbpnwhcpzyz99xgd9ryh7s03v7wbigw";
+      })
+    ];
+
     # Required binaries during execution
     # Python: Autocompletion generated from manpages and config editing
     propagatedBuildInputs = [
diff --git a/pkgs/shells/mrsh/default.nix b/pkgs/shells/mrsh/default.nix
index 9036e085429..bbd56e510b7 100644
--- a/pkgs/shells/mrsh/default.nix
+++ b/pkgs/shells/mrsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, meson, ninja, pkgconfig, readline }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, readline }:
 
 stdenv.mkDerivation rec {
   pname   = "mrsh";
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mrsh.sh";
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 13b36bf54ad..81c86284394 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.7.pre9";
+  version = "0.7.pre11";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "1j17yxpjqv37vbl3qhnwl3gdmb33n9c6g6byxcc8mhbvbw91zi5i";
+    sha256 = "0885cw07gkaggd5cvl58v6kw1z6la2xgdh1s88y0dynx95qv4i4c";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index d5081476efb..5b649a3923e 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation {
   pname = "powerlevel10k";
-  version = "unstable-2019-12-19";
+  version = "1.0";
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "powerlevel10k";
-    rev = "8ef2b737d1f6099966a1eb16bdfc90d67b367f22";
-    sha256 = "02b25klkyyhpdbf2vwzzbrd8hnfjpckbpjy6532ir6jqp2n2ivpj";
+    rev = "c21961b53c137253020aeffca2b132fdd6bcb116";
+    sha256 = "1jp6jhw5kb10d76zkxdv8c04s51ilmjka336bgnllya9nyqaqpxp";
   };
 
   patches = [
diff --git a/pkgs/shells/zsh/zsh-you-should-use/default.nix b/pkgs/shells/zsh/zsh-you-should-use/default.nix
index becc4c57e4b..91cf34268ac 100644
--- a/pkgs/shells/zsh/zsh-you-should-use/default.nix
+++ b/pkgs/shells/zsh/zsh-you-should-use/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-you-should-use";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "MichaelAquilina";
     repo = pname;
     rev = version;
-    sha256 = "1xzq7xmmx4rg53pd69d0s9n561q4z35hlbb2sq2xd76gk3x6fars";
+    sha256 = "1gcxm08ragwrh242ahlq3bpfg5yma2cshwdlj8nrwnd4qwrsflgq";
   };
 
   dontBuild = true;
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index eb0711b8885..f62d208d22d 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -26,6 +26,8 @@ with pkgs;
   cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
   stdenv-inputs = callPackage ./stdenv-inputs { };
 
+  haskell-shellFor = callPackage ./haskell-shellFor { };
+
   cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
   cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
 
diff --git a/pkgs/test/haskell-shellFor/default.nix b/pkgs/test/haskell-shellFor/default.nix
new file mode 100644
index 00000000000..1b3de999d22
--- /dev/null
+++ b/pkgs/test/haskell-shellFor/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, haskellPackages, cabal-install }:
+
+haskellPackages.shellFor {
+  packages = p: [ p.database-id-class p.constraints-extras ];
+  nativeBuildInputs = [ cabal-install ];
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+  unpackPhase = ''
+    sourceRoot=$(pwd)/scratch
+    mkdir -p "$sourceRoot"
+    cd "$sourceRoot"
+    tar -xf ${haskellPackages.database-id-class.src}
+    tar -xf ${haskellPackages.constraints-extras.src}
+    cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints-extras*"} cabal.project
+  '';
+  buildPhase = ''
+    export HOME=$(mktemp -d)
+    mkdir -p $HOME/.cabal
+    touch $HOME/.cabal/config
+    cabal v2-build --offline --verbose database-id-class constraints-extras --ghc-options="-O0 -j$NIX_BUILD_CORES"
+  '';
+  installPhase = ''
+    touch $out
+  '';
+}
diff --git a/pkgs/tools/X11/jumpapp/default.nix b/pkgs/tools/X11/jumpapp/default.nix
index 38de9e9f80b..23ba445b674 100644
--- a/pkgs/tools/X11/jumpapp/default.nix
+++ b/pkgs/tools/X11/jumpapp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jumpapp";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "mkropat";
     repo = "jumpapp";
     rev = "v${version}";
-    sha256 = "11ibh51q4vcjkz9fqyw5dy9qrkqxm42hpdccas1s6h2dk9z62kfb";
+    sha256 = "1jrk4mm42sz6ca2gkb6w3dad53d4im4shpgsq8s4vr6xpl3b43ry";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/X11/xcape/default.nix b/pkgs/tools/X11/xcape/default.nix
index 8b0c18c8618..d1b6f9b23b6 100644
--- a/pkgs/tools/X11/xcape/default.nix
+++ b/pkgs/tools/X11/xcape/default.nix
@@ -3,7 +3,7 @@ libXi }:
 
 stdenv.mkDerivation rec {
   pname = "xcape";
-  version = "unstable-20180301";
+  version = "unstable-2018-03-01";
 
   src = fetchFromGitHub {
     owner = "alols";
diff --git a/pkgs/tools/X11/xlayoutdisplay/default.nix b/pkgs/tools/X11/xlayoutdisplay/default.nix
index 30903e44856..7f3d9cfda56 100644
--- a/pkgs/tools/X11/xlayoutdisplay/default.nix
+++ b/pkgs/tools/X11/xlayoutdisplay/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xlayoutdisplay";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wm6a48ym0wn2w0872mfq40ghajfrg1bccj1g342w899qh5x3bc4";
+    sha256 = "0ldqbwsryy7mqhxywdn2c2yi1mzlnl39sw8p3vx10w6q9drya9iv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
index 8349953f4ff..548101c34c3 100644
--- a/pkgs/tools/X11/xsecurelock/default.nix
+++ b/pkgs/tools/X11/xsecurelock/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xsecurelock";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "xsecurelock";
     rev = "v${version}";
-    sha256 = "0zdwszscdw0p7kwpqqv1dywn00bq1wak2x602lb6hdmkffspi8bg";
+    sha256 = "020y2mi4sshc5dghcz37aj5wwizbg6712rzq2a72f8z8m7mnxr5y";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix
index cdf58bc0215..25a92f1117b 100644
--- a/pkgs/tools/admin/acme.sh/default.nix
+++ b/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.8.3";
+  version = "2.8.5";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "0j9wn61jd107fq9ww79399s7adql0vf897s0xavlvv6chq8a6ajj";
+    sha256 = "0yxhfdb0jz0wn10ka6c79qvcx07656vsaxmjls8qgcfgc472ymhs";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 1a492c41aee..cc793f8300d 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, python, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.0.79";
+  version = "2.0.80";
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "0fzpq5fnqxkjghsjk4hi3jng5lgywpvj3fzb5sb7nb7ymvkvhad2";
+    sha256 = "05j74cfxjpi3w79w0i5av3h2m81bavbsc581vvh773ixivndds1k";
   };
 
   # put packages that needs to be overriden in the py package scope
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index ac0e633cb96..290800e4226 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -207,8 +207,8 @@ let
       azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.52.0" "zip"
         "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn";
 
-      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "7.0.0" "zip"
-        "01f17fb1myskj72zarc67i1sxfvk66lid9zn12gwjrz2vqc6npkz";
+      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "7.1.0" "zip"
+        "03yjvw1dwkwsadsv60i625mr9zpdryy7ywvh7p8fg60djszh1p5l";
 
       azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip"
         "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj";
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index e5fcf3933eb..3cadafc633e 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "197lf6cb1maam1yxy29wgp4dkakaavmwqvq2d9i4qxhscalrdra5";
+    sha256 = "1m4hcj2bi9v3ngjj2x1fifcnb450jrij06vbi3j28slsdwn1bcc8";
   };
 
-  modSha256 = "04ba3dyfwlf0m6kn7yp7qyp3h2qdwp17y1f9pa79y3c6sd2nadk2";
+  modSha256 = "1c8qyxzfazgw77rlv3yw2x39ymaq66jjd51im0jl4131a6hzj6fd";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/tools/admin/sewer/default.nix b/pkgs/tools/admin/sewer/default.nix
index 59edaff5f94..776ba89e48c 100644
--- a/pkgs/tools/admin/sewer/default.nix
+++ b/pkgs/tools/admin/sewer/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sewer";
-  version = "0.7.0";
+  version = "0.7.9";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "16j4npqj3fdj3g2z7nqb0cvvxd85xk20g9c43f3q8a1k5psf1fmq";
+    sha256 = "c083223d8aa66d4fc6801452d291a98540d1ee41557ce3e1754c62e73f7c9738";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyopenssl requests tldextract ];
@@ -16,6 +16,5 @@ python3Packages.buildPythonApplication rec {
     description = "ACME client";
     license = licenses.mit;
     maintainers = with maintainers; [ kevincox ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix
index 83fa76b0800..1cb7e647441 100644
--- a/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/pkgs/tools/backup/zfs-replicate/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonApplication rec {
   pname = "zfs-replicate";
-  version = "1.1.11";
+  version = "1.1.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0386xc6rw6bhzw2a08g90afb3snqhm1ikx65bjfh22ha69fwmga8";
+    sha256 = "0iqyk6q112ylcqrhrgvgbgqqvaikhwk0sb5kc7kg2wwqdc9rfwys";
   };
 
   checkInputs = [
diff --git a/pkgs/tools/backup/zfsnap/default.nix b/pkgs/tools/backup/zfsnap/default.nix
new file mode 100644
index 00000000000..89d7414246c
--- /dev/null
+++ b/pkgs/tools/backup/zfsnap/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, coreutils, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  version = "2.0.0-beta3";
+  pname = "zfsnap";
+
+  src = fetchFromGitHub {
+    owner = "zfsnap";
+    repo = "zfsnap";
+    rev = "v${version}";
+    sha256 = "0670a5sghvqx32c9gfsird15mg9nqcvwxsrfcjrwc0sj7br9bd2g";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postPatch = ''
+    # Use zfs binaries from PATH, because often the zfs package from nixpkgs is
+    # not the one that should be used
+    substituteInPlace share/zfsnap/core.sh \
+      --replace "ZFS_CMD='/sbin/zfs'" "ZFS_CMD='zfs'" \
+      --replace "ZPOOL_CMD='/sbin/zpool'" "ZPOOL_CMD='zpool'"
+
+    substituteInPlace sbin/zfsnap.sh \
+      --replace "/bin/ls" "${coreutils}/bin/ls"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv sbin/zfsnap.sh $out/bin/zfsnap
+    mv share $out
+    installManPage man/*/*
+    installShellCompletion completion/*.{bash,zsh}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A portable, performant script to make rolling ZFS snapshots easy";
+    homepage = "https://github.com/zfsnap/zfsnap";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ woffs ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/compression/zopfli/default.nix b/pkgs/tools/compression/zopfli/default.nix
index accead9db0b..586c47de582 100644
--- a/pkgs/tools/compression/zopfli/default.nix
+++ b/pkgs/tools/compression/zopfli/default.nix
@@ -2,32 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "zopfli";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "zopfli";
     rev = "${pname}-${version}";
     name = "${pname}-${version}-src";
-    sha256 = "1l551hx2p4qi0w9lk96qklbv6ll68gxbah07fhqx1ly28rv5wy9y";
+    sha256 = "0dr8n4j5nj2h9n208jns56wglw59gg4qm3s7c6y3hs75d0nnkhm4";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "zopfli-cmake.patch";
-      url = "https://github.com/google/zopfli/commit/7554e4d34e7000b0595aa606e7d72357cf46ba86.patch";
-      sha256 = "1pvfhir2083v1l042a4dy5byqdmad7sxnd4jrprl2hzzb2avxbbn";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ];
 
-  installPhase = ''
-    install -D -t $out/bin zopfli*
-    install -d $out/lib
-    cp -d libzopfli* $out/lib
+  postInstall = ''
     install -Dm444 -t $out/share/doc/zopfli ../README*
   '';
 
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index d0f68fac7ca..834aa7290ab 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.2";
+  version = "1.14.3";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0zn5fjrm9la5w1p66xhy87aasqsdky36dgc447jp2yp7nh18v339";
+    sha256 = "09csi8brp6v98gy9xcl6lkbz1wgs796wch1qviw2wa1n16wd91vw";
   };
 
   dontStrip = true;
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 9c770441025..f3e985edbff 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -92,7 +92,7 @@ let
     ps.pyyaml
   ]);
 
-  version = "14.2.5";
+  version = "14.2.6";
 in rec {
   ceph = stdenv.mkDerivation {
     pname = "ceph";
@@ -100,7 +100,7 @@ in rec {
 
     src = fetchurl {
       url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-      sha256 = "0wbkdplxs8higmlj57a7rydmx9rq08h0arjrmxmp0s80bn0v5x2c";
+      sha256 = "0qkyrb25r2a57n6k8ncb43x7hvhkmpi7abhfyi98mlz2lhmhzlm1";
     };
 
     patches = [
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 0d7bcdcd0f2..fc174b12f10 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.7.2";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ybrki63ixrkraynms5i4jiil9901whwxs6p61h2c2ild8w2ir8n";
+    sha256 = "02286q4lc1paq735qmn5nyz31g1lwrkcnjkp05fdzcxf60h8paxk";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index af3e9250985..f8d955dbfc1 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -1,22 +1,24 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
-buildGoModule rec {
+buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.28.1";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "0dh01qvsjlzji2mwznykc2nghg4f1raylvgnp6sbxv9x1kpnwx71";
+    sha256 = "11an7cxgg3x830mwlhyx50xkcv7zpa9aziz6gz1crwp8shr4hdik";
   };
 
-  modSha256 = "0i86xs3lq2mj22yv7jmhmb34k7lz348bakqz020xpyccllkkszy4";
+  goPackagePath = "github.com/googlecloudplatform/gcsfuse";
 
-  patches = [
-    ./go.mod.patch
-    ./go.sum.patch
-  ];
+  subPackages = [ "." "tools/mount_gcsfuse" ];
+
+  postInstall = ''
+    ln -s $bin/bin/mount_gcsfuse $bin/bin/mount.gcsfuse
+    ln -s $bin/bin/mount_gcsfuse $bin/bin/mount.fuse.gcsfuse
+  '';
 
   meta = with lib;{
     description = "A user-space file system for interacting with Google Cloud Storage";
diff --git a/pkgs/tools/filesystems/gcsfuse/go.mod.patch b/pkgs/tools/filesystems/gcsfuse/go.mod.patch
deleted file mode 100644
index fbda63432d7..00000000000
--- a/pkgs/tools/filesystems/gcsfuse/go.mod.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/go.mod 	2019-10-09 22:35:05.777065057 -0400
-+++ b/go.mod	2019-10-10 21:34:15.809681738 -0400
-@@ -0,0 +1,25 @@
-+module github.com/googlecloudplatform/gcsfuse
-+
-+go 1.12
-+
-+require (
-+	cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c
-+	github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1
-+	github.com/golang/protobuf v0.0.0-20170902000452-17ce1425424a
-+	github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f
-+	github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa
-+	github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308
-+	github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd
-+	github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff
-+	github.com/jacobsa/ogletest v0.0.0-20170503003838-80d50a735a11
-+	github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0
-+	github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb
-+	github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b
-+	github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6
-+	github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e
-+	github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1
-+	golang.org/x/net v0.0.0-20170809000501-1c05540f6879
-+	golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95
-+	google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2
-+	google.golang.org/appengine v0.0.0-20170801183137-c5a90ac045b7
-+)
diff --git a/pkgs/tools/filesystems/gcsfuse/go.sum.patch b/pkgs/tools/filesystems/gcsfuse/go.sum.patch
deleted file mode 100644
index d537266e3c1..00000000000
--- a/pkgs/tools/filesystems/gcsfuse/go.sum.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/go.sum	2019-10-09 22:35:05.777065057 -0400
-+++ b/go.sum	2019-10-10 21:34:15.809681738 -0400
-@@ -0,0 +1,35 @@
-+cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c h1:pTb3uxaVLke7AQ/KUVTHWZmzKrKYrip7FimNb3ecAbo=
-+cloud.google.com/go v0.0.0-20170807235027-9be7f826df5c/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-+github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1 h1:PTPzzngHWcTI0ph/9I92RhVtRkdOCi37wySw/ojR5Eg=
-+github.com/codegangsta/cli v0.0.0-20170804093415-b99aa811b4c1/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
-+github.com/golang/protobuf v0.0.0-20170902000452-17ce1425424a/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f h1:X+tnaqoCcBgAwSTJtoYW6p0qKiuPyMfofEHEFUf2kdU=
-+github.com/jacobsa/daemonize v0.0.0-20160101105449-e460293e890f/go.mod h1:Ip4fOwzCrnDVuluHBd7FXIMb7SHOKfkt9/UDrYSZvqI=
-+github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa h1:3420E523ahKsI3tlbO0zeLvgzuTFdJoy6JoAVuShs8U=
-+github.com/jacobsa/fuse v0.0.0-20170513050233-fe7f3a55dcaa/go.mod h1:9Aml1MG17JVeXrN4D2mtJvYHtHklJH5bESjCKNzVjFU=
-+github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308 h1:sfc1gTCrsJQJMySgDstAhwzogqQIrTxkwwScG4p2kbM=
-+github.com/jacobsa/gcloud v0.0.0-20180124212516-9291bd1e8308/go.mod h1:3fF6sEraNZSToePaj5q+f9KSaMpuZcwccqAQmOKDv/k=
-+github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd h1:9GCSedGjMcLZCrusBZuo4tyKLpKUPenUUqi34AkuFmA=
-+github.com/jacobsa/oglematchers v0.0.0-20150720000706-141901ea67cd/go.mod h1:TlmyIZDpGmwRoTWiakdr+HA1Tukze6C6XbRVidYq02M=
-+github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff h1:2xRHTvkpJ5zJmglXLRqHiZQNjUoOkhUyhTAhEQvPAWw=
-+github.com/jacobsa/oglemock v0.0.0-20150831005832-e94d794d06ff/go.mod h1:gJWba/XXGl0UoOmBQKRWCJdHrr3nE0T65t6ioaj3mLI=
-+github.com/jacobsa/ogletest v0.0.0-20170503003838-80d50a735a11/go.mod h1:+DBdDyfoO2McrOyDemRBq0q9CMEByef7sYl7JH5Q3BI=
-+github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0 h1:6GaIakaFrxn738iBykUc6fyS5sIAKRg/wafwzrzRX30=
-+github.com/jacobsa/ratelimit v0.0.0-20150904001804-f5e47030f3b0/go.mod h1:5/sdn6lSZE5l3rXMkJGO7Y3MHJImklO43rZx9ouOWYQ=
-+github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb h1:uSWBjJdMf47kQlXMwWEfmc864bA1wAC+Kl3ApryuG9Y=
-+github.com/jacobsa/reqtrace v0.0.0-20150505043853-245c9e0234cb/go.mod h1:ivcmUvxXWjb27NsPEaiYK7AidlZXS7oQ5PowUS9z3I4=
-+github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b h1:HMNP0njxow/ahg3AFKzu8HnyOUSRiVqWXm+i4VefV+Y=
-+github.com/jacobsa/syncutil v0.0.0-20150827001642-c39ef5c1aa0b/go.mod h1:mPvulh9VKXvo+yOlrD4VYOOYuLdZJ36wa/5QIrtXvWs=
-+github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6 h1:XKHJmHcgU9glxk3eLPiRZT5VFSHJitVTnMj/EgIoXC4=
-+github.com/jacobsa/timeutil v0.0.0-20170205232429-577e5acbbcf6/go.mod h1:JEWKD6V8xETMW+DEv+IQVz++f8Cn8O/X0HPeDY3qNis=
-+github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e h1:BegecLAVSx5IW1bOImB8Lt6+4yiWP4t+PUeckWYzIeg=
-+github.com/jacobsa/util v0.0.0-20150810040848-976a6f4de67e/go.mod h1:q0HiLetNeSPHjs8ddOw9U6xahog8xR7WPp6PhzJ6wmk=
-+github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro=
-+github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
-+golang.org/x/net v0.0.0-20170809000501-1c05540f6879 h1:0rFa7EaCGdQPmZVbo9F7MNF65b8dyzS6EUnXjs9Cllk=
-+golang.org/x/net v0.0.0-20170809000501-1c05540f6879/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95 h1:RS+wSrhdVci7CsPwJaMN8exaP3UTuQU0qB34R/E/JD0=
-+golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-+google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2 h1:wF/9eBxkxh3/00HWCFpF3583KFXGapuZ3EVpZIuLd4Q=
-+google.golang.org/api v0.0.0-20170807210121-5c4ffd5985e2/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
-+google.golang.org/appengine v0.0.0-20170801183137-c5a90ac045b7/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index da2dff6b77a..003a0e24fb5 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock libselinux.py cryptsetup
+    pykickstart pyparted pyblock libselinux cryptsetup
   ] ++ stdenv.lib.optional useNixUdev systemd;
 
   # tests are currently _heavily_ broken upstream
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 129283e83eb..5d7a9dd14ec 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, python, buildPythonApplication
+, libselinux
 # Propagated to blivet
 , useNixUdev ? true
 # Needed by NixOps
@@ -10,10 +11,9 @@
 let
   blivet = import ./blivet.nix {
     inherit stdenv fetchurl buildPythonApplication;
-    inherit pykickstart pyparted pyblock cryptsetup multipath_tools;
+    inherit pykickstart pyparted pyblock cryptsetup libselinux multipath_tools;
     inherit useNixUdev;
     inherit (pkgs) lsof utillinux systemd;
-    libselinux = pkgs.libselinux.override { enablePython = true; };
   };
 
   cryptsetup = import ./cryptsetup.nix {
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 31bdba26783..6246a573340 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -9,14 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.61";
+  version = "2.62";
   pname = "asymptote";
 
   src = fetchFromGitHub {
     owner = "vectorgraphics";
     repo = pname;
     rev = version;
-    sha256 = "0nblcxqzaxv1286zl2fjkivgp478l0nf3m0wnk78rd99lscjlw71";
+    sha256 = "1lb3a8r2gv0437viwy25s34g05x5v81gk0nxlgx7hzwv7b9zkv5s";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/grim/default.nix b/pkgs/tools/graphics/grim/default.nix
index 667a5b38d3e..ed7ed5fdef0 100644
--- a/pkgs/tools/graphics/grim/default.nix
+++ b/pkgs/tools/graphics/grim/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "grim";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0brljl4zfbn5mh9hkfrfkvd27c5y9vdkgap9r1hrfy9r1x20sskn";
+    sha256 = "14gqilgd27c4j2wn7fla72yj8syx0542rsanh61syikrv0hxgkvy";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index 5e839b354a3..b74378f0793 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table-others";
-  version = "1.3.9";
+  version = "1.3.11";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0270a9njyzb1f8nw5w9ghwxcl3m6f13d8p8a01fjm8rnjs04mcb3";
+    sha256 = "0763wnlklcs3d8fk21nkp7dgn4qzqgxh1s24q3kl8gzgng2a88jj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "Various table-based input methods for IBus";
-    homepage     = https://github.com/moebiuscurve/ibus-table-others;
+    homepage     = "https://github.com/moebiuscurve/ibus-table-others";
     license      = licenses.gpl3;
     platforms    = platforms.linux;
     maintainers  = with maintainers; [ mudri ];
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 63d5ff69e79..bca0f809909 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -1,17 +1,33 @@
-{ stdenv, rustPlatform, fetchFromGitHub }:
+{ stdenv, rustPlatform, fetchFromGitHub, coreutils, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "0.10.2";
+  version = "0.11.9";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wisqb4cqdgsnjvmpgxbzs9zcw6npqw1kqxxs8mn33sxlikhbf2l";
+    sha256 = "1kif1113qdxg4hr1mfgg1fh10zgl9cl117cm1bfjaabw11k75cvj";
   };
 
-  cargoSha256 = "09gnyj97akychin1axp9kcww3c04xx7x1qnplhs2yxfki62r4y2b";
+  cargoSha256 = "0636qkgkw027s5dz2mryhghlm6kn3s7cfy4i8rxywr8r3w8c40y0";
+  verifyCargoDeps = true;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postPatch = ''
+    substituteInPlace src/verb_store.rs --replace '"/bin/' '"${coreutils}/bin/'
+  '';
+
+  postInstall = ''
+    # install shell completion files
+    OUT_DIR=target/release/build/broot-*/out
+
+    installShellCompletion --bash $OUT_DIR/{br,broot}.bash
+    installShellCompletion --fish $OUT_DIR/{br,broot}.fish
+    installShellCompletion --zsh $OUT_DIR/{_br,_broot}
+  '';
 
   meta = with stdenv.lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index b64c527a6b9..c9f61ee3459 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -35,11 +35,14 @@ python3Packages.buildPythonApplication rec {
   #
   # Still missing these tools: abootimg docx2txt dumpxsb enjarify js-beautify lipo oggDump otool procyon-decompiler Rscript wasm2wat zipnode
   # Also these libraries: python3-guestfs
-  pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm pyxattr ] ++ [
-      acl binutils-unwrapped bzip2 cdrkit colordiff coreutils cpio db diffutils
+  pythonPath = [
+      binutils-unwrapped bzip2 colordiff coreutils cpio db diffutils
       dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
-      libarchive libcaca lz4 pgpdump progressbar33 sng sqlite squashfsTools unzip xxd xz
-    ] ++ lib.optionals enableBloat [
+      libarchive libcaca lz4 pgpdump sng sqlite squashfsTools unzip xxd xz
+    ]
+    ++ (with python3Packages; [ debian libarchive-c python_magic tlsh rpm progressbar33 ])
+    ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit ]
+    ++ lib.optionals enableBloat [
       apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg gnumeric imagemagick
       llvm jdk mono openssh pdftk poppler_utils tcpdump unoconv
       python3Packages.guestfs
@@ -69,6 +72,6 @@ python3Packages.buildPythonApplication rec {
     homepage    = https://wiki.debian.org/ReproducibleBuilds;
     license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ dezgeg ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index 516badb7bc7..4e1a18efde4 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn";
+    sha256 = "0gkn5axjxaa52f3w2qxwwab4m46xrxymbkcpw1v1jihil34pxw7a";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/fpart/default.nix b/pkgs/tools/misc/fpart/default.nix
index 563152cc10d..e673c73d096 100644
--- a/pkgs/tools/misc/fpart/default.nix
+++ b/pkgs/tools/misc/fpart/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, fts }:
 
 stdenv.mkDerivation rec {
   pname = "fpart";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "martymac";
     repo = "fpart";
     rev = "${pname}-${version}";
-    sha256 = "0h3mqc1xj5j2z8s8g3pvvpbjs6x74dj8niyh3p2ymla35kbzskf4";
+    sha256 = "17zm3cgp3f2plynqhj8a0hbma5rvawrx5kqygjqyynn7cljv458v";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ fts ];
 
   postInstall = ''
     sed "s|^FPART_BIN=.*|FPART_BIN=\"$out/bin/fpart\"|" \
diff --git a/pkgs/tools/misc/fsmon/default.nix b/pkgs/tools/misc/fsmon/default.nix
index c731094bdd6..e8e48d7879a 100644
--- a/pkgs/tools/misc/fsmon/default.nix
+++ b/pkgs/tools/misc/fsmon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fsmon";
-  version = "1.5";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "nowsecure";
     repo = "fsmon";
     rev = version;
-    sha256 = "1b99cd5k2zh30sagp3f55jvj1r48scxibv7aqqc2sp82sci59npg";
+    sha256 = "1zpac37biy8jz8234q0krn7pjggz33k0grz590ravbjgfawm1ccy";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/hakuneko/default.nix b/pkgs/tools/misc/hakuneko/default.nix
index 8c2e7dc7451..0a27397551d 100644
--- a/pkgs/tools/misc/hakuneko/default.nix
+++ b/pkgs/tools/misc/hakuneko/default.nix
@@ -1,28 +1,84 @@
-{ stdenv, fetchurl, wxGTK30, openssl, curl }:
-
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, udev
+, stdenv
+, wrapGAppsHook
+}:
+let
+  desktopItem = makeDesktopItem {
+    desktopName = "HakuNeko Desktop";
+    genericName = "Manga & Anime Downloader";
+    categories = "Network;FileTransfer;";
+    exec = "hakuneko";
+    icon = "hakuneko-desktop";
+    name = "hakuneko-desktop";
+    type = "Application";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "hakuneko";
-  version = "1.4.2";
+  version = "5.0.8";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/hakuneko/hakuneko_${version}_src.tar.gz";
-    sha256 = "76a63fa05e91b082cb5a70a8abacef005354e99978ff8b1369f7aa0af7615d52";
-  };
+  src = {
+    "x86_64-linux" = fetchurl {
+      url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_amd64.deb";
+      sha256 = "924df1d7a0ab54b918529165317e4428b423c9045548d1e36bd634914f7957f0";
+    };
+    "i686-linux" = fetchurl {
+      url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_i386.deb";
+      sha256 = "988d8b0e8447dcd0a8d85927f5877bca9efb8e4b09ed3c80a6788390e54a48d2";
+    };
+  }."${stdenv.hostPlatform.system}";
+
+  dontBuild = true;
+  dontConfigure = true;
+  dontPatchELF = true;
+  dontWrapGApps = true;
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    makeWrapper
+    wrapGAppsHook
+  ];
+
+  buildInputs = atomEnv.packages;
+
+  unpackPhase = ''
+    # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
+    dpkg --fsys-tarfile $src | tar --extract
+  '';
 
-  preConfigure = ''
-    substituteInPlace ./configure \
-       --replace /bin/bash $shell
-    '';
+  installPhase = ''
+    cp -R usr "$out"
+    # Overwrite existing .desktop file.
+    cp "${desktopItem}/share/applications/hakuneko-desktop.desktop" \
+       "$out/share/applications/hakuneko-desktop.desktop"
+  '';
 
-  buildInputs = [ wxGTK30 openssl curl ];
+  runtimeDependencies = [
+    udev.lib
+  ];
 
-  meta = {
-    description = "Manga downloader";
-    homepage = https://sourceforge.net/projects/hakuneko/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+  postFixup = ''
+    makeWrapper $out/lib/hakuneko-desktop/hakuneko $out/bin/hakuneko \
+      "''${gappsWrapperArgs[@]}"
+  '';
 
-    # This project was abandoned upstream.
-    broken = true;
+  meta = with stdenv.lib; {
+    description = "Manga & Anime Downloader";
+    homepage = "https://sourceforge.net/projects/hakuneko/";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [
+      nloomans
+    ];
+    platforms = [
+      "x86_64-linux"
+      "i686-linux"
+    ];
   };
 }
diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix
index bf1501155d9..109a84de631 100644
--- a/pkgs/tools/misc/jdupes/default.nix
+++ b/pkgs/tools/misc/jdupes/default.nix
@@ -2,20 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "jdupes";
-  version = "1.13.2";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "jbruchon";
     repo  = "jdupes";
     rev   = "v${version}";
-    sha256 = "1dzw1h9x9addkxf7r8lb8y09wmdkx8i61f5m96589r88jjk965xy";
+    sha256 = "18hn25f7cdz1li0vvx74al7a8z2220xhzjp9j6idhldsmjnscgq8";
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The testdir
     # directories have such files and will be removed.
     extraPostFetch = "rm -r $out/testdir";
   };
 
-  makeFlags = [ "PREFIX=$(out)" ] ++ stdenv.lib.optional stdenv.isLinux "ENABLE_BTRFS=1";
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    "ENABLE_DEDUPE=1"
+    "STATIC_DEDUPE_H=1"
+  ];
 
   enableParallelBuilding = true;
 
@@ -32,7 +37,7 @@ stdenv.mkDerivation rec {
       duplicate files. This fork known as 'jdupes' is heavily modified
       from and improved over the original.
     '';
-    homepage = https://github.com/jbruchon/jdupes;
+    homepage = "https://github.com/jbruchon/jdupes";
     license = licenses.mit;
     maintainers = with maintainers; [ romildo ];
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index db697bc9d51..4ea27ce092f 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,12 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "v0.3.1";
-  rev = version;
+  version = "0.3.1";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "cantino";
     repo = "mcfly";
+    rev = "v${version}";
     sha256 = "0pmyw21zns4zn7pffji4yvbj63fx3g15cx81pk4bs6lzyz5zbdc2";
   };
 
diff --git a/pkgs/tools/misc/pfetch/default.nix b/pkgs/tools/misc/pfetch/default.nix
index 491844f26b7..a858ad696af 100644
--- a/pkgs/tools/misc/pfetch/default.nix
+++ b/pkgs/tools/misc/pfetch/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenvNoCC, lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "pfetch";
   version = "0.4.0";
 
@@ -11,14 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "180vvbmvak888vs4dgzlmqk0ss4qfsz09700n4p8s68j7krkxsfq";
   };
 
-  dontbuild = true;
+  dontBuild = true;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp pfetch $out/bin
+    install -Dm755 -t $out/bin pfetch
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A pretty system information tool written in POSIX sh";
     homepage = https://github.com/dylanaraps/pfetch;
     license = licenses.mit;
diff --git a/pkgs/tools/misc/pg_flame/default.nix b/pkgs/tools/misc/pg_flame/default.nix
index a7b483a3f06..fbeba0ff1bd 100644
--- a/pkgs/tools/misc/pg_flame/default.nix
+++ b/pkgs/tools/misc/pg_flame/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pg_flame";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "mgartner";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13r35n4sy9s4343l3vc896av629wqr7m225ih2bbrm8qq70fwhwv";
+    sha256 = "1a03vxqnga83mhjp7pkl0klhkyfaby7ncbwm45xbl8c7s6zwhnw2";
   };
 
   modSha256 = "0j7qpvji546z0cfjijdd66l0vsl0jmny6i1n9fsjqjgjpwg26naq";
diff --git a/pkgs/tools/misc/pipreqs/default.nix b/pkgs/tools/misc/pipreqs/default.nix
index 15c5cbc0eb1..9925021b3f6 100644
--- a/pkgs/tools/misc/pipreqs/default.nix
+++ b/pkgs/tools/misc/pipreqs/default.nix
@@ -3,11 +3,11 @@
 # Using python 2 because when packaging with python 3 pipreqs fails to parse python 2 code.
 python2Packages.buildPythonApplication rec {
   pname = "pipreqs";
-  version = "0.4.9";
+  version = "0.4.10";
 
   src = python2Packages.fetchPypi {
     inherit pname version;
-    sha256 = "cec6eecc4685967b27eb386037565a737d036045f525b9eb314631a68d60e4bc";
+    sha256 = "0fdr3mbxjpmrxr7yfc1sn9kbpcyb0qwafimhhrrqvf989dj1sdcy";
   };
 
   propagatedBuildInputs = with python2Packages; [ yarg docopt ];
diff --git a/pkgs/tools/misc/skim/default.nix b/pkgs/tools/misc/skim/default.nix
index 55e6e5424d7..0c8e2da36df 100644
--- a/pkgs/tools/misc/skim/default.nix
+++ b/pkgs/tools/misc/skim/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "skim";
-  version = "0.6.9";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "lotabout";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ygnjrljar4caybh8lqfjif4vhb33aam80ffnzgqxz6s6g85ifrb";
+    sha256 = "0is6zymvy673f1g466i3ayi4jawdl7pm9l3cbdxcw32h3snbkgqp";
   };
 
   outputs = [ "out" "vim" ];
 
-  cargoSha256 = "1vcxcyhhqncjii0pad775x10j1kp62y82q1mii65jclr1karml3p";
+  cargoSha256 = "1dl530ac8i4wdw7lziskl7rhh3ak9ykcws3kpy64808kxg3b1jnz";
 
   patchPhase = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with stdenv.lib; {
     description = "Command-line fuzzy finder written in Rust";
-    homepage = https://github.com/lotabout/skim;
+    homepage = "https://github.com/lotabout/skim";
     license = licenses.mit;
     maintainers = with maintainers; [ dywedir ];
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 466a5f3faf1..283503f2878 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "0605j4f3plb6q8lwf82y2jhply6dwj49jgxk8j16wsbf5k7lqzfq";
+    sha256 = "0wpf82xf61r9r20whhb83wk3408wac1if8awqm3bb36b9j7ni5jr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index fa59935f561..9c9a4450ee8 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.33.0";
+  version = "0.33.1";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wqxcfd7ams3k0swps9037dzc1qzxhpbqaz4qjw9jabgcl6jkb6v";
+    sha256 = "15z8iwig10brjxirr9nm1aibjz6qpd82v7n9c4i2q1q9qvb3j5cs";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
       --replace "/bin/echo" "echo"
   '';
 
-  cargoSha256 = "0gcca3vlwrfhw9k4r9zc1raflr1m4xws9dpdxjh1kz34f9g88ijg";
+  cargoSha256 = "16jr96ljd34x3fa2jahcqmjm1ds8519hx391wv1snk7y70fz1314";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 060975f2002..17d11d7e48a 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, Foundation }:
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
@@ -13,11 +13,13 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1y85hl7xl60vsj3ivm6pyd6bvk39wqg25bqxfx00r9myha94iqmd";
 
-  meta = with stdenv.lib; {
+  buildInputs = lib.optional stdenv.isDarwin Foundation;
+
+  meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ filalex77 hugoreeves ];
   };
 }
diff --git a/pkgs/tools/misc/txr/default.nix b/pkgs/tools/misc/txr/default.nix
index 0f68ca82ece..a6b851e18ae 100644
--- a/pkgs/tools/misc/txr/default.nix
+++ b/pkgs/tools/misc/txr/default.nix
@@ -2,21 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "txr";
-  version = "230";
+  version = "231";
 
   src = fetchurl {
     url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
-    sha256 = "03ab9drdqvkfq240pkrx6197jjvvjizjwfx9psjmm6lixksw0kjx";
+    sha256 = "0mcglb84zfmrai2bcdg9j0ck8jp8h7ii2rf4m38yjggy0dvii2lc";
   };
 
   nativeBuildInputs = [ bison flex ];
   buildInputs = [ libffi ];
 
-  # fix usage of off_t without include
-  postPatch = ''
-    sed -i '1i#include <sys/types.h>' sysif.h
-  '';
-
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/pkgs/tools/misc/usbmuxd/default.nix b/pkgs/tools/misc/usbmuxd/default.nix
index 9b94d003706..5935710164c 100644
--- a/pkgs/tools/misc/usbmuxd/default.nix
+++ b/pkgs/tools/misc/usbmuxd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "usbmuxd";
-  version = "2019-03-05";
+  version = "2019-11-11";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = "b1b0bf390363fa36aff1bc09443ff751943b9c34";
-    sha256 = "176hapckx98h4x0ni947qpkv2s95f8xfwz00wi2w7rgbr6cviwjq";
+    rev = "9af2b12552693a47601347e1eafc1e94132d727e";
+    sha256 = "0w8mf2wfpqijg882vhb8xarlp6zja23xf0b59z5zi774pnpjbqvj";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/vmtouch/default.nix b/pkgs/tools/misc/vmtouch/default.nix
index fda442a6729..6397a093347 100644
--- a/pkgs/tools/misc/vmtouch/default.nix
+++ b/pkgs/tools/misc/vmtouch/default.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vmtouch";
-  version = "1.3.0";
-  name = "${pname}-git-${version}";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "hoytech";
     repo = "vmtouch";
     rev = "v${version}";
-    sha256 = "0xpigfpwidk25k605y2m2g1952nzl5fgp0wn65hhn7hbra7srglf";
+    sha256 = "08da6apzfkfjwasn4dxrlfxqfx7arl28apdzac5nvm0fhvws0dxk";
   };
 
   buildInputs = [perl];
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index a685dc7cbde..58ad9182261 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "13.0.2";
+  version = "13.0.3";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
+    sha256 = "16g23nm1x1a142rmnljdclq03c5anfzyiiazxaxyka8bggzhfmmc";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index d369bb4fed7..e106c3b8595 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -11,7 +11,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0k93p9csyjm0w33diwl5s22kzs3g78jl3n9k8nxxpqrybfjl912f";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ lxml pyamf pycrypto requests future ffmpeg ];
+  propagatedBuildInputs = with pythonPackages; [
+    lxml pyamf pycrypto requests future ffmpeg setuptools
+  ];
   pythonPath = [ rtmpdump php ];
 
   doCheck = false; # tests require network access
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 415ec83be2f..875eccac942 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2019.12.25";
+  version = "2020.01.15";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "13f7wv9v77zilhif0ndgjv4wn9glhmm14yh7axdcx5wglrgz38hf";
+    sha256 = "0dyjc8nxyg9ry2ylmblh3fwavpais3mdfj6ndw4i0yc2vkw12rsm";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 1fa43e5849e..a9ddd9a8b68 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Console downloading program with some features for parallel connections for faster downloading";
     homepage = "https://github.com/axel-download-accelerator/axel";
     maintainers = with maintainers; [ pSub ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix
index cfccefab351..a399e7209af 100644
--- a/pkgs/tools/networking/bandwhich/default.nix
+++ b/pkgs/tools/networking/bandwhich/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bandwhich";
-  version = "0.8.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "imsnif";
     repo = pname;
     rev = version;
-    sha256 = "1pd0hy17knalq4m5517ymbg95fa141843ir9283djlh3iqfgkm37";
+    sha256 = "0xq2lv06dx7g00b4amk131krlsb6acsz7b228pn3iz6gy31fhz3y";
   };
 
-  cargoSha256 = "14mb6rbjxv3r8awvy0rjc23lyhg92q1q1dik6q1za1aq9w8yipwf";
+  cargoSha256 = "1sa81570cvvpqgdcpnb08b0q4c6ap8a2wxfp2z336jzbv0zgv8a6";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/cassowary/default.nix b/pkgs/tools/networking/cassowary/default.nix
new file mode 100644
index 00000000000..bc1f9cebb42
--- /dev/null
+++ b/pkgs/tools/networking/cassowary/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, }:
+
+buildGoModule rec {
+  pname = "cassowary";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "rogerwelin";
+    repo = pname;
+    rev = "33b7e81a5d147980f4ddc689818df2b071f6ab4e";
+    sha256 = "01cdmh2v9rz8rna08hdsddllck6zp9wcrhxdy6hs77zfsbzyfflx";
+  };
+
+  modSha256 = "1iylnnmj5slji89pkb3shp4xqar1zbpl7bzwddbzpp8y52fmsv1c";
+
+  meta = with lib; {
+    homepage = "https://github.com/rogerwelin/cassowary";
+    description = "Modern cross-platform HTTP load-testing tool written in Go ";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hugoreeves ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/corerad/default.nix b/pkgs/tools/networking/corerad/default.nix
index 6f9ea09eea1..c5cbd8c21f5 100644
--- a/pkgs/tools/networking/corerad/default.nix
+++ b/pkgs/tools/networking/corerad/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "corerad";
-  version = "0.1.4";
+  version = "0.1.8";
 
   goPackagePath = "github.com/mdlayher/corerad";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "mdlayher";
     repo = "corerad";
     rev = "v${version}";
-    sha256 = "0qlmmgdz69gqqn6h5kb3gsjyj7lm6pcfcx9xlmrxhisj914ij76r";
+    sha256 = "13js6p3svx2xp20yjpb5w71rnyrhiiqbbvsck45i756j1lndaqxr";
   };
 
-  modSha256 = "0vim91yvw0cf9bd10hfanz8azq7q19lp2x61rs44ycx9zm3qdhcw";
+  modSha256 = "03x7r392bwchmd3jzwwykdfkr9lfdn77phfwh8xfk2avhzq7qs89";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/mdlayher/corerad";
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix
index 4230762d946..38fdab358c9 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/tools/networking/httpie/default.nix
@@ -2,22 +2,18 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "httpie";
-  version = "1.0.3";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "jakubroztocil";
     repo = "httpie";
     rev = version;
-    sha256 = "0y30sp0x3nmgzi4dqw1rc3705hnn36ij0zlyyx7g6fqdq8bd8p5q";
+    sha256 = "0d0rsn5i973l9y0ws3xmnzaw4jwxdlryyjbasnlddph5mvkf7dq0";
   };
 
   propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ];
   dontUseSetuptoolsCheck = true;
-
-  disabledTests = [
-    "test_current_version"
-    "test_error"
-  ];
+  patches = [ ./strip-venv.patch ];
 
   checkInputs = with python3Packages; [
     mock
diff --git a/pkgs/tools/networking/httpie/strip-venv.patch b/pkgs/tools/networking/httpie/strip-venv.patch
new file mode 100644
index 00000000000..99ea80a3f56
--- /dev/null
+++ b/pkgs/tools/networking/httpie/strip-venv.patch
@@ -0,0 +1,19 @@
+diff --git a/tests/test_docs.py b/tests/test_docs.py
+index 7a41822..720ecf6 100644
+--- a/tests/test_docs.py
++++ b/tests/test_docs.py
+@@ -41,12 +41,10 @@ assert filenames
+ 
+ # HACK: hardcoded paths, venv should be irrelevant, etc.
+ # TODO: replaces the process with Python code
+-VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
+-VENV_PYTHON = VENV_BIN / 'python'
+-VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
++VENV_PYTHON = 'python'
++VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
+ 
+ 
+-@pytest.mark.skipif(not os.path.exists(VENV_RST2PSEUDOXML), reason='docutils not installed')
+ @pytest.mark.parametrize('filename', filenames)
+ def test_rst_file_syntax(filename):
+     p = subprocess.Popen(
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index c59eb09f4c5..bea61b082ec 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ openssl ];
+  configureFlags = [
+    "--with-openssl=${openssl.dev}"
+  ];
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 9a982e53825..602ada1476a 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lftp";
-  version = "4.9.0";
+  version = "4.9.1";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz"
       "https://lftp.yar.ru/ftp/${pname}-${version}.tar.xz"
       ];
-    sha256 = "0km267h57mlrd7gnn9gf40znvb3irwfc0qaql8kii8v936g6afqb";
+    sha256 = "0jq2g8h1bx06ya9fsja748vwb2qrca4wsfrgi3fmaa8hznpgqsar";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 6c2a42e3a24..cdd954e1975 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
     # We install msg2pdf to bin/msg2pdf, fix its location in elisp
     substituteInPlace mu4e/mu4e-actions.el \
-      --replace "/toys/msg2pdf/msg2pdf" "/bin/msg2pdf"
+      --replace "/toys/msg2pdf/" "/bin/"
   '';
 
   # Install mug and msg2pdf
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index 7f9d194e44a..3411aca5551 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nebula";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "slackhq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j7fna352z8kzx6n0hck7rp122c0v44j9syz0v30vq47xq2pwj5c";
+    sha256 = "0nwagk3q2gkirqrk27fisad2c2p2y1lsvz5phax9v5h51p1y79ia";
   };
 
-  modSha256 = "130h0gc5z0w5inpc99y6mismwg3nyzk3bqdq5v9yclkxlhkbcp6d";
+  modSha256 = "1sy5mnwn9fxjf3y41lm8gsggid2c0y08iw88m9ng8psaf4qid8ij";
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index cd5f2bf18cb..70820ea0320 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "subfinder";
-  version = "2.2.4";
+  version = "2.3.0";
 
   goPackagePath = "github.com/projectdiscovery/subfinder";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00ni835zvgrj8gmmmpjdszrcijyd6apig8rpb4g2z3g016b6gwar";
+    sha256 = "1vjxi2h4njakyqkfzwwaacy37kqx66j2y3k5l752z9va73gv7xv1";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index fefff857381..89177f49ecf 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses, libnl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.0";
+  version = "0.9.1";
   baseName = "wavemon";
   name = "${baseName}-${version}";
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "uoaerg";
     repo = "wavemon";
     rev = "v${version}";
-    sha256 = "07cid0h3mcyr74nnrzzf8k5n1p9a4y3wij43jbiaqmkpxilcc1i6";
+    sha256 = "109ycwnjjqc2vpnd8b86njfifczlxglnyv4rh2qmbn2i5nw2wryg";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index a4acdf0a341..60091742e0d 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "1.1.8";
+  version = "1.1.10";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yy75iagyrr96y7497hbbizrm59c757mshwicl1b7ni2sn3p63fh";
+    sha256 = "0qn9hybqnhyf1xb6n0m4qq2ac8h187i2pjkkik73qly1hmyq45j7";
   };
 
-  modSha256 = "05hcn0k1zb4k4p3aaas7b276jw607cv290np9vmyqxb3khzv4vjg";
+  modSha256 = "037ihnvssgkzbg94yfw4lwqnhj02m187dfn1fm7i6yv13kf0gkpx";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/pkgs/tools/package-management/nix-bundle/default.nix b/pkgs/tools/package-management/nix-bundle/default.nix
index cd90e50d70e..b78b3bf07cd 100644
--- a/pkgs/tools/package-management/nix-bundle/default.nix
+++ b/pkgs/tools/package-management/nix-bundle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nix-bundle";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "matthewbauer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0klabmygbhzlwxja8p2w8fp8ip3xaa5ym9c15rp9qxzh03hfmdjx";
+    sha256 = "084m9hqm1nhwln2sbg8ck2v2dprvpldxxqmd1r8fcj3dmn4bysz0";
   };
 
   # coreutils, gnutar is actually needed by nix for bootstrap
diff --git a/pkgs/tools/package-management/nix-prefetch/default.nix b/pkgs/tools/package-management/nix-prefetch/default.nix
index f88820ffad9..19a40b7395f 100644
--- a/pkgs/tools/package-management/nix-prefetch/default.nix
+++ b/pkgs/tools/package-management/nix-prefetch/default.nix
@@ -2,17 +2,15 @@
 , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt
 , coreutils, gawk, gnugrep, gnused, jq, nix }:
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
   pname = "nix-prefetch";
-  version = "0.1.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "msteen";
     repo = "nix-prefetch";
-    rev = "f9507a655651b51f3a3ebacde85bb40758853615";
-    sha256 = "0ykrbvbwwpz348424yy2452idgw8dffi3klh7n85n96dfflyyd4s";
+    rev = version;
+    sha256 = "0b9gdi7xzmfq0j258x724xsll8gi31m0m4pzfjkqinlm6zwr3sgm";
   };
 
   nativeBuildInputs = [
@@ -40,7 +38,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/bin
     makeWrapper $lib/main.sh $out/bin/${pname} \
-      --prefix PATH : '${makeBinPath [ coreutils gawk gnugrep gnused jq nix ]}'
+      --prefix PATH : '${stdenv.lib.makeBinPath [ coreutils gawk gnugrep gnused jq nix ]}'
 
     substitute src/tests.sh $lib/tests.sh \
       --subst-var-by bin $out/bin
@@ -55,13 +53,13 @@ stdenv.mkDerivation rec {
     install -D contrib/nix-prefetch-completion.bash $out/share/bash-completion/completions/nix-prefetch
     install -D contrib/nix-prefetch-completion.zsh $out/share/zsh/site-functions/_nix_prefetch
 
-    mkdir $out/contrib
-    cp -r contrib/hello_rs $out/contrib/
+    mkdir -p $out/share/doc/${pname}/contrib
+    cp -r contrib/hello_rs $out/share/doc/${pname}/contrib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Prefetch any fetcher function call, e.g. package sources";
-    homepage = https://github.com/msteen/nix-prefetch;
+    homepage = "https://github.com/msteen/nix-prefetch";
     license = licenses.mit;
     maintainers = with maintainers; [ msteen ];
     platforms = platforms.all;
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 81cfcb662c4..dc69ae457dc 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "packagekit";
-  version = "1.1.12";
+  version = "1.1.13";
 
   outputs = [ "out" "dev" ];
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "02wq3jw3mkdld90irh5vdfd5bri2g1p89mhrmj56kvif1fqak46x";
+    sha256 = "0xmgac27p5z8wr56yw3cqhywnlvaf8kvyv1g0nzxnq167xj5vxam";
   };
 
   buildInputs = [ glib polkit python3 gobject-introspection ]
@@ -40,7 +40,8 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
-    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system/"
+    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+    "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
   ]
   ++ lib.optional enableNixBackend "--enable-nix"
   ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
@@ -49,7 +50,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=\${TMPDIR}"
   ];
 
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index ae0259e65fc..05d293b5bf1 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -50,6 +50,11 @@ stdenv.mkDerivation rec {
       sed -i $out/lib/rpm/macros -e "s/^%__$tool.*/%__$tool $tool/"
     done
 
+    # Avoid helper scripts pointing to absolute paths
+    for tool in find-provides find-requires; do
+      sed -i $out/lib/rpm/$tool -e "s#/usr/lib/rpm/#$out/lib/rpm/#"
+    done
+
     # symlinks produced by build are incorrect
     ln -sf $out/bin/{rpm,rpmquery}
     ln -sf $out/bin/{rpm,rpmverify}
diff --git a/pkgs/tools/security/chrome-token-signing/default.nix b/pkgs/tools/security/chrome-token-signing/default.nix
index 5e304f86b4e..76c845e7a99 100644
--- a/pkgs/tools/security/chrome-token-signing/default.nix
+++ b/pkgs/tools/security/chrome-token-signing/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, qmake, pcsclite, pkgconfig, opensc }:
+{ mkDerivation, fetchFromGitHub, qmake, pcsclite, pkgconfig, opensc }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "chrome-token-signing";
   version = "1.0.7";
 
diff --git a/pkgs/tools/security/fido2luks/default.nix b/pkgs/tools/security/fido2luks/default.nix
new file mode 100644
index 00000000000..0bb5a91a81a
--- /dev/null
+++ b/pkgs/tools/security/fido2luks/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, cryptsetup
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fido2luks";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "shimunn";
+    repo = pname;
+    rev = version;
+    sha256 = "018qzbgmgm0f0d0c7i54nqqjbr4k5mzy1xfavi6hpifjll971wci";
+  };
+
+  buildInputs = [ cryptsetup ];
+  nativeBuildInputs = [ pkg-config ];
+
+  cargoSha256 = "1kf757wxxk5h8dfbz588qw1pnyjbg5qzr7rz14i7x8rhmn5xwb74";
+  verifyCargoDeps = true;
+
+  meta = with stdenv.lib; {
+    description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
+    homepage = "https://github.com/shimunn/fido2luks";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ prusnak mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix
index 7146cc52e9e..83b630a4f4f 100644
--- a/pkgs/tools/security/jwt-cli/default.nix
+++ b/pkgs/tools/security/jwt-cli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
@@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "005y92acsn5j490jkp23ny7bsjd9ql1glybmbh4cyc8b15hmy618";
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
   meta = with stdenv.lib; {
     description = "Super fast CLI tool to decode and encode JWTs";
     homepage = "https://github.com/mike-engel/jwt-cli";
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 1b66dab35c8..f88c533d71d 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,24 +1,16 @@
 { stdenv, fetchurl, fetchpatch, libpcap, pkgconfig, openssl, lua5_3
+, pcre, liblinear, libssh2
 , graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
-, withPython ? false # required for the `ndiff` binary
-, python2Packages ? null
+, python2 ? null
 , makeWrapper ? null
 , withLua ? true
 }:
 
-assert withPython -> python2Packages != null;
-
 with stdenv.lib;
 
-let
-
-  # Zenmap (the graphical program) also requires Python,
-  # so automatically enable pythonSupport if graphicalSupport is requested.
-  pythonSupport = withPython || graphicalSupport;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
   version = "7.80";
 
@@ -48,10 +40,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [
     (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
-  ]
-    ++ optional (!pythonSupport) "--without-ndiff"
-    ++ optional (!graphicalSupport) "--without-zenmap"
-    ;
+  ] ++ optionals (!graphicalSupport) [ "--without-ndiff" "--without-zenmap" ];
 
   makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "AR=${stdenv.cc.bintools.targetPrefix}ar"
@@ -59,18 +48,22 @@ in stdenv.mkDerivation rec {
     "CC=${stdenv.cc.targetPrefix}gcc"
   ];
 
-  postInstall = optionalString pythonSupport ''
-      wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
-  '' + optionalString graphicalSupport ''
-      wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath $pygtk)/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath $pygobject)/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath $pycairo)/gtk-2.0
+  pythonPath = with python2.pkgs; optionals graphicalSupport  [
+    pygtk pysqlite pygobject2 pycairo
+  ];
+
+  nativeBuildInputs = [ pkgconfig ] ++ optionals graphicalSupport [ python2.pkgs.wrapPython ];
+  buildInputs = [ pcre liblinear libssh2 libpcap openssl ] ++ optionals graphicalSupport (with python2.pkgs; [
+    python2 libX11 gtk2
+  ]);
+
+  postInstall = optionalString graphicalSupport ''
+    buildPythonPath "$out $pythonPath"
+    patchPythonScript $out/bin/ndiff
+    patchPythonScript $out/bin/zenmap
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = with python2Packages; [ libpcap openssl ]
-    ++ optionals pythonSupport [ makeWrapper python ]
-    ++ optionals graphicalSupport [
-      libX11 gtk2 pygtk pysqlite pygobject2 pycairo
-    ];
+  enableParallelBuilding = true;
 
   doCheck = false; # fails 3 tests, probably needs the net
 
diff --git a/pkgs/tools/security/nmap/qt.nix b/pkgs/tools/security/nmap/qt.nix
index f873c475bbf..2dcd7fed0c4 100644
--- a/pkgs/tools/security/nmap/qt.nix
+++ b/pkgs/tools/security/nmap/qt.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, makeWrapper
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook
 , dnsutils, nmap
 , qtbase, qtscript, qtwebengine }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "10wqyrjzmad1g7lqa65rymbkna028xbp4xcpj442skw8gyrs3994";
   };
 
-  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
 
   buildInputs = [ qtbase qtscript qtwebengine ];
 
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 5d0e94bc803..54a8f4de7d7 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -111,6 +111,12 @@ let
     '' + stdenv.lib.optionalString stdenv.isDarwin ''
       # 'pass edit' uses hdid, which is not available from the sandbox.
       rm -f tests/t0200-edit-tests.sh
+      rm -f tests/t0010-generate-tests.sh
+      rm -f tests/t0020-show-tests.sh
+      rm -f tests/t0050-mv-tests.sh
+      rm -f tests/t0100-insert-tests.sh
+      rm -f tests/t0300-reencryption.sh
+      rm -f tests/t0400-grep.sh
     '';
 
     doCheck = false;
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
new file mode 100644
index 00000000000..63cc2972a58
--- /dev/null
+++ b/pkgs/tools/security/rage/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rage";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "str4d";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ri4rfhy1wl0cppi2cp97kkiz08x2f072yfahn2kv9r4v1i9f4a7";
+  };
+
+  cargoSha256 = "02adwvcvha83zcvc5n7p88l7wmkg52j2xhznmhabc0zn328as2yd";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    description = "A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability";
+    homepage = "https://github.com/str4d/rage";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/system/bfs/default.nix b/pkgs/tools/system/bfs/default.nix
index a304fce352f..1387a6c6ed1 100644
--- a/pkgs/tools/system/bfs/default.nix
+++ b/pkgs/tools/system/bfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    sha256 = "1yp8zaj2rqd1df20wxym1x7q5d3lxqwalazbvmfnwqn5y4m368y3";
+    sha256 = "04jgah6yvz3i2bwrv1ki2nmj1yinba7djbfq8n8ism4gffsza9dz";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ];
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index 626963bc601..6b19251acf8 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -2,26 +2,28 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "mdcat-${version}";
-    sha256 = "1q8h6pc1i89j1zl4s234inl9v95vsdrry1fzlis89sl2mnbv8ywy";
+    sha256 = "1x9c3cj3y8wvwr74kbz6nrdh61rinr98gcp3hnjpi6c3vg3xx4wh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "1hxsfls6fpllc9yg5ib3qz6pa62j1y1va8a6356j6812csk4ifnn";
+  cargoSha256 = "1kc434pa72n9xll2r4ddmd9xdwv3ls36cwsmdry392j41zmics51";
 
   checkInputs = [ ansi2html ];
   checkPhase = ''
     # Skip tests that use the network and that include files.
-    cargo test -- --skip terminal::iterm2 --skip terminal::resources::tests::remote \
+    cargo test -- --skip terminal::iterm2 \
       --skip magic::tests::detect_mimetype_of_svg_image \
-      --skip magic::tests::detect_mimetype_of_png_image
+      --skip magic::tests::detect_mimetype_of_png_image \
+      --skip resources::tests::read_url_with_http_url_fails_when_status_404 \
+      --skip resources::tests::read_url_with_http_url_returns_content_when_status_200
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/unoconv/default.nix b/pkgs/tools/text/unoconv/default.nix
index 879f903ade9..380b172f702 100644
--- a/pkgs/tools/text/unoconv/default.nix
+++ b/pkgs/tools/text/unoconv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python3, libreoffice-unwrapped, asciidoc, makeWrapper
+{ stdenv, fetchFromGitHub, python3, libreoffice-unwrapped, asciidoc, makeWrapper
 # whether to install odt2pdf/odt2doc/... symlinks to unoconv
 , installSymlinks ? true
 }:
@@ -7,19 +7,18 @@
 # will not be able to load the pyuno module from libreoffice).
 
 stdenv.mkDerivation rec {
-  name = "unoconv-0.6";
-
-  src = fetchurl {
-    url = "http://dag.wieers.com/home-made/unoconv/${name}.tar.gz";
-    sha256 = "1m3kv942zf5rzyrbkil0nhmyq9mm3007y64bb3s7w88mhr5n23kr";
+  pname = "unoconv";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "unoconv";
+    repo = "unoconv";
+    rev = version;
+    sha256 = "0ix605lk0k3hv241jb2kf4jq5744q2wh9x0pzkmay5m126vv8kq4";
   };
 
   buildInputs = [ asciidoc makeWrapper ];
 
-  # We need to use python3 because libreoffice 4.x uses it. This patch comes
-  # from unoconv.git, so it will be a part of the next release.
-  patches = [ ./unoconv-python3.patch ];
-
   preBuild = ''
     makeFlags=prefix="$out"
   '';
diff --git a/pkgs/tools/text/unoconv/unoconv-python3.patch b/pkgs/tools/text/unoconv/unoconv-python3.patch
deleted file mode 100644
index 2c6e9c71941..00000000000
--- a/pkgs/tools/text/unoconv/unoconv-python3.patch
+++ /dev/null
@@ -1,374 +0,0 @@
-commit fc59dd90f03cf88f4cf16c07204809f2239284ee
-Author: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
-Date:   Thu Dec 20 00:02:53 2012 +0100
-
-    Add support for python3
-    
-    Libreoffice 4.0 will switch its internal python version to 3.3.0
-    so it's to support that.
-    
-    Porting done automatically 2to3 plus print_function import added
-    manually. Tested on both libreoffice master with internal python
-    and with libreoffince 3.6.4 on debian with system python 2.7.
-    
-    This bumps the minimal python version to 2.6 since 2.5 does not
-    have the print function.
-
-diff --git a/unoconv b/unoconv
-index 30e6706..f72cf08 100755
---- a/unoconv
-+++ b/unoconv
-@@ -14,6 +14,8 @@
- ### Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- ### Copyright 2007-2010 Dag Wieers <dag@wieers.com>
- 
-+from __future__ import print_function
-+
- from distutils.version import LooseVersion
- import getopt
- import glob
-@@ -77,11 +79,11 @@ def find_offices():
-     else:
- 
-         if os.name in ( 'nt', 'os2' ):
--            if 'PROGRAMFILES' in os.environ.keys():
-+            if 'PROGRAMFILES' in list(os.environ.keys()):
-                 extrapaths += glob.glob(os.environ['PROGRAMFILES']+'\\LibreOffice*') + \
-                               glob.glob(os.environ['PROGRAMFILES']+'\\OpenOffice.org*')
- 
--            if 'PROGRAMFILES(X86)' in os.environ.keys():
-+            if 'PROGRAMFILES(X86)' in list(os.environ.keys()):
-                 extrapaths += glob.glob(os.environ['PROGRAMFILES(X86)']+'\\LibreOffice*') + \
-                               glob.glob(os.environ['PROGRAMFILES(X86)']+'\\OpenOffice.org*')
- 
-@@ -233,18 +235,18 @@ def office_environ(office):
- 
- def debug_office():
-     if 'URE_BOOTSTRAP' in os.environ:
--        print >>sys.stderr, 'URE_BOOTSTRAP=%s' % os.environ['URE_BOOTSTRAP']
-+        print('URE_BOOTSTRAP=%s' % os.environ['URE_BOOTSTRAP'], file=sys.stderr)
-     if 'UNO_PATH' in os.environ:
--        print >>sys.stderr, 'UNO_PATH=%s' % os.environ['UNO_PATH']
-+        print('UNO_PATH=%s' % os.environ['UNO_PATH'], file=sys.stderr)
-     if 'UNO_TYPES' in os.environ:
--        print >>sys.stderr, 'UNO_TYPES=%s' % os.environ['UNO_TYPES']
--    print 'PATH=%s' % os.environ['PATH']
-+        print('UNO_TYPES=%s' % os.environ['UNO_TYPES'], file=sys.stderr)
-+    print('PATH=%s' % os.environ['PATH'])
-     if 'PYTHONHOME' in os.environ:
--        print >>sys.stderr, 'PYTHONHOME=%s' % os.environ['PYTHONHOME']
-+        print('PYTHONHOME=%s' % os.environ['PYTHONHOME'], file=sys.stderr)
-     if 'PYTHONPATH' in os.environ:
--        print >>sys.stderr, 'PYTHONPATH=%s' % os.environ['PYTHONPATH']
-+        print('PYTHONPATH=%s' % os.environ['PYTHONPATH'], file=sys.stderr)
-     if 'LD_LIBRARY_PATH' in os.environ:
--        print >>sys.stderr, 'LD_LIBRARY_PATH=%s' % os.environ['LD_LIBRARY_PATH']
-+        print('LD_LIBRARY_PATH=%s' % os.environ['LD_LIBRARY_PATH'], file=sys.stderr)
- 
- def python_switch(office):
-     if office.pythonhome:
-@@ -335,11 +337,11 @@ class FmtList:
-         return ret
- 
-     def display(self, doctype):
--        print >>sys.stderr, "The following list of %s formats are currently available:\n" % doctype
-+        print("The following list of %s formats are currently available:\n" % doctype, file=sys.stderr)
-         for fmt in self.list:
-             if fmt.doctype == doctype:
--                print >>sys.stderr, "  %-8s - %s" % (fmt.name, fmt)
--        print >>sys.stderr
-+                print("  %-8s - %s" % (fmt.name, fmt), file=sys.stderr)
-+        print(file=sys.stderr)
- 
- fmts = FmtList()
- 
-@@ -530,14 +532,14 @@ class Options:
-                  'outputpath', 'password=', 'pipe=', 'port=', 'server=',
-                  'timeout=', 'show', 'stdout', 'template', 'verbose',
-                  'version'] )
--        except getopt.error, exc:
--            print 'unoconv: %s, try unoconv -h for a list of all the options' % str(exc)
-+        except getopt.error as exc:
-+            print('unoconv: %s, try unoconv -h for a list of all the options' % str(exc))
-             sys.exit(255)
- 
-         for opt, arg in opts:
-             if opt in ['-h', '--help']:
-                 self.usage()
--                print
-+                print()
-                 self.help()
-                 sys.exit(1)
-             elif opt in ['-c', '--connection']:
-@@ -562,7 +564,7 @@ class Options:
-                         except ValueError:
-                             self.exportfilter.append( PropertyValue( name, 0, value, 0 ) )
-                 else:
--                    print >>sys.stderr, 'Warning: Option %s cannot be parsed, ignoring.' % arg
-+                    print('Warning: Option %s cannot be parsed, ignoring.' % arg, file=sys.stderr)
-             elif opt in ['-f', '--format']:
-                 self.format = arg
-             elif opt in ['-i', '--import']:
-@@ -581,7 +583,7 @@ class Options:
-                         except ValueError:
-                             self.importfilter.append( PropertyValue( name, 0, value, 0 ) )
-                 else:
--                    print >>sys.stderr, 'Warning: Option %s cannot be parsed, ignoring.' % arg
-+                    print('Warning: Option %s cannot be parsed, ignoring.' % arg, file=sys.stderr)
-             elif opt in ['-l', '--listener']:
-                 self.listener = True
-             elif opt in ['-n', '--no-launch']:
-@@ -589,7 +591,7 @@ class Options:
-             elif opt in ['-o', '--output']:
-                 self.output = arg
-             elif opt in ['--outputpath']:
--                print >>sys.stderr, 'Warning: This option is deprecated by --output.'
-+                print('Warning: This option is deprecated by --output.', file=sys.stderr)
-                 self.output = arg
-             elif opt in ['--password']:
-                 self.password = arg
-@@ -615,13 +617,13 @@ class Options:
- 
-         ### Enable verbosity
-         if self.verbose >= 2:
--            print >>sys.stderr, 'Verbosity set to level %d' % self.verbose
-+            print('Verbosity set to level %d' % self.verbose, file=sys.stderr)
- 
-         self.filenames = args
- 
-         if not self.listener and not self.showlist and self.doctype != 'list' and not self.filenames:
--            print >>sys.stderr, 'unoconv: you have to provide a filename as argument'
--            print >>sys.stderr, 'Try `unoconv -h\' for more information.'
-+            print('unoconv: you have to provide a filename as argument', file=sys.stderr)
-+            print('Try `unoconv -h\' for more information.', file=sys.stderr)
-             sys.exit(255)
- 
-         ### Set connection string
-@@ -659,21 +661,21 @@ class Options:
-         ### Get office product information
-         product = uno.getComponentContext().ServiceManager.createInstance("com.sun.star.configuration.ConfigurationProvider").createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", UnoProps(nodepath="/org.openoffice.Setup/Product"))
- 
--        print 'unoconv %s' % VERSION
--        print 'Written by Dag Wieers <dag@wieers.com>'
--        print 'Homepage at http://dag.wieers.com/home-made/unoconv/'
--        print
--        print 'platform %s/%s' % (os.name, sys.platform)
--        print 'python %s' % sys.version
--        print product.ooName, product.ooSetupVersion
-+        print('unoconv %s' % VERSION)
-+        print('Written by Dag Wieers <dag@wieers.com>')
-+        print('Homepage at http://dag.wieers.com/home-made/unoconv/')
-+        print()
-+        print('platform %s/%s' % (os.name, sys.platform))
-+        print('python %s' % sys.version)
-+        print(product.ooName, product.ooSetupVersion)
- #        print
- #        print 'build revision $Rev$'
- 
-     def usage(self):
--        print >>sys.stderr, 'usage: unoconv [options] file [file2 ..]'
-+        print('usage: unoconv [options] file [file2 ..]', file=sys.stderr)
- 
-     def help(self):
--        print >>sys.stderr, '''Convert from and to any format supported by LibreOffice
-+        print('''Convert from and to any format supported by LibreOffice
- 
- unoconv options:
-   -c, --connection=string  use a custom connection string
-@@ -698,7 +700,7 @@ unoconv options:
-   -t, --template=file      import the styles from template (.ott)
-   -T, --timeout=secs       timeout after secs if connection to listener fails
-   -v, --verbose            be more and more verbose (-vvv for debugging)
--'''
-+''', file=sys.stderr)
- 
- class Convertor:
-     def __init__(self):
-@@ -714,7 +716,7 @@ class Convertor:
-         info(3, 'Connection type: %s' % op.connection)
-         try:
-             unocontext = resolver.resolve("uno:%s" % op.connection)
--        except NoConnectException, e:
-+        except NoConnectException as e:
- #            info(3, "Existing listener not found.\n%s" % e)
-             info(3, "Existing listener not found.")
- 
-@@ -749,7 +751,7 @@ class Convertor:
-                         raise
-                 else:
-                     error("Failed to connect to %s (pid=%s) in %d seconds.\n%s" % (office.binary, ooproc.pid, op.timeout, e))
--            except Exception, e:
-+            except Exception as e:
-                 raise
-                 error("Launch of %s failed.\n%s" % (office.binary, e))
- 
-@@ -799,9 +801,9 @@ class Convertor:
-         ### No format found, throw error
-         if not outputfmt:
-             if doctype:
--                print >>sys.stderr, 'unoconv: format [%s/%s] is not known to unoconv.' % (op.doctype, op.format)
-+                print('unoconv: format [%s/%s] is not known to unoconv.' % (op.doctype, op.format), file=sys.stderr)
-             else:
--                print >>sys.stderr, 'unoconv: format [%s] is not known to unoconv.' % op.format
-+                print('unoconv: format [%s] is not known to unoconv.' % op.format, file=sys.stderr)
-             die(1)
- 
-         return outputfmt
-@@ -813,10 +815,10 @@ class Convertor:
-         outputfmt = self.getformat(inputfn)
- 
-         if op.verbose > 0:
--            print >>sys.stderr, 'Input file:', inputfn
-+            print('Input file:', inputfn, file=sys.stderr)
- 
-         if not os.path.exists(inputfn):
--            print >>sys.stderr, 'unoconv: file `%s\' does not exist.' % inputfn
-+            print('unoconv: file `%s\' does not exist.' % inputfn, file=sys.stderr)
-             exitcode = 1
- 
-         try:
-@@ -854,7 +856,7 @@ class Convertor:
-                     templateurl = unohelper.absolutize(self.cwd, unohelper.systemPathToFileUrl(op.template))
-                     document.StyleFamilies.loadStylesFromURL(templateurl, templateprops)
-                 else:
--                    print >>sys.stderr, 'unoconv: template file `%s\' does not exist.' % op.template
-+                    print('unoconv: template file `%s\' does not exist.' % op.template, file=sys.stderr)
-                     exitcode = 1
- 
-             ### Update document links
-@@ -924,40 +926,40 @@ class Convertor:
- 
-             try:
-                 document.storeToURL(outputurl, tuple(outputprops) )
--            except IOException, e:
-+            except IOException as e:
-                 raise UnoException("Unable to store document to %s (ErrCode %d)\n\nProperties: %s" % (outputurl, e.ErrCode, outputprops), None)
- 
-             phase = "dispose"
-             document.dispose()
-             document.close(True)
- 
--        except SystemError, e:
-+        except SystemError as e:
-             error("unoconv: SystemError during %s phase:\n%s" % (phase, e))
-             exitcode = 1
- 
--        except RuntimeException, e:
-+        except RuntimeException as e:
-             error("unoconv: RuntimeException during %s phase:\nOffice probably died. %s" % (phase, e))
-             exitcode = 6
- 
--        except DisposedException, e:
-+        except DisposedException as e:
-             error("unoconv: DisposedException during %s phase:\nOffice probably died. %s" % (phase, e))
-             exitcode = 7
- 
--        except IllegalArgumentException, e:
-+        except IllegalArgumentException as e:
-             error("UNO IllegalArgument during %s phase:\nSource file cannot be read. %s" % (phase, e))
-             exitcode = 8
- 
--        except IOException, e:
-+        except IOException as e:
- #            for attr in dir(e): print '%s: %s', (attr, getattr(e, attr))
-             error("unoconv: IOException during %s phase:\n%s" % (phase, e.Message))
-             exitcode = 3
- 
--        except CannotConvertException, e:
-+        except CannotConvertException as e:
- #            for attr in dir(e): print '%s: %s', (attr, getattr(e, attr))
-             error("unoconv: CannotConvertException during %s phase:\n%s" % (phase, e.Message))
-             exitcode = 4
- 
--        except UnoException, e:
-+        except UnoException as e:
-             if hasattr(e, 'ErrCode'):
-                 error("unoconv: UnoException during %s phase in %s (ErrCode %d)" % (phase, repr(e.__class__), e.ErrCode))
-                 exitcode = e.ErrCode
-@@ -982,7 +984,7 @@ class Listener:
-             product = self.svcmgr.createInstance("com.sun.star.configuration.ConfigurationProvider").createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", UnoProps(nodepath="/org.openoffice.Setup/Product"))
-             try:
-                 unocontext = resolver.resolve("uno:%s" % op.connection)
--            except NoConnectException, e:
-+            except NoConnectException as e:
-                 pass
-             else:
-                 info(1, "Existing %s listener found, nothing to do." % product.ooName)
-@@ -991,25 +993,25 @@ class Listener:
-                 subprocess.call([office.binary, "-headless", "-invisible", "-nocrashreport", "-nodefault", "-nologo", "-nofirststartwizard", "-norestore", "-accept=%s" % op.connection], env=os.environ)
-             else:
-                 subprocess.call([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nologo", "--nofirststartwizard", "--norestore", "--accept=%s" % op.connection], env=os.environ)
--        except Exception, e:
-+        except Exception as e:
-             error("Launch of %s failed.\n%s" % (office.binary, e))
-         else:
-             info(1, "Existing %s listener found, nothing to do." % product.ooName)
- 
- def error(msg):
-     "Output error message"
--    print >>sys.stderr, msg
-+    print(msg, file=sys.stderr)
- 
- def info(level, msg):
-     "Output info message"
-     if 'op' not in globals():
-         pass
-     elif op.verbose >= 3 and level >= 3:
--        print >>sys.stderr, "DEBUG:", msg
-+        print("DEBUG:", msg, file=sys.stderr)
-     elif not op.stdout and level <= op.verbose:
--        print >>sys.stdout, msg
-+        print(msg, file=sys.stdout)
-     elif level <= op.verbose:
--        print >>sys.stderr, msg
-+        print(msg, file=sys.stderr)
- 
- def die(ret, msg=None):
-     "Print optional error and exit with errorcode"
-@@ -1031,7 +1033,7 @@ def die(ret, msg=None):
-                     subprocess.Popen([office.binary, "--headless", "--invisible", "--nocrashreport", "--nodefault", "--nofirststartwizard", "--nologo", "--norestore", "--unaccept=%s" % op.connection], env=os.environ)
-                 ooproc.wait()
-                 info(2, '%s listener successfully disabled.' % product.ooName)
--            except Exception, e:
-+            except Exception as e:
-                 error("Terminate using %s failed.\n%s" % (office.binary, e))
- 
-         ### If there is no GUI attached to the instance, terminate instance
-@@ -1080,7 +1082,7 @@ def main():
-             for inputfn in op.filenames:
-                 convertor.convert(inputfn)
- 
--    except NoConnectException, e:
-+    except NoConnectException as e:
-         error("unoconv: could not find an existing connection to LibreOffice at %s:%s." % (op.server, op.port))
-         if op.connection:
-             info(0, "Please start an LibreOffice instance on server '%s' by doing:\n\n    unoconv --listener --server %s --port %s\n\nor alternatively:\n\n    soffice -nologo -nodefault -accept=\"%s\"" % (op.server, op.server, op.port, op.connection))
-@@ -1110,14 +1112,14 @@ if __name__ == '__main__':
-             break
-         except:
- #            debug_office()
--            print >>sys.stderr, "unoconv: Cannot find a suitable pyuno library and python binary combination in %s" % of
--            print >>sys.stderr, "ERROR:", sys.exc_info()[1]
--            print >>sys.stderr
-+            print("unoconv: Cannot find a suitable pyuno library and python binary combination in %s" % of, file=sys.stderr)
-+            print("ERROR:", sys.exc_info()[1], file=sys.stderr)
-+            print(file=sys.stderr)
-     else:
- #        debug_office()
--        print >>sys.stderr, "unoconv: Cannot find a suitable office installation on your system."
--        print >>sys.stderr, "ERROR: Please locate your office installation and send your feedback to:"
--        print >>sys.stderr, "       http://github.com/dagwieers/unoconv/issues"
-+        print("unoconv: Cannot find a suitable office installation on your system.", file=sys.stderr)
-+        print("ERROR: Please locate your office installation and send your feedback to:", file=sys.stderr)
-+        print("       https://github.com/dagwieers/unoconv/issues", file=sys.stderr)
-         sys.exit(1)
- 
-     ### Now that we have found a working pyuno library, let's import some classes
-@@ -1160,6 +1162,6 @@ if __name__ == '__main__':
- 
-     try:
-         main()
--    except KeyboardInterrupt, e:
-+    except KeyboardInterrupt as e:
-         die(6, 'Exiting on user request')
-     die(exitcode)
diff --git a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
index 6c0380fac49..3f37184e5d3 100644
--- a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
+++ b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
@@ -28,15 +28,15 @@ To upgrade the package snapshot, follow this process:
 ### Snapshot sources and texlive package database
 
 Mirror the current CTAN archive to our mirror(s) and IPFS (URLs in `default.nix`).
-See <https://tug.org/texlive/acquire-mirror.html> for instructions.
+See https://tug.org/texlive/acquire-mirror.html for instructions.
 
 
 ### Upgrade package information from texlive package database
 
 
-```
-$ curl -L http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
-           | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix
+```bash
+curl -L http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
+         | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix
 ```
 
 This will download a current snapshot of the CTAN package database `texlive.tlpdb.xz`
@@ -52,17 +52,18 @@ Updating the list of fixed hashes requires a local build of *all* packages,
 which is a resource-intensive process:
 
 
-```
+```bash
 # move fixedHashes away, otherwise build will fail on updated packages
-$ mv fixedHashes.nix fixedHashes-old.nix
+mv fixedHashes.nix fixedHashes-old.nix
 # start with empty fixedHashes
-$ echo '{}' > fixedHashes.nix
-$ nix-build ../../../../.. -Q --no-out-link -A texlive.scheme-full.pkgs | ./fixHashes.sh > ./fixedHashes-new.nix
+echo '{}' > fixedHashes.nix
+
+nix-build ../../../../.. -Q --no-out-link -A texlive.scheme-full.pkgs | ./fixHashes.sh > ./fixedHashes-new.nix
+
 # The script wrongly includes the nix store path to `biber`, which is a separate nixpkgs package
-$ grep -v -F '/nix/store/' fixedHashes-new.nix > fixedHashes.nix 
+grep -v -F '/nix/store/' fixedHashes-new.nix > fixedHashes.nix
 ```
 
 ### Commit changes
 
 Commit the updated `pkgs.nix` and `fixedHashes.nix` to the repository.
-
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f0b50eb987f..1bb7da68843 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -201,6 +201,8 @@ in
 
   docker-ls = callPackage ../tools/misc/docker-ls { };
 
+  docker-slim = callPackage ../build-support/docker-slim { };
+
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
   docui = callPackage ../tools/misc/docui { };
@@ -213,7 +215,17 @@ in
 
   dotnetbuildhelpers = callPackage ../build-support/dotnetbuildhelpers { };
 
-  dotnet-sdk = callPackage ../development/compilers/dotnet/sdk { };
+  dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet {});
+
+  dotnet-sdk = dotnetCorePackages.sdk_2_1;
+
+  dotnet-sdk_2 = dotnetCorePackages.sdk_2_1;
+
+  dotnet-sdk_3 = dotnetCorePackages.sdk_3_1;
+
+  dotnet-netcore = dotnetCorePackages.netcore_2_1;
+
+  dotnet-aspnetcore = dotnetCorePackages.aspnetcore_2_1;
 
   dumb-init = callPackage ../applications/virtualization/dumb-init {};
 
@@ -1205,10 +1217,6 @@ in
 
   bliss = callPackage ../applications/science/math/bliss { };
 
-  blitz = callPackage ../development/libraries/blitz {
-    boost = boost160;
-  };
-
   blobfuse = callPackage ../tools/filesystems/blobfuse { };
 
   blockdiag = with python3Packages; toPythonApplication blockdiag;
@@ -1298,7 +1306,7 @@ in
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
-  bs-platform = (callPackage ../development/compilers/bs-platform {}).bs-platform-621;
+  bs-platform = callPackage ../development/compilers/bs-platform {};
 
   c3d = callPackage ../applications/graphics/c3d {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -1381,6 +1389,8 @@ in
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
+  cassowary = callPackage ../tools/networking/cassowary { };
+
   croc = callPackage ../tools/networking/croc { };
 
   cddl = callPackage ../development/tools/cddl { };
@@ -1510,6 +1520,8 @@ in
 
   crudini = callPackage ../tools/misc/crudini { };
 
+  csv2odf = callPackage ../applications/office/csv2odf { };
+
   csvkit = callPackage ../tools/text/csvkit { };
 
   csvs-to-sqlite = with python3Packages; toPythonApplication csvs-to-sqlite;
@@ -1862,7 +1874,9 @@ in
 
   jotta-cli = callPackage ../applications/misc/jotta-cli { };
 
-  jwt-cli = callPackage ../tools/security/jwt-cli { };
+  jwt-cli = callPackage ../tools/security/jwt-cli {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   kapacitor = callPackage ../servers/monitoring/kapacitor { };
 
@@ -2940,6 +2954,10 @@ in
 
   mcrcon = callPackage ../tools/networking/mcrcon {};
 
+  rage = callPackage ../tools/security/rage {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   s-tar = callPackage ../tools/archivers/s-tar {};
 
   sonota = callPackage ../tools/misc/sonota { };
@@ -3236,8 +3254,12 @@ in
     stdenv = gccStdenv;
   };
 
+  fluidasserts = with python37Packages; toPythonApplication fluidasserts;
+
   flux = callPackage ../development/compilers/flux { };
 
+  fido2luks = callPackage ../tools/security/fido2luks {};
+
   fierce = callPackage ../tools/security/fierce { };
 
   figlet = callPackage ../tools/misc/figlet { };
@@ -4906,6 +4928,8 @@ in
 
   mandoc = callPackage ../tools/misc/mandoc { };
 
+  marktext = callPackage ../applications/misc/marktext { };
+
   mawk = callPackage ../tools/text/mawk { };
 
   mb2md = callPackage ../tools/text/mb2md { };
@@ -5683,6 +5707,8 @@ in
 
   peco = callPackage ../tools/text/peco { };
 
+  pg_checksums = callPackage ../development/tools/database/pg_checksums { };
+
   pg_flame = callPackage ../tools/misc/pg_flame { };
 
   pg_top = callPackage ../tools/misc/pg_top { };
@@ -6786,7 +6812,9 @@ in
 
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
-  topgrade = callPackage ../tools/misc/topgrade {  };
+  topgrade = callPackage ../tools/misc/topgrade {
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  };
 
   tor = callPackage ../tools/security/tor {
     # remove this, when libevent's openssl is upgraded to 1_1_0 or newer.
@@ -6912,6 +6940,10 @@ in
 
   ua = callPackage ../tools/networking/ua { };
 
+  uberwriter = callPackage ../applications/editors/uberwriter {
+    pythonPackages = python3Packages;
+  };
+
   ubridge = callPackage ../tools/networking/ubridge { };
 
   ucl = callPackage ../development/libraries/ucl { };
@@ -7520,6 +7552,8 @@ in
 
   zfstools = callPackage ../tools/filesystems/zfstools { };
 
+  zfsnap = callPackage ../tools/backup/zfsnap { };
+
   zile = callPackage ../applications/editors/zile { };
 
   zinnia = callPackage ../tools/inputmethods/zinnia { };
@@ -7799,6 +7833,28 @@ in
 
   compcert = callPackage ../development/compilers/compcert { };
 
+  computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
+  computecpp = wrapCCWith rec {
+    cc = computecpp-unwrapped;
+    extraPackages = [
+      libstdcxxHook
+      llvmPackages.compiler-rt
+    ];
+    extraBuildCommands = ''
+      wrap compute $wrapper $ccPath/compute
+      wrap compute++ $wrapper $ccPath/compute++
+      export named_cc=compute
+      export named_cxx=compute++
+
+      rsrc="$out/resource-root"
+      mkdir -p "$rsrc/lib"
+      ln -s "${cc}/lib" "$rsrc/include"
+      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && cc ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
+      echo "--gcc-toolchain=${cc.gcc}" >> $out/nix-support/cc-cflags
+    '';
+  };
+
   cryptol = haskell.lib.justStaticExecutables haskellPackages.cryptol;
 
   inherit (callPackages ../development/compilers/crystal {
@@ -9734,9 +9790,9 @@ in
 
   buck = callPackage ../development/tools/build-managers/buck { };
 
-  buildkite-agent = buildkite-agent2;
-  buildkite-agent2 = callPackage ../development/tools/continuous-integration/buildkite-agent/2.x.nix { };
-  buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent/3.x.nix { };
+  buildkite-agent = buildkite-agent3;
+  buildkite-agent2 = throw "pkgs.buildkite-agent2 has been discontinued. Please use pkgs.buildkite-agent (v3.x)";
+  buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent { };
 
   libbpf = callPackage ../os-specific/linux/libbpf { };
 
@@ -10485,6 +10541,8 @@ in
 
   rman = callPackage ../development/tools/misc/rman { };
 
+  rnix-lsp = callPackage ../development/tools/rnix-lsp { };
+
   rolespec = callPackage ../development/tools/misc/rolespec { };
 
   rr = callPackage ../development/tools/analysis/rr { };
@@ -10774,6 +10832,8 @@ in
 
   alure = callPackage ../development/libraries/alure { };
 
+  alure2 = callPackage ../development/libraries/alure2 { };
+
   agg = callPackage ../development/libraries/agg { };
 
   allegro = allegro4;
@@ -11057,9 +11117,8 @@ in
 
   cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { };
 
-  cpp-netlib = callPackage ../development/libraries/cpp-netlib {
-    openssl = openssl_1_0_2;
-  };
+  cpp-netlib = callPackage ../development/libraries/cpp-netlib {};
+
   uri = callPackage ../development/libraries/uri { };
 
   cppcms = callPackage ../development/libraries/cppcms { };
@@ -13646,6 +13705,10 @@ in
     buildPythonApplication click future six;
   };
 
+  prospector = callPackage ../development/tools/prospector {
+    python = python37;
+  };
+
   protobuf = protobuf3_7;
 
   protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { };
@@ -14295,6 +14358,8 @@ in
 
   svrcore = callPackage ../development/libraries/svrcore { };
 
+  svxlink = libsForQt5.callPackage ../applications/radio/svxlink { };
+
   swiftclient = python3.pkgs.callPackage ../tools/admin/swiftclient { };
 
   sword = callPackage ../development/libraries/sword { };
@@ -15670,7 +15735,9 @@ in
     libtool = darwin.cctools;
   };
 
-  rippled = callPackage ../servers/rippled { };
+  rippled = callPackage ../servers/rippled {
+    boost = boost17x;
+  };
 
   rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix {
     boost = boost167.override {
@@ -16342,14 +16409,6 @@ in
       ];
   };
 
-  linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-      kernelPatches.export_kernel_fpu_functions."5.3"
-    ];
-  };
-
   linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -16544,6 +16603,8 @@ in
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
 
+    zenpower = callPackage ../os-specific/linux/zenpower { };
+
     inherit (callPackage ../os-specific/linux/zfs {
       configFile = "kernel";
       inherit kernel;
@@ -16572,7 +16633,6 @@ in
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
-  linuxPackages_5_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_3);
   linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
 
   # When adding to this list:
@@ -17471,6 +17531,8 @@ in
 
   iwona = callPackage ../data/fonts/iwona { };
 
+  jetbrains-mono = callPackage ../data/fonts/jetbrains-mono { };
+
   jost = callPackage ../data/fonts/jost { };
 
   joypixels = callPackage ../data/fonts/joypixels { };
@@ -18211,7 +18273,9 @@ in
 
   bleachbit = callPackage ../applications/misc/bleachbit { };
 
-  blender = callPackage  ../applications/misc/blender { };
+  blender = callPackage  ../applications/misc/blender {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics ForceFeedback OpenAL OpenGL;
+  };
 
   bluefish = callPackage ../applications/editors/bluefish {
     gtk = gtk3;
@@ -18553,6 +18617,7 @@ in
   docker-machine-kvm2 = callPackage ../applications/networking/cluster/docker-machine/kvm2.nix { };
   docker-machine-xhyve = callPackage ../applications/networking/cluster/docker-machine/xhyve.nix {
     inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
+    inherit (darwin) cctools;
   };
 
   docker-distribution = callPackage ../applications/virtualization/docker/distribution.nix { };
@@ -20867,6 +20932,8 @@ in
 
   protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };
 
+  protonvpn-cli-ng = callPackage ../applications/networking/protonvpn-cli-ng { };
+
   ps2client = callPackage ../applications/networking/ps2client { };
 
   psi = libsForQt5.callPackage ../applications/networking/instant-messengers/psi { };
@@ -21650,6 +21717,8 @@ in
 
   tint2 = callPackage ../applications/misc/tint2 { };
 
+  tiny = callPackage ../applications/networking/irc/tiny { };
+
   tixati = callPackage ../applications/networking/p2p/tixati { };
 
   tkcvs = callPackage ../applications/version-management/tkcvs { };
@@ -21994,7 +22063,8 @@ in
     pythonPackages = python3Packages;
   };
 
-  way-cooler = callPackage ../applications/window-managers/way-cooler {};
+  way-cooler = throw ("way-cooler is abandoned by its author: " +
+    "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html");
 
   waypipe = callPackage ../applications/networking/remote/waypipe { };
 
@@ -23022,6 +23092,8 @@ in
 
   megaglest = callPackage ../games/megaglest {};
 
+  mindustry = callPackage ../games/mindustry { };
+
   minecraft = callPackage ../games/minecraft { };
 
   minecraft-server = callPackage ../games/minecraft-server { };
@@ -23113,9 +23185,7 @@ in
 
   openxcom = callPackage ../games/openxcom { };
 
-  openxray = callPackage ../games/openxray {
-    stdenv = gcc8Stdenv;
-  };
+  openxray = callPackage ../games/openxray { };
 
   orthorobot = callPackage ../games/orthorobot { };
 
@@ -23913,6 +23983,8 @@ in
 
   nasc = callPackage ../applications/science/math/nasc { };
 
+  nota = haskellPackages.callPackage ../applications/science/math/nota { };
+
   openblas = callPackage ../development/libraries/science/math/openblas { };
 
   # A version of OpenBLAS using 32-bit integers on all platforms for compatibility with
@@ -25400,6 +25472,8 @@ in
 
   wacomtablet = libsForQt5.callPackage ../tools/misc/wacomtablet { };
 
+  wasmer = callPackage ../development/interpreters/wasmer { };
+
   wasm-pack = callPackage ../development/tools/wasm-pack {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -25798,4 +25872,7 @@ in
 
   kcli = callPackage ../development/tools/kcli {};
 
+  unstick = callPackage ../os-specific/linux/unstick {};
+
+  quartus-prime-lite = callPackage ../applications/editors/quartus-prime {};
 }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4a7743b1090..4d956c494c0 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -468,6 +468,8 @@ let
 
     lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { };
 
+    lens = callPackage ../development/ocaml-modules/lens { };
+
     linenoise = callPackage ../development/ocaml-modules/linenoise { };
 
     llvm = callPackage ../development/ocaml-modules/llvm {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index fa70c813ff9..d1e854b007e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -108,7 +108,7 @@ in {
   inherit buildSetupcfg;
 
   inherit (callPackage ../development/interpreters/python/hooks { })
-    eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook wheelUnpackHook;
+    eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook venvShellHook wheelUnpackHook;
 
   # helpers
 
@@ -674,6 +674,8 @@ in {
 
   flufl_lock = callPackage ../development/python-modules/flufl/lock.nix { };
 
+  fluidasserts = callPackage ../development/python-modules/fluidasserts { };
+
   foxdot = callPackage ../development/python-modules/foxdot { };
 
   fsspec = callPackage ../development/python-modules/fsspec { };
@@ -903,6 +905,8 @@ in {
 
   oauthenticator = callPackage ../development/python-modules/oauthenticator { };
 
+  onnx = callPackage ../development/python-modules/onnx { };
+
   ordered-set = callPackage ../development/python-modules/ordered-set { };
 
   ortools = (toPythonModule (pkgs.or-tools.override {
@@ -1038,6 +1042,8 @@ in {
 
   pydbus = callPackage ../development/python-modules/pydbus { };
 
+  pydicom = callPackage ../development/python-modules/pydicom { };
+
   pydocstyle =
     if isPy27 then
       callPackage ../development/python-modules/pydocstyle/2.nix { }
@@ -1188,6 +1194,8 @@ in {
 
   pystache = callPackage ../development/python-modules/pystache { };
 
+  pytelegrambotapi = callPackage ../development/python-modules/pyTelegramBotAPI { };
+
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
   pytest-bdd = callPackage ../development/python-modules/pytest-bdd { };
@@ -1392,6 +1400,8 @@ in {
 
   stups-fullstop = callPackage ../development/python-modules/stups-fullstop { };
 
+  stups-pierone = callPackage ../development/python-modules/stups-pierone { };
+
   stups-tokens = callPackage ../development/python-modules/stups-tokens { };
 
   stups-zign = callPackage ../development/python-modules/stups-zign { };
@@ -1669,6 +1679,8 @@ in {
 
   avro3k = callPackage ../development/python-modules/avro3k {};
 
+  avro-python3 = callPackage ../development/python-modules/avro-python3 {};
+
   aws-lambda-builders = callPackage ../development/python-modules/aws-lambda-builders { };
 
   python-slugify = callPackage ../development/python-modules/python-slugify { };
@@ -1889,8 +1901,6 @@ in {
 
   pyepsg = callPackage ../development/python-modules/pyepsg { };
 
-  pyezminc = callPackage ../development/python-modules/pyezminc { };
-
   billiard = callPackage ../development/python-modules/billiard { };
 
   binaryornot = callPackage ../development/python-modules/binaryornot { };
@@ -2652,6 +2662,8 @@ in {
 
   gpsoauth = callPackage ../development/python-modules/gpsoauth { };
 
+  gpxpy = callPackage ../development/python-modules/gpxpy { };
+
   grip = callPackage ../development/python-modules/grip { };
 
   gst-python = callPackage ../development/python-modules/gst-python {
@@ -4823,6 +4835,12 @@ in {
   pylint = if isPy3k then callPackage ../development/python-modules/pylint { }
            else callPackage ../development/python-modules/pylint/1.9.nix { };
 
+  pylint-celery = callPackage ../development/python-modules/pylint-celery { };
+
+  pylint-django = callPackage ../development/python-modules/pylint-django { };
+
+  pylint-flask = callPackage ../development/python-modules/pylint-flask { };
+
   pylint-plugin-utils = callPackage ../development/python-modules/pylint-plugin-utils { };
 
   pyomo = callPackage ../development/python-modules/pyomo { };
@@ -4933,6 +4951,8 @@ in {
 
   pynmea2 = callPackage ../development/python-modules/pynmea2 {};
 
+  pynrrd = callPackage ../development/python-modules/pynrrd { };
+
   pynzb = callPackage ../development/python-modules/pynzb { };
 
   process-tests = callPackage ../development/python-modules/process-tests { };
@@ -5007,6 +5027,8 @@ in {
 
   python-markdown-math = callPackage ../development/python-modules/python-markdown-math { };
 
+  python-miio = callPackage ../development/python-modules/python-miio { };
+
   python-pipedrive = callPackage ../development/python-modules/python-pipedrive { };
 
   python-ptrace = callPackage ../development/python-modules/python-ptrace { };
@@ -5443,6 +5465,8 @@ in {
     inherit (pkgs) pkgconfig systemd;
   };
 
+  sysv_ipc = callPackage ../development/python-modules/sysv_ipc { };
+
   tabulate = callPackage ../development/python-modules/tabulate { };
 
   tadasets = callPackage ../development/python-modules/tadasets { };
@@ -6837,6 +6861,8 @@ in {
 
   pony = callPackage ../development/python-modules/pony { };
 
+  rxv     = callPackage ../development/python-modules/rxv     { };
+
 });
 
 in fix' (extends overrides packages)
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 1ed3601270f..ab7e4ce00d7 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -156,7 +156,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   time = linux;
   tinycc = linux;
   udev = linux;
-  unar = linux;
   unzip = all;
   usbutils = linux;
   utillinux = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 7060fea588a..6ada2ca6d18 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -105,7 +105,6 @@ let
               jobs.nix-info-tested.x86_64-linux
               # Ensure that X11/GTK are in order.
               jobs.thunderbird.x86_64-linux
-              jobs.unar.x86_64-linux
               jobs.cachix.x86_64-linux
 
               /*
@@ -192,6 +191,8 @@ let
       haskellPackages = packagePlatforms pkgs.haskellPackages;
       idrisPackages = packagePlatforms pkgs.idrisPackages;
 
+      tests = packagePlatforms pkgs.tests;
+
       # Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66
 
       #emacsPackages = packagePlatforms pkgs.emacsPackages;
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
index da36ffda864..3dd539e03a7 100644
--- a/pkgs/top-level/static.nix
+++ b/pkgs/top-level/static.nix
@@ -161,14 +161,10 @@ in {
   };
   mkl = super.mkl.override { enableStatic = true; };
   nix = super.nix.override { withAWS = false; };
-  # openssl 1.1 doesn't compile
-  openssl = super.openssl_1_0_2.override {
-    static = true;
-
-    # Don’t use new stdenv for openssl because it doesn’t like the
-    # --disable-shared flag
-    stdenv = super.stdenv;
-  };
+  openssl = (super.openssl_1_1.override { static = true; }).overrideAttrs (o: {
+    # OpenSSL doesn't like the `--enable-static` / `--disable-shared` flags.
+    configureFlags = (removeUnknownConfigureFlags o.configureFlags);
+  });
   arrow-cpp = super.arrow-cpp.override {
     enableShared = false;
     python = { pkgs = { python = null; numpy = null; }; };