summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix17
-rw-r--r--pkgs/applications/audio/cadence/default.nix13
-rw-r--r--pkgs/applications/audio/flacon/default.nix2
-rw-r--r--pkgs/applications/audio/projectm/default.nix18
-rw-r--r--pkgs/applications/audio/qsampler/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix4
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix5
-rw-r--r--pkgs/applications/audio/spotify/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/atom/default.nix8
-rw-r--r--pkgs/applications/editors/atom/env.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/manual-packages.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/pod-mode/default.nix18
-rw-r--r--pkgs/applications/editors/emacs/default.nix2
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix46
-rw-r--r--pkgs/applications/editors/neovim/default.nix2
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/graphics/darktable/default.nix7
-rw-r--r--pkgs/applications/graphics/feh/default.nix2
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix2
-rw-r--r--pkgs/applications/graphics/rx/default.nix93
-rw-r--r--pkgs/applications/graphics/yeetgif/default.nix23
-rw-r--r--pkgs/applications/misc/bemenu/default.nix16
-rw-r--r--pkgs/applications/misc/get_iplayer/default.nix9
-rw-r--r--pkgs/applications/misc/heimer/default.nix23
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/lutris/chrootenv.nix2
-rw-r--r--pkgs/applications/misc/minder/default.nix7
-rw-r--r--pkgs/applications/misc/osm2xmap/default.nix11
-rw-r--r--pkgs/applications/misc/polybar/default.nix9
-rw-r--r--pkgs/applications/misc/ranger/default.nix4
-rw-r--r--pkgs/applications/misc/rofi/default.nix2
-rw-r--r--pkgs/applications/misc/simplenote/default.nix1
-rw-r--r--pkgs/applications/misc/taizen/default.nix4
-rw-r--r--pkgs/applications/misc/waybar/default.nix9
-rw-r--r--pkgs/applications/misc/worker/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/browsh/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/browsh/deps.nix19
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix1
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/Gemfile34
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock142
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/gemset.nix201
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile (renamed from pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile)3
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile (renamed from pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile)0
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile (renamed from pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile)1
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile (renamed from pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile)2
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/irc/epic5/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/lumail/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix28
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix6
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix4
-rw-r--r--pkgs/applications/office/kmymoney/default.nix6
-rw-r--r--pkgs/applications/office/tryton/default.nix4
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix4
-rw-r--r--pkgs/applications/science/biology/last/default.nix30
-rw-r--r--pkgs/applications/science/biology/minia/default.nix33
-rw-r--r--pkgs/applications/science/biology/minia/no-bundle.patch222
-rw-r--r--pkgs/applications/science/biology/tebreak/default.nix42
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix2
-rw-r--r--pkgs/applications/science/misc/root/default.nix14
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix34
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix2
-rw-r--r--pkgs/applications/version-management/gitless/default.nix11
-rw-r--r--pkgs/applications/video/minitube/default.nix2
-rw-r--r--pkgs/applications/video/mpv/default.nix9
-rw-r--r--pkgs/applications/video/mpv/scripts/mpris.nix4
-rw-r--r--pkgs/applications/video/xawtv/default.nix56
-rw-r--r--pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch13
-rw-r--r--pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch14
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix12
-rw-r--r--pkgs/applications/virtualization/podman/default.nix6
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix11
-rw-r--r--pkgs/applications/virtualization/qemu/no-etc-install.patch11
-rw-r--r--pkgs/applications/virtualization/remotebox/default.nix4
-rw-r--r--pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/layout-manager.nix2
-rw-r--r--pkgs/applications/window-managers/sway/default.nix2
-rw-r--r--pkgs/build-support/agda/default.nix4
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix2
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix175
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix14
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix126
-rw-r--r--pkgs/build-support/rust/build-rust-crate/helpers.nix14
-rw-r--r--pkgs/build-support/rust/build-rust-crate/lib.sh117
-rw-r--r--pkgs/build-support/rust/build-rust-crate/log.nix33
-rw-r--r--pkgs/data/fonts/material-design-icons/default.nix7
-rw-r--r--pkgs/data/fonts/monoid/default.nix9
-rw-r--r--pkgs/data/fonts/rictydiminished-with-firacode/default.nix26
-rw-r--r--pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--pkgs/data/misc/cacert/default.nix4
-rw-r--r--pkgs/data/misc/media-player-info/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/GConf/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/extensions/gsconnect/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch81
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix2
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/6/default.nix42
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/7/default.nix40
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/8/default.nix40
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/9/default.nix53
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix52
-rw-r--r--pkgs/development/compilers/ghc/8.10.1.nix232
-rw-r--r--pkgs/development/compilers/ghc/8.8.2.nix232
-rw-r--r--pkgs/development/compilers/ghcjs-ng/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/rust/cargo.nix4
-rw-r--r--pkgs/development/compilers/rust/rustc.nix4
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix2
-rw-r--r--pkgs/development/go-modules/generic/default.nix18
-rw-r--r--pkgs/development/guile-modules/guile-sdl/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix66
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix44
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml68
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix21
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix12
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2733
-rw-r--r--pkgs/development/haskell-modules/hoogle.nix5
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix4
-rw-r--r--pkgs/development/interpreters/elixir/generic-builder.nix6
-rw-r--r--pkgs/development/interpreters/evcxr/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix3
-rw-r--r--pkgs/development/interpreters/python/pypy/default.nix3
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix6
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix6
-rw-r--r--pkgs/development/libraries/epoxy/default.nix4
-rw-r--r--pkgs/development/libraries/farstream/default.nix49
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--pkgs/development/libraries/gamin/default.nix7
-rw-r--r--pkgs/development/libraries/gdcm/default.nix10
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix6
-rw-r--r--pkgs/development/libraries/git2/default.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix8
-rw-r--r--pkgs/development/libraries/gsmlib/default.nix19
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gtk-layer-shell/default.nix40
-rw-r--r--pkgs/development/libraries/gts/default.nix9
-rw-r--r--pkgs/development/libraries/jbig2dec/default.nix4
-rw-r--r--pkgs/development/libraries/libctb/default.nix23
-rw-r--r--pkgs/development/libraries/libctb/include-kbhit.patch13
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix5
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix4
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix1
-rw-r--r--pkgs/development/libraries/libgroove/default.nix2
-rw-r--r--pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--pkgs/development/libraries/libnabo/default.nix6
-rw-r--r--pkgs/development/libraries/libpointmatcher/default.nix6
-rw-r--r--pkgs/development/libraries/libproxy/default.nix6
-rw-r--r--pkgs/development/libraries/libtcod/default.nix2
-rw-r--r--pkgs/development/libraries/libxklavier/default.nix2
-rw-r--r--pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch89
-rw-r--r--pkgs/development/libraries/openzwave/default.nix6
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix4
-rw-r--r--pkgs/development/libraries/prometheus-cpp/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix7
-rw-r--r--pkgs/development/libraries/science/biology/mirtk/default.nix6
-rw-r--r--pkgs/development/libraries/serd/default.nix4
-rw-r--r--pkgs/development/libraries/sord/default.nix6
-rw-r--r--pkgs/development/libraries/spdk/default.nix10
-rw-r--r--pkgs/development/libraries/spdk/spdk-dpdk-meson.patch17
-rw-r--r--pkgs/development/libraries/tbb/default.nix6
-rw-r--r--pkgs/development/libraries/umockdev/default.nix2
-rw-r--r--pkgs/development/libraries/unibilium/default.nix10
-rw-r--r--pkgs/development/libraries/zookeeper_mt/default.nix2
-rw-r--r--pkgs/development/node-packages/default-v10.nix4
-rw-r--r--pkgs/development/node-packages/node-packages-v10.json2
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix1518
-rw-r--r--pkgs/development/node-packages/node-packages-v12.nix62
-rw-r--r--pkgs/development/node-packages/node-packages-v13.nix60
-rw-r--r--pkgs/development/ocaml-modules/conduit/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/cpu/default.nix (renamed from pkgs/development/ocaml-modules/setcore/default.nix)8
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/macaddr/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/parany/default.nix8
-rw-r--r--pkgs/development/python-modules/aioamqp/default.nix44
-rw-r--r--pkgs/development/python-modules/aiocontextvars/default.nix48
-rw-r--r--pkgs/development/python-modules/aiohttp-socks/default.nix8
-rw-r--r--pkgs/development/python-modules/aiomysql/default.nix47
-rw-r--r--pkgs/development/python-modules/aiosqlite/default.nix36
-rw-r--r--pkgs/development/python-modules/aiounittest/default.nix36
-rw-r--r--pkgs/development/python-modules/anytree/default.nix22
-rw-r--r--pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--pkgs/development/python-modules/branca/default.nix3
-rw-r--r--pkgs/development/python-modules/bx-python/default.nix39
-rw-r--r--pkgs/development/python-modules/certipy/default.nix27
-rw-r--r--pkgs/development/python-modules/databases/default.nix49
-rw-r--r--pkgs/development/python-modules/dbf/default.nix2
-rw-r--r--pkgs/development/python-modules/diskcache/default.nix26
-rw-r--r--pkgs/development/python-modules/django-postgresql-netfields/default.nix49
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix38
-rw-r--r--pkgs/development/python-modules/fastapi/setup.py.patch13
-rw-r--r--pkgs/development/python-modules/fsspec/default.nix32
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix2
-rw-r--r--pkgs/development/python-modules/google-i18n-address/default.nix2
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix2
-rw-r--r--pkgs/development/python-modules/gplaycli/default.nix2
-rw-r--r--pkgs/development/python-modules/gprof2dot/default.nix8
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/hass-nabucasa/default.nix34
-rw-r--r--pkgs/development/python-modules/histbook/default.nix20
-rw-r--r--pkgs/development/python-modules/homeassistant-pyozw/default.nix1
-rw-r--r--pkgs/development/python-modules/hstspreload/default.nix28
-rw-r--r--pkgs/development/python-modules/httpx/default.nix68
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix2
-rw-r--r--pkgs/development/python-modules/imagecodecs-lite/default.nix21
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix17
-rw-r--r--pkgs/development/python-modules/jira/default.nix2
-rw-r--r--pkgs/development/python-modules/junitparser/default.nix31
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix8
-rw-r--r--pkgs/development/python-modules/klaus/default.nix12
-rw-r--r--pkgs/development/python-modules/leveldb/default.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozdevice.nix2
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozlog.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozprofile.nix7
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozrunner.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozversion.nix4
-rw-r--r--pkgs/development/python-modules/mautrix-appservice/0001-Remove-coding-annotations.patch53
-rw-r--r--pkgs/development/python-modules/mautrix-appservice/default.nix32
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix43
-rw-r--r--pkgs/development/python-modules/nipype/default.nix2
-rw-r--r--pkgs/development/python-modules/orm/default.nix43
-rw-r--r--pkgs/development/python-modules/poppler-qt5/default.nix2
-rw-r--r--pkgs/development/python-modules/prox-tv/default.nix50
-rw-r--r--pkgs/development/python-modules/prox-tv/use-openblas.patch11
-rw-r--r--pkgs/development/python-modules/pydantic/default.nix35
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrabbit2/default.nix26
-rw-r--r--pkgs/development/python-modules/pyside/shiboken.nix2
-rw-r--r--pkgs/development/python-modules/pyslurm/default.nix2
-rw-r--r--pkgs/development/python-modules/pytesseract/default.nix6
-rw-r--r--pkgs/development/python-modules/pytesseract/tesseract-binary.patch14
-rw-r--r--pkgs/development/python-modules/pytest-benchmark/default.nix2
-rw-r--r--pkgs/development/python-modules/python-lzf/default.nix18
-rw-r--r--pkgs/development/python-modules/python-lzo/default.nix22
-rw-r--r--pkgs/development/python-modules/python-multipart/default.nix41
-rw-r--r--pkgs/development/python-modules/python_openzwave/cython.patch20
-rw-r--r--pkgs/development/python-modules/python_openzwave/default.nix6
-rw-r--r--pkgs/development/python-modules/quandl/default.nix2
-rw-r--r--pkgs/development/python-modules/snitun/default.nix28
-rw-r--r--pkgs/development/python-modules/speedtest-cli/default.nix2
-rw-r--r--pkgs/development/python-modules/starlette/default.nix28
-rw-r--r--pkgs/development/python-modules/stm32loader/default.nix4
-rw-r--r--pkgs/development/python-modules/thumbor/default.nix2
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix27
-rw-r--r--pkgs/development/python-modules/toggl-cli/default.nix5
-rw-r--r--pkgs/development/python-modules/trezor/default.nix4
-rw-r--r--pkgs/development/python-modules/typesystem/default.nix44
-rw-r--r--pkgs/development/python-modules/ueberzug/default.nix25
-rw-r--r--pkgs/development/ruby-modules/bundled-common/functions.nix2
-rw-r--r--pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb4
-rw-r--r--pkgs/development/ruby-modules/with-packages/test.nix1
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix61
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix11
-rw-r--r--pkgs/development/tools/database/ephemeralpg/default.nix4
-rw-r--r--pkgs/development/tools/database/sqlitebrowser/default.nix2
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix12
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix37
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix14
-rw-r--r--pkgs/development/tools/kcli/default.nix24
-rw-r--r--pkgs/development/tools/misc/act/default.nix22
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix11
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix11
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix12
-rw-r--r--pkgs/development/tools/misc/texinfo/cross-tools-flags.patch12
-rw-r--r--pkgs/development/tools/misc/texlab/citeproc/package.json31
-rwxr-xr-xpkgs/development/tools/misc/texlab/citeproc/update-package.json.sh14
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix18
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix6
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix2
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix57
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix47
-rwxr-xr-xpkgs/development/tools/purescript/spago/update.sh30
-rw-r--r--pkgs/development/tools/rdbtools/default.nix25
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix2
-rw-r--r--pkgs/development/tools/repository-managers/nexus/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock49
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix8
-rw-r--r--pkgs/development/tools/unityhub/default.nix34
-rw-r--r--pkgs/development/web/nodejs/v13.nix4
-rw-r--r--pkgs/development/web/postman/default.nix4
-rw-r--r--pkgs/games/empty-epsilon/default.nix8
-rw-r--r--pkgs/games/frotz/default.nix2
-rw-r--r--pkgs/games/steam/chrootenv.nix1
-rw-r--r--pkgs/games/xbomb/default.nix7
-rw-r--r--pkgs/misc/emulators/mame/default.nix13
-rw-r--r--pkgs/misc/frescobaldi/default.nix2
-rw-r--r--pkgs/misc/uboot/default.nix2
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix21
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix12
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix12
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix11
-rw-r--r--pkgs/os-specific/linux/batman-adv/version.nix9
-rw-r--r--pkgs/os-specific/linux/bpftool/default.nix4
-rw-r--r--pkgs/os-specific/linux/digimend/default.nix11
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix25
-rw-r--r--pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix7
-rw-r--r--pkgs/os-specific/linux/forktty/default.nix2
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-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-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix4
-rw-r--r--pkgs/os-specific/linux/macchanger/default.nix2
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix4
-rw-r--r--pkgs/os-specific/linux/pktgen/configure.patch17
-rw-r--r--pkgs/os-specific/linux/pktgen/default.nix29
-rw-r--r--pkgs/os-specific/linux/power-calibrate/default.nix4
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix14
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/gotify/default.nix4
-rw-r--r--pkgs/servers/gotify/ui.nix4
-rw-r--r--pkgs/servers/http/hiawatha/default.nix2
-rw-r--r--pkgs/servers/http/unit/default.nix3
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix17
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/monitoring/nagios/default.nix12
-rw-r--r--pkgs/servers/monitoring/plugins/default.nix7
-rw-r--r--pkgs/servers/roundcube/default.nix2
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix60
-rw-r--r--pkgs/servers/sip/freeswitch/modules.nix11
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix10
-rw-r--r--pkgs/shells/ion/default.nix4
-rw-r--r--pkgs/shells/nushell/default.nix7
-rw-r--r--pkgs/shells/powershell/default.nix4
-rw-r--r--pkgs/shells/zsh/gradle-completion/default.nix2
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/booter.nix13
-rw-r--r--pkgs/stdenv/cross/default.nix8
-rw-r--r--pkgs/stdenv/generic/default.nix16
-rw-r--r--pkgs/tools/X11/xsecurelock/default.nix4
-rw-r--r--pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch18
-rw-r--r--pkgs/tools/admin/certbot/0001-pebble_artifacts-hardcode-pebble-location.patch24
-rw-r--r--pkgs/tools/admin/certbot/default.nix22
-rw-r--r--pkgs/tools/admin/simp_le/default.nix4
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix6
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix2
-rw-r--r--pkgs/tools/filesystems/fatresize/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix9
-rw-r--r--pkgs/tools/inputmethods/fcitx/unwrapped.nix28
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix2
-rw-r--r--pkgs/tools/misc/3llo/default.nix2
-rw-r--r--pkgs/tools/misc/cpulimit/default.nix7
-rw-r--r--pkgs/tools/misc/ent/default.nix2
-rw-r--r--pkgs/tools/misc/ffsend/default.nix6
-rw-r--r--pkgs/tools/misc/fzf/default.nix2
-rw-r--r--pkgs/tools/misc/lnav/default.nix2
-rw-r--r--pkgs/tools/misc/lorri/default.nix3
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix2
-rw-r--r--pkgs/tools/misc/reredirect/default.nix29
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix6
-rw-r--r--pkgs/tools/misc/ttfautohint/default.nix2
-rw-r--r--pkgs/tools/misc/txr/default.nix9
-rw-r--r--pkgs/tools/misc/uutils-coreutils/default.nix10
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix2
-rw-r--r--pkgs/tools/networking/acme-client/default.nix4
-rw-r--r--pkgs/tools/networking/airfield/default.nix2
-rw-r--r--pkgs/tools/networking/bandwhich/default.nix32
-rw-r--r--pkgs/tools/networking/clash/default.nix29
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix14
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix5
-rw-r--r--pkgs/tools/networking/ocserv/default.nix2
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix6
-rw-r--r--pkgs/tools/networking/shorewall/default.nix130
-rw-r--r--pkgs/tools/networking/swaks/default.nix2
-rw-r--r--pkgs/tools/networking/uwimap/default.nix8
-rw-r--r--pkgs/tools/networking/v2ray/default.nix12
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix12
-rw-r--r--pkgs/tools/package-management/librepo/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/default.nix2
-rw-r--r--pkgs/tools/security/afl/README.md4
-rw-r--r--pkgs/tools/security/afl/default.nix12
-rw-r--r--pkgs/tools/security/afl/libdislocator.nix2
-rw-r--r--pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch28
-rw-r--r--pkgs/tools/security/afl/qemu.nix18
-rw-r--r--pkgs/tools/security/age/default.nix27
-rw-r--r--pkgs/tools/security/bitwarden-cli/default.nix18
-rwxr-xr-xpkgs/tools/security/bitwarden-cli/generate.sh8
-rw-r--r--pkgs/tools/security/bitwarden-cli/node-packages-generated.nix1407
-rw-r--r--pkgs/tools/security/bitwarden-cli/node-packages.json3
-rw-r--r--pkgs/tools/security/bitwarden-cli/node-packages.nix17
-rw-r--r--pkgs/tools/security/fail2ban/default.nix27
-rw-r--r--pkgs/tools/security/notary/default.nix2
-rw-r--r--pkgs/tools/security/opensc/default.nix22
-rw-r--r--pkgs/tools/security/proxmark3/default.nix78
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix2
-rw-r--r--pkgs/tools/system/augeas/default.nix2
-rw-r--r--pkgs/tools/system/di/default.nix2
-rw-r--r--pkgs/tools/system/hwinfo/default.nix2
-rw-r--r--pkgs/tools/system/ioping/default.nix2
-rw-r--r--pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--pkgs/tools/system/netdata/default.nix12
-rw-r--r--pkgs/tools/system/netdata/no-files-in-etc-and-var.patch98
-rw-r--r--pkgs/tools/system/plan9port/default.nix2
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/xe/default.nix2
-rw-r--r--pkgs/tools/text/catdoc/default.nix2
-rw-r--r--pkgs/tools/text/discount/default.nix2
-rw-r--r--pkgs/tools/text/dos2unix/default.nix2
-rw-r--r--pkgs/tools/text/highlight/default.nix2
-rw-r--r--pkgs/tools/text/kytea/default.nix2
-rw-r--r--pkgs/tools/text/numdiff/default.nix2
-rw-r--r--pkgs/tools/text/qgrep/default.nix17
-rw-r--r--pkgs/tools/text/ripgrep-all/default.nix2
-rw-r--r--pkgs/tools/text/ripgrep/default.nix2
-rw-r--r--pkgs/tools/text/smu/default.nix4
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix2
-rw-r--r--pkgs/tools/text/xurls/default.nix2
-rw-r--r--pkgs/tools/typesetting/fop/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix151
-rw-r--r--pkgs/top-level/haskell-packages.nix22
-rw-r--r--pkgs/top-level/ocaml-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix57
-rw-r--r--pkgs/top-level/release-cross.nix5
451 files changed, 7975 insertions, 5104 deletions
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index dd59ac5080f..0cff19819c0 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -1,16 +1,25 @@
-{ fetchurl, bitwig-studio1,
-  pulseaudio }:
+{ fetchurl, bitwig-studio1, pulseaudio, xorg }:
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.0.3";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "162l95imq2fb4blfkianlkymm690by9ri73xf9zigknqf0gacgsa";
+    sha256 = "1mgyyl1mr8hmzn3qdmg77km6sk58hyd0gsqr9jksh0a8p6hj24pk";
   };
 
+  buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];
+
   runtimeDependencies = [
     pulseaudio
   ];
+
+  installPhase = ''
+    ${oldAttrs.installPhase}
+
+    # recover commercial jre
+    rm -f $out/libexec/lib/jre
+    cp -r opt/bitwig-studio/lib/jre $out/libexec/lib
+  '';
 })
diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix
index cd1d837e1dd..52f5a6540e8 100644
--- a/pkgs/applications/audio/cadence/default.nix
+++ b/pkgs/applications/audio/cadence/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , mkDerivation
 , lib
+, fetchpatch
 , fetchzip
 , pkgconfig
 , qtbase
@@ -17,6 +18,14 @@
     sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20";
   };
 
+  patches = [
+    # Fix installation without DESTDIR
+    (fetchpatch {
+      url = "https://github.com/falkTX/Cadence/commit/1fd3275e7daf4b75f59ef1f85a9e2e93bd5c0731.patch";
+      sha256 = "0q791jsh8vmjg678dzhbp1ykq8xrrlxl1mbgs3g8if1ccj210vd8";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig
   ];
@@ -26,8 +35,8 @@
   ];
 
   makeFlags = [
-    "PREFIX=''"
-    "DESTDIR=${placeholder "out"}"
+    "PREFIX=${placeholder "out"}"
+    "SYSCONFDIR=${placeholder "out"}/etc"
   ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix
index 9dd5da4c1a9..c1ccd6add78 100644
--- a/pkgs/applications/audio/flacon/default.nix
+++ b/pkgs/applications/audio/flacon/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = https://flacon.github.io/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ndowens nico202 ];
+    maintainers = with maintainers; [ nico202 ];
   };
 }
diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
index e7aace763a1..347774010ae 100644
--- a/pkgs/applications/audio/projectm/default.nix
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -37,15 +37,15 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  cmakeFlags = ''
-    -DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf
-    -DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf
-    -DINCLUDE-PROJECTM-TEST=OFF
-    -DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}
-    -DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}
-  '';
+  cmakeFlags = [
+    "-DprojectM_FONT_MENU=${ttf_bitstream_vera}/share/fonts/truetype/VeraMono.ttf"
+    "-DprojectM_FONT_TITLE=${ttf_bitstream_vera}/share/fonts/truetype/Vera.ttf"
+    "-DINCLUDE-PROJECTM-TEST=OFF"
+    "-DINCLUDE-PROJECTM-QT=${if withQt then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-LIBVISUAL=${if withLibvisual then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-JACK=${if withJack then "ON" else "OFF"}"
+    "-DINCLUDE-PROJECTM-PULSEAUDIO=${if withPulseAudio then "ON" else "OFF"}"
+  ];
 
   buildInputs = with stdenv.lib;
     [ glew ftgl ]
diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix
index 69cc5e6e89f..33411002c23 100644
--- a/pkgs/applications/audio/qsampler/default.nix
+++ b/pkgs/applications/audio/qsampler/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   pname = "qsampler";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsampler/${pname}-${version}.tar.gz";
-    sha256 = "1krhjyd67hvnv6sgndwq81lfvnb4qkhc7da1119fn2lzl7hx9wh3";
+    sha256 = "1wr7k739zx2nz00b810f60g9k3y92w05nfci987hw7y2sks9rd8j";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index 7b2d92ad59d..2fb1943e0e5 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -14,7 +14,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "renoise";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 		          "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
 		          "https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
 		      ];
-		      sha256 = "0cfczzpk1ddz61nk4d72fydbm5nbgxqp95v81by2n87s1wffjjhi";
+		      sha256 = "0dhcidgnjzd4abw0xw1waj9mazp03nbvjcr2xx09l8gnfrkvny46";
 		    }
         else
         	releasePath
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 9445bf3723c..7c4cefb6ba4 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools
+{ stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools, wrapQtAppsHook
 , dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2
 , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }:
 
@@ -15,7 +15,8 @@ stdenv.mkDerivation (rec {
     substituteInPlace src/CMakeLists.txt --replace svnheader svnversion
   '';
 
-  nativeBuildInputs = [ cmake makedepend perl pkgconfig qttools ];
+  nativeBuildInputs =
+    [ cmake makedepend perl pkgconfig qttools wrapQtAppsHook ];
 
   buildInputs = [
     dssi
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index bc95ec625bb..b763e6e6122 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -159,7 +159,7 @@ stdenv.mkDerivation {
     homepage = https://www.spotify.com/;
     description = "Play music from the Spotify music service";
     license = licenses.unfree;
-    maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ];
+    maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ma27 ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index fcd15355a10..cee61641041 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
     sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.6"; # "Android Studio 4.0 Canary 6"
-    build = "193.6052267";
-    sha256Hash = "1naxyfnrj7milqha7xbwbcvyi81a7fqb7jsm03hhq5xs2sw55m1c";
+    version = "4.0.0.7"; # "Android Studio 4.0 Canary 7"
+    build = "193.6085562";
+    sha256Hash = "0vk1vwh2yhsmadkb3v3m042ckzizc41ckqvj3jax8p86gl0b4whj";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 26deee3b859..0a7e362e75a 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -3,14 +3,14 @@
 let
   versions = {
     atom = {
-      version = "1.36.1";
-      sha256 = "1m7q2r3zx463k7kpqb364piqrr69wrhs033ibzxdx9y7r4204qp4";
+      version = "1.42.0";
+      sha256 = "1ira528nwxi30jfwyivlac3wkkqb9d2z4jhxwq5m7mnpm5yli6jy";
     };
 
     atom-beta = {
-      version = "1.37.0";
+      version = "1.43.0";
       beta = 0;
-      sha256 = "0aq8r5vfgq7r31qajjgcg4n5a57a2m8fvq6fzy9vq5gawkvmaxxx";
+      sha256 = "06if3w5hx7njmyal0012zawn8f5af1z4bjcbzj2c0gd15nlsgm95";
     };
   };
 
diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix
index 46dd4a22864..cf783053679 100644
--- a/pkgs/applications/editors/atom/env.nix
+++ b/pkgs/applications/editors/atom/env.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, zlib, glib, alsaLib, dbus, gtk3, atk, pango, freetype, fontconfig
 , libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr
-, gconf, nss, xorg, libcap, systemd, libnotify, libsecret
+, gconf, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk
 }:
 
 let
@@ -10,7 +10,7 @@ let
     xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
     xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
     xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
-    xorg.libxcb libsecret
+    xorg.libxcb libsecret libuuid at-spi2-atk
   ];
 
   libPathNative = lib.makeLibraryPath packages;
diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix
index d773de4375c..c3c21b40a65 100644
--- a/pkgs/applications/editors/emacs-modes/manual-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -113,6 +113,8 @@
   perl-completion =
     callPackage ./perl-completion { };
 
+  pod-mode = callPackage ./pod-mode { };
+
   railgun = callPackage ./railgun { };
 
   structured-haskell-mode = self.shm;
diff --git a/pkgs/applications/editors/emacs-modes/pod-mode/default.nix b/pkgs/applications/editors/emacs-modes/pod-mode/default.nix
new file mode 100644
index 00000000000..198adefc016
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/pod-mode/default.nix
@@ -0,0 +1,18 @@
+{ trivialBuild, lib, fetchurl }:
+
+trivialBuild rec {
+  pname = "pod-mode";
+  version = "1.04";
+
+  src = fetchurl {
+    url = "mirror://cpan/authors/id/F/FL/FLORA/pod-mode-${version}.tar.gz";
+    sha256 = "1wr0khymkaa65blrc5nya607c1a3sjsww49bbf8f0a6176as71sv";
+  };
+
+  meta = with lib; {
+    description = "Major mode for editing .pod-files";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platform = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix
index 2862ba7184f..98653517b5e 100644
--- a/pkgs/applications/editors/emacs/default.nix
+++ b/pkgs/applications/editors/emacs/default.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  installTargets = "tags install";
+  installTargets = [ "tags" "install" ];
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 48af3c9b014..3286e342744 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -150,7 +150,7 @@ let
           with on-the-fly code analysis, error prevention and
           automated refactorings for PHP and JavaScript code.
         '';
-        maintainers = with maintainers; [ schristo ];
+        maintainers = with maintainers; [ schristo ma27 ];
         platforms = platforms.linux;
       };
     });
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.2.5"; /* updated by script */
+    version = "2019.3.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "0p0shikhf73ayflv5bm212kz06hiy3brww9h9ijjp6lcadxc9pmf"; /* updated by script */
+      sha256 = "0aksix22cbbxny68650qxjbbm1fmgbsnp97qix5kl5nx4y4yvlii"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2019.2.6"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "0g57njcklyskadxmvwb0r0z3ckq9qmcwh8qd80w396gj8fgbg50g"; /* updated by script */
+      sha256 = "1h7va6x625kxc2i22mnya64b1kb4vl5xgjxrv3lqwz725q5hkrxa"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0rkyw3532qvr6jhr09m3h0ssdy5ilfgfvqqliyf0cacwzw9lfv0p"; /* updated by script */
+      sha256 = "1lj5i71nw2m9xwv6q48b86kipiwj927bxiwxppb4isqax2w6250d"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "012vmclx6kg85gffgc9mr3fp1ffgx20dz7xvafk7c1iynawx8wgq"; /* updated by script */
+      sha256 = "0285jdh350dalvk76ajy57mi1yg1g905cnfhcjlb465bsxaw0z5n"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "09mz4dx3zbnqw0vh4iqr8sn2s8mvgr7zvn4k7kqivsiv8f79g90a"; /* updated by script */
+      sha256 = "0rb726nh2c7zxnpjcf6fyrpl29y9wgr6qhpb6hjxia2gzxab9jz0"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1bx8s4hh96pjfyccldwfarwv5fky6kg2kyc0h2arhfzwq1pbaisl"; /* updated by script */
+      sha256 = "170ppd0inn3s1yxd5ybspzgx2il78838z900fpg2pznq2hi0rn2h"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "00dl3yx13lw8qyc23dirw96vm2d8c6zsx73ds1ha8zycfh6hkxf8"; /* updated by script */
+      sha256 = "1cph2v7gaxikrvvdaz7ihk17qgdzrn86jamik9fijb8sjli3695v"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "14ab1cvypanwwn0k1hrx3rl964av6pvridgc19z49idw5wpgxgw7"; /* updated by script */
+      sha256 = "1bjijwc5f1is2920b497d395ckswhpxilmxaljb6pjwq4a2k8yzx"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -354,12 +354,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "13br6zmqpvi9hcd6wdnalkhj50gzr7cwrdh4v2bpda77iby2pz93"; /* updated by script */
+      sha256 = "0cs8fc3h6d2m84ppiqjy0f3xklpc5gf0i6c4bzv04y8ngh0cwgl2"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "1dqp222zvi8ikqdkprmqihyjxiq90vd0a0zl5935xjg1mzf8ald9"; /* updated by script */
+      sha256 = "0xadjx4szd9rk3bl3fqzhnfq744gmkbz9li80j5rqm27qhf4axfx"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2019.2.4"; /* updated by script */
+    version = "2019.3.1"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0iz9qgrbhn1rxr8n5q1y7klfs27j1f55pw8hqbl2ln4df94zqi5j"; /* updated by script */
+      sha256 = "0qjqd1a44mdlpvv3l4sx2n5clirwxialzh6s2dlb0dibx8zvnckp"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index bca885b55aa..2fff5cdce85 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -119,7 +119,7 @@ in
       # those contributions were copied from Vim (identified in the commit logs
       # by the vim-patch token). See LICENSE for details."
       license = with licenses; [ asl20 vim ];
-      maintainers = with maintainers; [ manveru rvolosatovs ];
+      maintainers = with maintainers; [ manveru rvolosatovs ma27 ];
       platforms   = platforms.unix;
     };
   }
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 6bb40f0166d..622c4a680f5 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.14";
+  version = "2.15";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "1xs2wvm9g8vypz25li7rm8m0j4dsdpqpajcvrc756x5m149dxc08";
+    sha256 = "1p43xncqb898rgfx4vv1nxy6dj57pvxpc0b5j3kgs58ir70rg1js";
   };
 
   # We have not packaged tests.
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 9abee88d8b0..d602647c34c 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,13 +11,13 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1ziw2b851kg17jaf713nwhsv5ikbvivq3h01xximhcglv9vzk93l";
-    x86_64-darwin = "0nndasa130551jf06mfrym593c02c3ypgg9f9rdg1fw5qbyjb8hm";
+    x86_64-linux = "00b6q3rvf9v993i8d1vh9ckb86s655mz6kqkw0lxg8xmhpm568ra";
+    x86_64-darwin = "1r4qbjbypdqx9qmycykgkrg8anckicmdmawwwsszgkdd0zd5idgg";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.41.0";
+    version = "1.41.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 310d839088d..72484730a3e 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1njxa19mzzydz1jacghwmha3dl4a13m9xzzwsb0rbks5zc9a0v7m";
-    x86_64-darwin = "0cpd87q0q3i172l4s43s79by42wa9k5pyik3v2z5mq8zpms8qcq4";
+    x86_64-linux = "0n4wcg072a0b76jjv08cig2kygkmakvwav5vvl0h6ww9sbdcwl1x";
+    x86_64-darwin = "0xvyh9qypsyzw02vpmnfa0hdszj8ylvf78yjbmg86m4xml0sbj9r";
   }.${system};
 
   sourceRoot = {
@@ -23,7 +23,7 @@ in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
 
-    version = "1.41.0";
+    version = "1.41.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 1abde3ddafc..53e04dc7f78 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -3,7 +3,7 @@
 , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
 , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
-, ocl-icd, pcre, gtk-mac-integration, isocodes
+, ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
     libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre isocodes
   ] ++ stdenv.lib.optionals stdenv.isLinux [
     colord colord-gtk libX11 ocl-icd
-  ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
+  ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration
+    ++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
   cmakeFlags = [
     "-DBUILD_USERMANUAL=False"
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
     description = "Virtual lighttable and darkroom for photographers";
     homepage = https://www.darktable.org;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ goibhniu flosse mrVanDalo ];
   };
 }
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index de7d76ec45f..1eb99a9a7e4 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ viric willibutz globin ];
+    maintainers = with maintainers; [ viric willibutz globin ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 3df2ab4ab40..8dd9ef1cb25 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.3";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03v4wc531dwmbjqgs3y3ncdn6g3xirv1w6h1mfgglb6sjll8jxp5";
+    sha256 = "13i9hz7gg82s17ky715a6czpisn4fpx2xjbmydq7j81b44x7m3vc";
   };
 
   modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index 1ad51e92d47..7639a2a9c76 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation (rec {
     description = "Powerful image viewer with minimal UI";
     homepage = http://www.pberndt.com/Programme/Linux/pqiv;
     license = licenses.gpl3;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 })
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix
index 4e8519d17b6..cc5d00d64ec 100644
--- a/pkgs/applications/graphics/rx/default.nix
+++ b/pkgs/applications/graphics/rx/default.nix
@@ -3,56 +3,43 @@
 , xorg ? null
 , vulkan-loader ? null }:
 
-assert stdenv.isLinux -> xorg != null;
-assert stdenv.isLinux -> vulkan-loader != null;
-
-let
-    graphicsBackend = if stdenv.isDarwin then "metal" else "vulkan";
-in
-  with stdenv.lib;
-  rustPlatform.buildRustPackage rec {
-    pname = "rx";
-    version = "0.2.0";
-
-    src = fetchFromGitHub {
-      owner = "cloudhead";
-      repo = pname;
-      rev = "v${version}";
-      sha256 = "0f6cw8zqr45bprj8ibhp89bb2a077g4zinfrdn943csdmh47qzcl";
-    };
-
-    cargoSha256 = "05bqsw0nw24xysq86qa3hx9b5ncf50wfxsgpy388yrs2dfnphwlx";
-
-    nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
-
-    buildInputs = optionals stdenv.isLinux
-    (with xorg; [
-      # glfw-sys dependencies:
-      libX11 libXrandr libXinerama libXcursor libXi libXext
-    ]);
-
-    cargoBuildFlags = [ "--features=${graphicsBackend}" ];
-
-    # TODO: better to factor that into the rust platform
-    checkPhase = ''
-      runHook preCheck
-      echo "Running cargo test"
-      cargo test --features=${graphicsBackend}
-      runHook postCheck
-    '';
-
-    postInstall = optional stdenv.isLinux ''
-      mkdir -p $out/share/applications
-      cp $src/rx.desktop $out/share/applications
-      wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    '';
-
-    meta = {
-      description = "Modern and extensible pixel editor implemented in Rust";
-      homepage = "https://cloudhead.io/rx/";
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ minijackson ];
-      platforms   = with platforms; (linux ++ darwin ++ windows);
-      inherit version;
-    };
-  }
+with stdenv.lib;
+
+rustPlatform.buildRustPackage rec {
+  pname = "rx";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudhead";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mhpq9x54d884ydmfv1358sgc4jc7bghfx2y0k7p879hyyxr52v1";
+  };
+
+  cargoSha256 = "0fnrgijfkvapj1yyy9grnqh2vkciisf029af0gfwyzsxzdi62gg5";
+
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+
+  buildInputs = optionals stdenv.isLinux
+  (with xorg; [
+    # glfw-sys dependencies:
+    libX11 libXrandr libXinerama libXcursor libXi libXext
+  ]);
+
+  # FIXME: GLFW (X11) requires DISPLAY env variable for all tests
+  doCheck = false;
+
+  postInstall = optional stdenv.isLinux ''
+    mkdir -p $out/share/applications
+    cp $src/rx.desktop $out/share/applications
+    wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  '';
+
+  meta = {
+    description = "Modern and extensible pixel editor implemented in Rust";
+    homepage = "https://cloudhead.io/rx/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ minijackson filalex77 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/graphics/yeetgif/default.nix b/pkgs/applications/graphics/yeetgif/default.nix
new file mode 100644
index 00000000000..157ef3753e0
--- /dev/null
+++ b/pkgs/applications/graphics/yeetgif/default.nix
@@ -0,0 +1,23 @@
+{ buildGoPackage, fetchFromGitHub, lib }:
+
+buildGoPackage rec {
+  pname = "yeetgif";
+  version = "1.23.5";
+
+  goPackagePath = "github.com/sgreben/yeetgif";
+
+  src = fetchFromGitHub {
+    owner = "sgreben";
+    repo = pname;
+    rev = version;
+    sha256 = "1yz4pps8g378lvmi92cnci6msjj7fprp9bxqmnsyn6lqw7s2wb47";
+  };
+
+  meta = with lib; {
+    description = "gif effects CLI. single binary, no dependencies. linux, osx, windows. #1 workplace productivity booster. #yeetgif #eggplant #golang";
+    homepage = "https://github.com/sgreben/yeetgif";
+    license = with licenses; [ mit asl20 cc-by-nc-sa-40 ];
+    maintainers = with maintainers; [ ajs124 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix
index 8945ffbb384..665198b3d1f 100644
--- a/pkgs/applications/misc/bemenu/default.nix
+++ b/pkgs/applications/misc/bemenu/default.nix
@@ -9,19 +9,25 @@ assert ncursesSupport -> ncurses != null;
 assert waylandSupport -> wayland != null;
 assert x11Support -> xlibs != null && xorg != null;
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "bemenu";
-  version = "0.1.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
-    repo = "bemenu";
-    rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32";
-    sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w";
+    repo = pname;
+    rev = version;
+    sha256 = "03k8wijdgj5nwmvgjhsrlh918n719789fhs4dqm23pd00rapxipk";
   };
 
   nativeBuildInputs = [ cmake pkgconfig pcre ];
 
+  cmakeFlags =  [
+    "-DBEMENU_CURSES_RENDERER=${if ncursesSupport then "ON" else "OFF"}"
+    "-DBEMENU_WAYLAND_RENDERER=${if waylandSupport then "ON" else "OFF"}"
+    "-DBEMENU_X11_RENDERER=${if x11Support then "ON" else "OFF"}"
+  ];
+
   buildInputs = with stdenv.lib; [
     cairo
     fribidi
diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix
index baf2f5165d6..5db328072e4 100644
--- a/pkgs/applications/misc/get_iplayer/default.nix
+++ b/pkgs/applications/misc/get_iplayer/default.nix
@@ -4,18 +4,20 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "get_iplayer";
-  version = "2.99";
+  version = "3.24";
 
   src = fetchFromGitHub {
     owner = "get-iplayer";
     repo = "get_iplayer";
     rev = "v${version}";
-    sha256 = "085bgwkjnaqp96gvd2s8qmkw69rz91si1sgzqdqbplkzj9bk2qii";
+    sha256 = "0yd84ncb6cjrk4v4kz3zrddkl7iwkm3zlfbjyswd9hanp8fvd4q3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ perl ];
-  propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple];
+  propagatedBuildInputs = with perlPackages; [
+    HTMLParser HTTPCookies LWP LWPProtocolHttps XMLLibXML XMLSimple
+  ];
 
   preConfigure = "touch Makefile.PL";
   doCheck = false;
@@ -33,6 +35,7 @@ perlPackages.buildPerlPackage rec {
     license = licenses.gpl3Plus;
     homepage = https://squarepenguin.co.uk/;
     platforms = platforms.all;
+    maintainers = with maintainers; [ rika ];
   };
 
 }
diff --git a/pkgs/applications/misc/heimer/default.nix b/pkgs/applications/misc/heimer/default.nix
new file mode 100644
index 00000000000..39ae0e04670
--- /dev/null
+++ b/pkgs/applications/misc/heimer/default.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, lib, fetchFromGitHub, cmake, qttools, qtbase }:
+
+mkDerivation rec {
+  pname = "heimer";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "juzzlin";
+    repo = pname;
+    rev = version;
+    sha256 = "1gw4w6cvr3vb4zdb1kq8gwmadh2lb0jd0bd2hc7cw2d5kdbjaln7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qttools qtbase ];
+
+  meta = with lib; {
+    description = "Simple cross-platform mind map and note-taking tool written in Qt";
+    homepage = "https://github.com/juzzlin/Heimer";
+    license = licenses.gpl3;
+    maintainers  = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index ff0332e1e5f..c4b4fdfd42e 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "joplin-desktop";
-  version = "1.0.167";
+  version = "1.0.177";
 in appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}-x86_64.AppImage";
-    sha256 = "062f2av60490ffrml0q8zv68yir6zaqif0g3d32c985gcvmgn9lw";
+    url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.AppImage";
+    sha256 = "023q3yxqsv0vd76bvfhyhh0pnfia01rflfpyv0i6w6xnb5hm2jp7";
   };
 
 
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index a3cbdabeacf..be620192dc3 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15492";
+  version = "15553";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "0x7ndcrlvrvk2fd4pyn10npr3778khcwg6xzzh19vdw4glh5zfcl";
+    sha256 = "07kkc19r9xkb5jim26nnmajp0jzvg3absgx55z5qnna6r189ba2j";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/pkgs/applications/misc/lutris/chrootenv.nix b/pkgs/applications/misc/lutris/chrootenv.nix
index 58492259b09..08612850886 100644
--- a/pkgs/applications/misc/lutris/chrootenv.nix
+++ b/pkgs/applications/misc/lutris/chrootenv.nix
@@ -97,7 +97,7 @@ in buildFHSUserEnv {
     libcap libtiff libva libgphoto2 libxslt libtxc_dxtn libsndfile giflib zlib glib
     alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
     readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
-    vulkan-loader xdg_utils sqlite
+    vulkan-loader xdg_utils sqlite gnutls
 
     # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
 
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index 5c31cdf6e72..7b6be997ffa 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -2,22 +2,23 @@
 , pkgconfig, meson, ninja, python3
 , wrapGAppsHook, vala, shared-mime-info
 , cairo, pantheon, glib, gtk3, libxml2, libgee, libarchive
+, discount, gtksourceview3
 , hicolor-icon-theme # for setup-hook
 }:
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "1z3if8bbiigb3m5py641y0j8d9z0s6kbb325waxbqs240pcxipml";
+    sha256 = "0zma6hjx0068ih7fagb1gg5cgci0ccc764sd8qw6iglg61aihpx7";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
-  buildInputs = [ cairo pantheon.granite glib gtk3 libxml2 libgee libarchive hicolor-icon-theme ];
+  buildInputs = [ cairo pantheon.granite glib gtk3 libxml2 libgee libarchive hicolor-icon-theme discount gtksourceview3 ];
 
   postPatch = ''
     chmod +x meson/post_install.py
diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix
index 8ffc8ec69fe..1c19238541c 100644
--- a/pkgs/applications/misc/osm2xmap/default.nix
+++ b/pkgs/applications/misc/osm2xmap/default.nix
@@ -12,18 +12,15 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [
-    "GIT_VERSION=$(version)"
+    "GIT_VERSION=${version}"
     "GIT_TIMESTAMP="
-    "SHAREDIR=$(out)/share/"
-    "INSTALL_BINDIR=$(out)/bin"
-    "INSTALL_MANDIR=$(out)/share/man/man1"
-    "INSTALL_SHAREDIR=$(out)/share/"
+    "SHAREDIR=${placeholder ''out''}/share/osm2xmap"
+    "INSTALL_BINDIR=${placeholder ''out''}/bin"
+    "INSTALL_MANDIR=${placeholder ''out''}/share/man/man1"
   ];
 
   NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
 
-  installFlags = [ "DESTDIR=$(out)" ];
-
   buildInputs = [ libroxml proj libyamlcpp boost ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index fcc6ead550a..e1045663a3b 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -24,16 +24,15 @@ assert nlSupport     -> ! iwSupport && libnl         != null;
 assert i3Support     -> ! i3GapsSupport && jsoncpp != null && i3      != null;
 assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
-let xcbproto-py3 = xcbproto.override { python = python3; };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
     pname = "polybar";
-    version = "3.4.1";
+    version = "3.4.2";
 
     src = fetchFromGitHub {
       owner = pname;
       repo = pname;
       rev = version;
-      sha256 = "1z1m6dxh2i5vsnkzaccb9j02ab05wgmcgig5d0l9w856g5jp3zmy";
+      sha256 = "1ss4wzy68dpqr5a4m090nn36v8wsp4a7pj6whcxxdrrimgww5r88";
       fetchSubmodules = true;
     };
 
@@ -51,7 +50,7 @@ in stdenv.mkDerivation rec {
     };
 
     buildInputs = [
-      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto-py3 xcbutil
+      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto xcbutil
       xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 7045228d6a2..5d66df350ad 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -7,13 +7,13 @@ assert imagePreviewSupport -> w3m != null;
 
 python3Packages.buildPythonApplication rec {
   name = "ranger-${version}";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "ranger";
     repo = "ranger";
     rev = "v${version}";
-    sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
+    sha256= "1rygfryczanvqxn43lmlkgs04sbqznbvbb9hlbm3h5qgdcl0xlw8";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 94381d4f6f9..d8e600f6019 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Window switcher, run dialog and dmenu replacement";
     homepage = "https://github.com/davatorium/rofi";
     license = licenses.mit;
-    maintainers = with maintainers; [ mbakke ma27 ];
+    maintainers = with maintainers; [ mbakke ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index 6e4a32b1ef1..b3ad833e3f2 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -87,6 +87,7 @@ let
 
     postFixup = ''
       makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \
+        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] }" \
         "''${gappsWrapperArgs[@]}"
     '';
   };
diff --git a/pkgs/applications/misc/taizen/default.nix b/pkgs/applications/misc/taizen/default.nix
index ee516ac97aa..8d58c888748 100644
--- a/pkgs/applications/misc/taizen/default.nix
+++ b/pkgs/applications/misc/taizen/default.nix
@@ -1,4 +1,4 @@
-{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkgconfig }:
+{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkgconfig, Security, stdenv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "taizen";
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "09izgx7icvizskdy9kplk0am61p7550fsd0v42zcihq2vap2j92z";
   };
 
-  buildInputs = [ ncurses openssl ];
+  buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkgconfig ];
 
   cargoSha256 = "0h8ybhb17pqhhfjcmq1l70kp8g1yyq38228lcf86byk3r2ar2rkg";
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 002bdef7333..84735feef21 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, pkgconfig, ninja
-, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog
+, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog, gtk-layer-shell
 , traySupport  ? true,  libdbusmenu-gtk3
 , pulseSupport ? false, libpulseaudio
 , nlSupport    ? true,  libnl
@@ -9,13 +9,13 @@
 }:
   stdenv.mkDerivation rec {
     pname = "waybar";
-    version = "0.8.0";
+    version = "0.9.0";
 
     src = fetchFromGitHub {
       owner = "Alexays";
       repo = "Waybar";
       rev = version;
-      sha256 = "0s8ck7qxka0l91ayma6amp9sc8cidi43byqgzcavi3a6id983r1z";
+      sha256 = "1w8a6jih872ry288k8ic6mjfi9ccf1jwc24wnh9p5c7w73247c2c";
     };
 
     nativeBuildInputs = [
@@ -23,7 +23,7 @@
     ];
 
     buildInputs = with stdenv.lib;
-      [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog ]
+      [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog gtk-layer-shell ]
       ++ optional  traySupport  libdbusmenu-gtk3
       ++ optional  pulseSupport libpulseaudio
       ++ optional  nlSupport    libnl
@@ -42,6 +42,7 @@
       }
     ) ++ [
       "-Dout=${placeholder "out"}"
+      "-Dsystemd=disabled"
     ];
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/worker/default.nix b/pkgs/applications/misc/worker/default.nix
index 6ff09a5b4b0..d4b34e2bb7f 100644
--- a/pkgs/applications/misc/worker/default.nix
+++ b/pkgs/applications/misc/worker/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "A two-pane file manager with advanced file manipulation features";
     homepage = http://www.boomerangsworld.de/cms/worker/index.html;
     license =  licenses.gpl2;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 }
diff --git a/pkgs/applications/networking/browsers/browsh/default.nix b/pkgs/applications/networking/browsers/browsh/default.nix
index c3f5cb13164..2b910fe0c5c 100644
--- a/pkgs/applications/networking/browsers/browsh/default.nix
+++ b/pkgs/applications/networking/browsers/browsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildGoPackage, fetchurl, fetchFromGitHub, go-bindata }:
 
 let
-  version = "1.5.2";
+  version = "1.6.4";
 
   # TODO: must build the extension instead of downloading it. But since it's
   # literally an asset that is indifferent regardless of the platform, this
   # might be just enough.
   webext = fetchurl {
     url = "https://github.com/browsh-org/browsh/releases/download/v${version}/browsh-${version}-an.fx.xpi";
-    sha256 = "0b9aycyif0hfhfkivlnvinr13r9h4qyxx768286966p67napbd63";
+    sha256 = "1shf1s9s525wns5vrsc4ns21zjxm1si43lx6v0q8ma6vd5x5445l";
   };
 
 in buildGoPackage rec {
@@ -23,7 +23,7 @@ in buildGoPackage rec {
     owner = "browsh-org";
     repo = "browsh";
     rev = "v${version}";
-    sha256 = "1z78kgxrbi2jy20rbq6kx5mjk4gpg58w4rb3flp42l9p7bhdbr2h";
+    sha256 = "0gvf5k1gm81xxg7ha309kgfkgl5357dli0fbc4z01rmfgbl0rfa0";
   };
 
   buildInputs = [ go-bindata ];
diff --git a/pkgs/applications/networking/browsers/browsh/deps.nix b/pkgs/applications/networking/browsers/browsh/deps.nix
index fae04b4d6a5..9a6a898beb5 100644
--- a/pkgs/applications/networking/browsers/browsh/deps.nix
+++ b/pkgs/applications/networking/browsers/browsh/deps.nix
@@ -1,3 +1,4 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
 [
   {
     goPackagePath  = "github.com/NYTimes/gziphandler";
@@ -49,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "5ed622c449da6d44c3c8329331ff47a9e5844f71";
-      sha256 = "1yhcwraijdk6lx7f6m9p6i1b3zfh2hq80l1nfpnckfn10gh72aw7";
+      rev =  "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
     };
   }
   {
@@ -103,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev =  "f15292f7a699fcc1a38a80977f80a046874ba8ac";
-      sha256 = "0zm3nhdvmj3f8q0vg2sjfw1sm3pwsw0ggz501awz95w99664a8al";
+      rev =  "3536a929edddb9a5b34bd6861dc4a9647cb459fe";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
     };
   }
   {
@@ -166,8 +167,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cast";
-      rev =  "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
+      rev =  "8c9545af88b134710ab1cd196795e7f2388358d7";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
     };
   }
   {
@@ -184,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev =  "3ebe029320b2676d667ae88da602a5f854788a8a";
-      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
+      rev =  "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
     };
   }
   {
@@ -260,4 +261,4 @@
       sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
     };
   }
-]
+]
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index ae3999e3cda..21dd04610cd 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -55,6 +55,7 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
     export MOZCONFIG=$(pwd)/mozconfig
+    export MOZ_NOSPAM=1
     export builddir=$(pwd)/pmbuild
 
     echo > $MOZCONFIG "
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index a4b78110d33..e24e47f2fe7 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "newsboat";
-  version = "2.17.1";
+  version = "2.18";
 
   src = fetchFromGitHub {
     owner = "newsboat";
     repo = "newsboat";
     rev = "r${version}";
-    sha256 = "1xdy45rc3zzmf59zzszq9wpks6pvc0flmmwak39ww7laj2vgb4a7";
+    sha256 = "1bg2qjkzdawn4fnn0w7jhw1dk6191w8axnqra43z21pinfyim6da";
   };
 
-  cargoSha256 = "0db4j6y43gacazrvcmq823fzl5pdfdlg8mkjpysrw6h9fxisq83f";
+  cargoSha256 = "0q0iqd8y9rph8pwild5i2kv00h217a166c88hxpmbrigq9w960lp";
 
   postPatch = ''
     substituteInPlace Makefile --replace "|| true" ""
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index 04a31ba403a..7e01f97fe0d 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -66,6 +66,6 @@ stdenv.mkDerivation rec {
     description = "Open Source Video Calls and Chat";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
index 3ebd745e4f1..216af305b4a 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
+++ b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile
@@ -7,34 +7,30 @@ def source(url)
 
 source 'https://rubygems.org'
 
-ruby '>= 2.3.0'
+ruby '>= 2.5.0'
 
 group :default do
-  gem 'oauth', '>= 0.5.1'
-  gem 'json_pure', '~> 1.8'
-  gem 'addressable', '>= 2.5.2', '< 2.6'
-  gem 'diva', '>= 0.3.2', '< 2.0'
-  gem 'memoist', '>= 0.16', '< 0.17'
-  gem 'ruby-hmac', '~> 0.4'
-  gem 'typed-array', '~> 0.1'
-  gem 'delayer', '~> 0.0'
-  gem 'pluggaloid', '>= 1.1.1', '< 2.0'
-  gem 'delayer-deferred', '>= 2.0', '< 3.0'
-  gem 'twitter-text', '>= 2.1.0'
+  gem 'addressable','>= 2.7.0', '< 2.8'
+  gem 'delayer','>= 1.0.1', '< 1.1'
+  gem 'delayer-deferred','>= 2.1.1', '< 2.2'
+  gem 'diva','>= 1.0.1', '< 1.1'
+  gem 'memoist','>= 0.16.2', '< 0.17'
+  gem 'oauth','>= 0.5.4'
+  gem 'pluggaloid','>= 1.2.0', '< 1.3'
+  gem 'typed-array','>= 0.1.2', '< 0.2'
 end
 
 group :test do
-  gem 'test-unit', '~> 3.0'
-  gem 'rake', '~> 10.1'
-  gem 'watch', '~> 0.1'
-  gem 'mocha', '~> 0.14'
-  gem 'webmock', '~> 1.17'
-  gem 'ruby-prof'
+  gem 'test-unit','>= 3.3.4', '< 4.0'
+  gem 'rake','>= 13.0.1'
+  gem 'mocha','>= 1.11.1'
+  gem 'webmock','>= 3.7.6'
+  gem 'ruby-prof','>= 1.1.0'
 end
 
 
 group :plugin do
-  Dir.glob(File.expand_path(File.join(__dir__, 'core/plugin/*/Gemfile'))){ |path|
+  Dir.glob(File.expand_path(File.join(__dir__, 'plugin/*/Gemfile'))){ |path|
     eval File.open(path).read
   }
   Dir.glob(File.join(File.expand_path(ENV['MIKUTTER_CONFROOT'] || '~/.mikutter'), 'plugin/*/Gemfile')){ |path|
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
index 2e1f2fbd382..63f9a63849b 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
+++ b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock
@@ -1,117 +1,103 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    atk (3.3.2)
-      glib2 (= 3.3.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    atk (3.4.1)
+      glib2 (= 3.4.1)
     cairo (1.16.4)
       native-package-installer (>= 1.0.3)
       pkg-config (>= 1.2.2)
-    cairo-gobject (3.3.2)
+    cairo-gobject (3.4.1)
       cairo (>= 1.16.2)
-      glib2 (= 3.3.2)
+      glib2 (= 3.4.1)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    delayer (0.0.2)
-    delayer-deferred (2.0.0)
-      delayer (>= 0.0.2, < 0.1)
-    diva (0.3.2)
-      addressable (>= 2.5, < 2.6)
-    gdk_pixbuf2 (3.3.2)
-      gio2 (= 3.3.2)
+    delayer (1.0.1)
+    delayer-deferred (2.1.1)
+      delayer (>= 1.0, < 2.0)
+    diva (1.0.1)
+      addressable (>= 2.5.2, < 2.8)
+    gdk_pixbuf2 (3.4.1)
+      gio2 (= 3.4.1)
     gettext (3.2.9)
       locale (>= 2.0.5)
       text (>= 1.3.0)
-    gio2 (3.3.2)
-      gobject-introspection (= 3.3.2)
-    glib2 (3.3.2)
+    gio2 (3.4.1)
+      gobject-introspection (= 3.4.1)
+    glib2 (3.4.1)
       native-package-installer (>= 1.0.3)
-      pkg-config (>= 1.2.2)
-    gobject-introspection (3.3.2)
-      glib2 (= 3.3.2)
-    gtk2 (3.3.2)
-      atk (= 3.3.2)
-      gdk_pixbuf2 (= 3.3.2)
-      pango (= 3.3.2)
-    hashdiff (0.3.9)
+      pkg-config (>= 1.3.5)
+    gobject-introspection (3.4.1)
+      glib2 (= 3.4.1)
+    gtk2 (3.4.1)
+      atk (= 3.4.1)
+      gdk_pixbuf2 (= 3.4.1)
+      pango (= 3.4.1)
+    hashdiff (1.0.0)
     httpclient (2.8.3)
-    idn-ruby (0.1.0)
     instance_storage (1.0.0)
-    irb (1.0.0)
-    json_pure (1.8.6)
+    io-console (0.5.3)
+    irb (1.2.1)
+      reline (>= 0.0.1)
     locale (2.1.2)
-    memoist (0.16.0)
-    metaclass (0.0.4)
+    memoist (0.16.2)
     mini_portile2 (2.4.0)
-    mocha (0.14.0)
-      metaclass (~> 0.0.1)
-    moneta (1.1.1)
-    native-package-installer (1.0.7)
-    nokogiri (1.10.3)
+    mocha (1.11.1)
+    moneta (1.2.1)
+    native-package-installer (1.0.9)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
     oauth (0.5.4)
-    pango (3.3.2)
-      cairo-gobject (= 3.3.2)
-      gobject-introspection (= 3.3.2)
-    pkg-config (1.3.7)
-    pluggaloid (1.1.2)
-      delayer
+    pango (3.4.1)
+      cairo-gobject (= 3.4.1)
+      gobject-introspection (= 3.4.1)
+    pkg-config (1.4.0)
+    pluggaloid (1.2.0)
+      delayer (>= 1.0.0, < 2.0)
       instance_storage (>= 1.0.0, < 2.0.0)
-    power_assert (1.1.4)
-    public_suffix (3.0.3)
-    rake (10.5.0)
-    ruby-hmac (0.4.0)
-    ruby-prof (0.17.0)
+    power_assert (1.1.5)
+    public_suffix (4.0.1)
+    rake (13.0.1)
+    reline (0.1.2)
+      io-console (~> 0.5)
+    ruby-prof (1.1.0)
     safe_yaml (1.0.5)
-    test-unit (3.3.2)
+    test-unit (3.3.4)
       power_assert
     text (1.3.1)
-    totoridipjp (0.1.0)
-    twitter-text (3.0.0)
-      idn-ruby
-      unf (~> 0.1.0)
     typed-array (0.1.2)
-    unf (0.1.4)
-      unf_ext
-    unf_ext (0.0.7.6)
-    watch (0.1.0)
-    webmock (1.24.6)
+    webmock (3.7.6)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
-      hashdiff
+      hashdiff (>= 0.4.0, < 2.0.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  addressable (>= 2.5.2, < 2.6)
-  delayer (~> 0.0)
-  delayer-deferred (>= 2.0, < 3.0)
-  diva (>= 0.3.2, < 2.0)
+  addressable (>= 2.7.0, < 2.8)
+  delayer (>= 1.0.1, < 1.1)
+  delayer-deferred (>= 2.1.1, < 2.2)
+  diva (>= 1.0.1, < 1.1)
   gettext (>= 3.2.9, < 3.3)
-  gtk2 (= 3.3.2)
+  gtk2 (= 3.4.1)
   httpclient
-  irb (>= 1.0.0, < 1.1)
-  json_pure (~> 1.8)
-  memoist (>= 0.16, < 0.17)
-  mocha (~> 0.14)
+  irb (>= 1.2.0, < 1.3)
+  memoist (>= 0.16.2, < 0.17)
+  mocha (>= 1.11.1)
   moneta
   nokogiri
-  oauth (>= 0.5.1)
-  pluggaloid (>= 1.1.1, < 2.0)
-  rake (~> 10.1)
-  ruby-hmac (~> 0.4)
-  ruby-prof
-  test-unit (~> 3.0)
-  totoridipjp
-  twitter-text (>= 2.1.0)
-  typed-array (~> 0.1)
-  watch (~> 0.1)
-  webmock (~> 1.17)
+  oauth (>= 0.5.4)
+  pluggaloid (>= 1.2.0, < 1.3)
+  rake (>= 13.0.1)
+  ruby-prof (>= 1.1.0)
+  test-unit (>= 3.3.4, < 4.0)
+  typed-array (>= 0.1.2, < 0.2)
+  webmock (>= 3.7.6)
 
 RUBY VERSION
-   ruby 2.5.5p157
+   ruby 2.7.0p0
 
 BUNDLED WITH
-   1.17.2
+   2.1.2
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
index 3e2718c9c57..5778a2dea3b 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
@@ -7,23 +7,24 @@
 # find latest version at: http://mikutter.hachune.net/download#download
 # run these commands:
 #
-# wget http://mikutter.hachune.net/bin/mikutter.3.8.7.tar.gz
-# tar xvf mikutter.3.8.7.tar.gz
+# wget http://mikutter.hachune.net/bin/mikutter.4.0.0.tar.gz
+# mkdir mikutter
 # cd mikutter
+# tar xvf ../mikutter.4.0.0.tar.gz
 # find . -not -name Gemfile -exec rm {} \;
 # find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \;
 # cd ..
 # mv mikutter/* .
-# rm mikutter.3.8.7.tar.gz
+# rm mikutter.4.0.0.tar.gz
 # rm gemset.nix Gemfile.lock; nix-shell -p bundler bundix --run 'bundle lock && bundix'
 
 stdenv.mkDerivation rec {
   pname = "mikutter";
-  version = "3.8.7";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz";
-    sha256 = "1griypcd1xgyfd9wc3ls32grpw4ig0xxdiygpdinzr3bigfmd7iv";
+    sha256 = "0nx14vlp7p69m2vw0s6kbiyymsfq0r2jd4nm0v5c4xb9avkpgc8g";
   };
 
   env = bundlerEnv {
@@ -36,8 +37,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ alsaUtils libnotify which gtk2 ruby atk gobject-introspection ];
   nativeBuildInputs = [ wrapGAppsHook ];
 
-  postUnpack = ''
-    rm -rf $sourceRoot/vendor
+  unpackPhase = ''
+    mkdir source
+    cd source
+    unpackFile $src
+    rm -rf vendor
   '';
 
   installPhase = ''
@@ -73,5 +77,6 @@ stdenv.mkDerivation rec {
     homepage = https://mikutter.hachune.net;
     platforms = ruby.meta.platforms;
     license = licenses.mit;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
index 5f3ef945b3d..88ea97be1ca 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
+++ b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.7.0";
   };
   atk = {
     dependencies = ["glib2"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17c5ixwyg16lbbjix2prk7fa6lm0vkxvc1z6m6inc6jgkb1x0700";
+      sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   cairo = {
     dependencies = ["native-package-installer" "pkg-config"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12q441a5vnfvbcnli4fpq2svb75vq1wvs2rlgsp6fv38fh6fgsfz";
+      sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   crack = {
     dependencies = ["safe_yaml"];
@@ -59,10 +59,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "156vy4x1d2jgafkjaafzfz7g8ghl4p5zgbl859b8slp4wdxy3v1r";
+      sha256 = "09p4rkh3dpdm1mhq721m4d6zvxqqp44kg7069s8l7kmaf7nv2nb3";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "1.0.1";
   };
   delayer-deferred = {
     dependencies = ["delayer"];
@@ -70,10 +70,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvqphyzngj5wghgbb2nd1qj2qvj2plsz9vx8hz24c7bfq55n4xz";
+      sha256 = "1mbdxn1hskjqf3zlj4waxl71ccvbj6lk81c99769paxw4fajwrgx";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.1";
   };
   diva = {
     dependencies = ["addressable"];
@@ -81,10 +81,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rp125gdlq7jqq7x8la52pdpimhx5wr66frcgf6z4jm927rjw84d";
+      sha256 = "182gws1zihhpl7r3m8jsf29maqg9xdhj46s9lidbldar8clpl23h";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "1.0.1";
   };
   gdk_pixbuf2 = {
     dependencies = ["gio2"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "071z8a8khs5qb43ri5hbvaijwbx43mick7cjfmhn6javifkzijk7";
+      sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gettext = {
     dependencies = ["locale" "text"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f131yd9zzfsjn8i4k8xkl7xm3c5f9sm7irvwxnqqh635qccfz8n";
+      sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   glib2 = {
     dependencies = ["native-package-installer" "pkg-config"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13r1i8gkgxj0fjz7bdnqqrsvszl7dffbf85ghx2f8p7zrcbzlk3p";
+      sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gobject-introspection = {
     dependencies = ["glib2"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15njcm0yg4qpwkhyx6gf2nxvjl6fxm9jffan8zrl2xyh68yr4jf7";
+      sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   gtk2 = {
     dependencies = ["atk" "gdk_pixbuf2" "pango"];
@@ -147,20 +147,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a4lj6anmvr82cwrg8swzglz90jss995zr7bvsiwr876qqdwv7qs";
+      sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   hashdiff = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qji49afni3c90zws617x514xi7ik70g2iwngj9skq68mjcq6y4x";
+      sha256 = "18jqpbvidrlnq3xf0hkdbs00607jgz35lry6gjw4bcxgh52am2mk";
       type = "gem";
     };
-    version = "0.3.9";
+    version = "1.0.0";
   };
   httpclient = {
     groups = ["plugin"];
@@ -172,16 +172,6 @@
     };
     version = "2.8.3";
   };
-  idn-ruby = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   instance_storage = {
     groups = ["default"];
     platforms = [];
@@ -192,25 +182,26 @@
     };
     version = "1.0.0";
   };
-  irb = {
+  io-console = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "181d88hns00fpw8szg8hbchflwq69wp3y5zvd3dyqjzbq91v1dcr";
+      sha256 = "0srn91ly4cc5qvyj3r87sc7v8dnm52qj1hczzxmysib6ffparngd";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.5.3";
   };
-  json_pure = {
-    groups = ["default"];
+  irb = {
+    dependencies = ["reline"];
+    groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam";
+      sha256 = "1r1y8i46qd5izdszzzn5jxvwvq00m89rk0hm8cs8f21p7nlwmh5w";
       type = "gem";
     };
-    version = "1.8.6";
+    version = "1.2.1";
   };
   locale = {
     groups = ["default" "plugin"];
@@ -227,20 +218,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
+      sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55";
       type = "gem";
     };
-    version = "0.16.0";
-  };
-  metaclass = {
-    groups = ["default" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
-      type = "gem";
-    };
-    version = "0.0.4";
+    version = "0.16.2";
   };
   mini_portile2 = {
     groups = ["default" "plugin"];
@@ -253,35 +234,34 @@
     version = "2.4.0";
   };
   mocha = {
-    dependencies = ["metaclass"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0id1x7g46fzy8f4jna20ys329ydaj3sad75qs9db2a6nd7f0zc2b";
+      sha256 = "06i2q5qjr9mvjgjc8w41pdf3qalw340y33wjvzc0rp4a1cbbb7pp";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "1.11.1";
   };
   moneta = {
     groups = ["plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbs9w3c13phza8008mwlx8s991fzigml7pncq94i1c2flz9vw95";
+      sha256 = "0q7fskfdc0h5dhl8aamg3ypybd6cyl4x0prh4803gj7hxr17jfm1";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.1";
   };
   native-package-installer = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03qrzhk807f98bdwy6c37acksyb5fnairdz4jpl7y3fifh7k7yfn";
+      sha256 = "0piclgf6pw7hr10x57x0hn675djyna4sb3xc97yb9vh66wkx1fl0";
       type = "gem";
     };
-    version = "1.0.7";
+    version = "1.0.9";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -289,10 +269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.7";
   };
   oauth = {
     groups = ["default"];
@@ -310,20 +290,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbhjsd6y42iw572xcynd6gcapczjki41h932s90rkh6022pbm9p";
+      sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.4.1";
   };
   pkg-config = {
     groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s56ym0chq3fycl29vqabcalqdcf7y2f25pmihjwqgbmrmzdyvr1";
+      sha256 = "1cxdpr2wlz9b587avlq04a1da5fz1vdw8jvr6lx23mcq7mqh2xcx";
       type = "gem";
     };
-    version = "1.3.7";
+    version = "1.4.0";
   };
   pluggaloid = {
     dependencies = ["delayer" "instance_storage"];
@@ -331,60 +311,61 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fkm6y7aq132icmmv4k8mqw08fxqil8k52l8li642jyi79hvzrqh";
+      sha256 = "1gv0rjjdic8c41gfr3kyyphvf0fmv5rzcf6qd57zjdfcn6fvi3hh";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.2.0";
   };
   power_assert = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "072y5ixw59ad47hkfj6nl2i4zcyad8snfxfsyyrgjkiqnvqwvbvq";
+      sha256 = "1dii0wkfa0jm8sk9b20zl1z4980dmrjh0zqnii058485pp3ws10s";
       type = "gem";
     };
-    version = "1.1.4";
+    version = "1.1.5";
   };
   public_suffix = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.1";
   };
   rake = {
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
       type = "gem";
     };
-    version = "10.5.0";
+    version = "13.0.1";
   };
-  ruby-hmac = {
-    groups = ["default"];
+  reline = {
+    dependencies = ["io-console"];
+    groups = ["default" "plugin"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954";
+      sha256 = "0908ijrngc3wkn5iny7d0kxkp74w6ixk2nwzzngplplfla1vkp8x";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.1.2";
   };
   ruby-prof = {
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c";
+      sha256 = "18ga5f4h1fnwn0xh910kpnw4cg3lq3jqljd3h16bdw9pgc5ff7dn";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "1.1.0";
   };
   safe_yaml = {
     groups = ["default" "test"];
@@ -402,10 +383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hf47w70ajvwdchx0psq3dir26hh902x9sz0iwbxqj8z9w1kc6sd";
+      sha256 = "0mrkpb6wz0cs1740kaca240k4ymmkbvb2v5xaxsy6vynqw8n0g6z";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "3.3.4";
   };
   text = {
     groups = ["default" "plugin"];
@@ -417,27 +398,6 @@
     };
     version = "1.3.1";
   };
-  totoridipjp = {
-    groups = ["plugin"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03ci9hbwc6xf4x0lkm6px4jgbmi37n8plsjhbf2ir5vka9f29lck";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
-  twitter-text = {
-    dependencies = ["idn-ruby" "unf"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ibk4bl9hrq0phlg7zplkilsqgniji6yvid1a7k09rs0ai422jax";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
   typed-array = {
     groups = ["default"];
     platforms = [];
@@ -448,46 +408,15 @@
     };
     version = "0.1.2";
   };
-  unf = {
-    dependencies = ["unf_ext"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  unf_ext = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf";
-      type = "gem";
-    };
-    version = "0.0.7.6";
-  };
-  watch = {
-    groups = ["test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02g4g6ynnldyjjzrh19r584gj4z6ksff7h0ajz5jdwhpp5y7cghx";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03vlr6axajz6c7xmlk0w1kvkxc92f8y2zp27wq1z6yk916ry25n5";
+      sha256 = "19xvs7gdf8r75bmyb17w9g367qxzqnlrmbdda1y36cn1vrlnf2l8";
       type = "gem";
     };
-    version = "1.24.6";
+    version = "3.7.6";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile
index efe602edc4f..3306c29e3cb 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile
+++ b/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile
@@ -1,3 +1,4 @@
 source 'https://rubygems.org'
 
-gem 'gtk2', '3.3.2'
+gem 'gtk2', '3.4.1'
+
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile
index f86005fef07..f86005fef07 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile
+++ b/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile
index ee2ecf52d42..66016eee9c4 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile
+++ b/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile
@@ -2,4 +2,3 @@ source 'https://rubygems.org'
 
 gem 'nokogiri'
 gem 'httpclient'
-gem 'totoridipjp'
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile
index 61424d395f9..14ebffd4e0a 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile
+++ b/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile
@@ -2,5 +2,5 @@ source 'https://rubygems.org'
 
 group :default do
   gem 'gettext', '>= 3.2.9', '< 3.3'
-  gem 'irb', '>= 1.0.0', '< 1.1'
+  gem 'irb', '>= 1.2.0', '< 1.3'
 end
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
index a23dbda6cb2..9542cdcebf4 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     inherit src;
 
     nodejs = nodejs-10_x;
-    sha256 = "0qsgr8cq81yismal5sqr02skakqpynwwzk5s98dr5bg91y361fgy";
+    sha256 = "1zw3pjj3z29n9s08xyid41yq765d4c16lgml79m24zw36qaji6h1";
   };
 
   patches = [ ./isDev.patch ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index a368473b0c8..d43d8e1f988 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.54.0.91";
+  version = "8.55.0.123";
 
   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 = "1hnha8sqk78zxkjqg62npmg6dymi5fnyj2bmxlwpgi61v3pyxj94";
+        sha256 = "08dvgqwj7f8k3xv5kv96k6v6ga1v2chif9m7amncg6ppp81hy7nx";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/irc/epic5/default.nix b/pkgs/applications/networking/irc/epic5/default.nix
index a90446a87fa..0cf06a1f452 100644
--- a/pkgs/applications/networking/irc/epic5/default.nix
+++ b/pkgs/applications/networking/irc/epic5/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = http://epicsol.org;
     description = "A IRC client that offers a great ircII interface";
     license = licenses.bsd3;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 }
 
diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix
index 0a670b2b9a6..44b97fb3793 100644
--- a/pkgs/applications/networking/mailreaders/lumail/default.nix
+++ b/pkgs/applications/networking/mailreaders/lumail/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
     sed -e "s|^#\!\(.*/perl.*\)$|#\!\1$perlFlags|" -i perl.d/imap-proxy
   '';
 
-  buildFlags = if debugBuild then "lumail2-debug" else "";
+  buildFlags = stdenv.lib.optional debugBuild "lumail2-debug";
 
   installPhase = ''
     mkdir -p $out/bin || true
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
index 77aee30d38b..2692e5360ce 100644
--- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -39,20 +39,20 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = ''
-    -DUSE_ASPELL=ON
-    -DUSE_QT_QML=ON
-    -DFREE_SPACE_BAR_C=ON
-    -DUSE_MINIUPNP=ON
-    -DLOCAL_MINIUPNP=ON
-    -DDBUS_NOTIFY=ON
-    -DUSE_JS=ON
-    -DPERL_REGEX=ON
-    -DUSE_CLI_XMLRPC=ON
-    -DWITH_SOUNDS=ON
-    -DLUA_SCRIPT=ON
-    -DWITH_LUASCRIPTS=ON
-  '';
+  cmakeFlags = [
+    "-DUSE_ASPELL=ON"
+    "-DUSE_QT_QML=ON"
+    "-DFREE_SPACE_BAR_C=ON"
+    "-DUSE_MINIUPNP=ON"
+    "-DLOCAL_MINIUPNP=ON"
+    "-DDBUS_NOTIFY=ON"
+    "-DUSE_JS=ON"
+    "-DPERL_REGEX=ON"
+    "-DUSE_CLI_XMLRPC=ON"
+    "-DWITH_SOUNDS=ON"
+    "-DLUA_SCRIPT=ON"
+    "-DWITH_LUASCRIPTS=ON"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index eff2499be9d..4967e0e27fe 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.11.8";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "1zkmcq75sfr3iyg8rgxp9dbl7fwsvc1a71rc0vgisghcbrx1n7yj";
+    sha256 = "1bz0sbhbsivi1bcabk3vpxqnh4vgp86vrmiwkyb5fiqfjviar111";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 173b4f02cdf..8ab83c8a4ba 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,13 +10,13 @@ with lib;
 
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "17vm6aa2k8k1q14z9r2r06c794bcr4m0l0fdsn08wid6mj1zjsbx";
+    sha256 = "0bz4l7awkx4qf3gh9c8gj8fab989439zj8qy4x9r36wxdjg5cxil";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
index e9d0727d31c..14d418cd2bf 100644
--- a/pkgs/applications/networking/resilio-sync/default.nix
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "resilio-sync";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchurl {
     url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
     sha256 = {
-      x86_64-linux = "114k7dsxn7lzv6mjq9alsqxypvkah4lmjn5w6brbvgd6m6pdwslz";
-      i686-linux   = "1dh0hxbd33bs51xib3qwxw58h9j30v0dc10b4x4rwkbgsj11nc83";
+      x86_64-linux = "1c1yksjag58p7yjm72iiz82p2r01lq7kxvq7z5phmq5z6gxdg4a8";
+      i686-linux   = "167baz9fzmzk50jffzvgmgyw1zw3955r3cb73z23qvw8zqzdqydc";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index ef1e07ca976..67365405cc2 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.0.5";
+  version = "3.2.0";
   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 = "087qv7nd7zlbckvcs37fkkg7v0mw0hjd5yfbghqym764fpjgqlf5";
+    sha256 = "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
index 04ab1d1c98d..cf1159b83f8 100644
--- a/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.17.1";
+  version = "3.17.2";
   name = "Patchwork-${version}";
 
   src = fetchurl {
     url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
-    sha256 = "06wcgdcagmh80nr8nyrnz83wgq7j8r96hn3ccka7nmn02pdgvp3k";
+    sha256 = "1pmy01jwdr461vsl4fsxi3jaqnjx9yl5dw4987y5g73qx21qc5d5";
   };
 
   binary = appimageTools.wrapType2 {
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 966c36f1823..c7b4377c3dc 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -10,7 +10,7 @@
 # Needed for running tests:
 , qtbase, xvfb_run
 
-, python3Packages
+, python2, python3Packages
 }:
 
 stdenv.mkDerivation rec {
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    doxygen extra-cmake-modules graphviz kdoctools python3Packages.wrapPython
-    wrapQtAppsHook
+    doxygen extra-cmake-modules graphviz kdoctools python2
+    python3Packages.wrapPython wrapQtAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 971f2f645f8..4867fec514b 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -20,13 +20,13 @@ with stdenv.lib;
 
 python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "5.4.0";
+  version = "5.4.1";
 
   disabled = !python3Packages.isPy3k;
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0wbq8y8z0n6c5b3h5ynlawn3z79a3hkb1fkmblz4pwnj0jfnbswd";
+    sha256 = "0lk47qv944yc2b1ifhinp07af839r408w83rj8zzy8b43cwkpsxd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 6ece55182ab..abc2d1862cb 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec{
   version = "11.1.0.8865";
 
   src = fetchurl {
-    url = "https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/8865/wps-office_11.1.0.8865_amd64.deb";
-    sha256 = "0pxx3j02cm8d08iakg30azjvl3a50y4avyrf08ddgaavqnvkypfj";
+    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/8865/wps-office_11.1.0.8865_amd64.deb";
+    sha256 = "1hfpj1ayhzlrnnp72yjzrpd60xsbj9y46m345lqysiaj1hnwdbd8";
   };
   unpackCmd = "dpkg -x $src .";
   sourceRoot = ".";
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
new file mode 100644
index 00000000000..5ece9a463d4
--- /dev/null
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip, zlib, python3, parallel }:
+
+stdenv.mkDerivation rec {
+  pname = "last";
+  version = "1042";
+
+  src = fetchurl {
+    url = "http://last.cbrc.jp/last-${version}.zip";
+    sha256 = "0mgbhd01m9riqza2gx56qk6x5682kg71zflhisr6d3q05wrv103f";
+  };
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ zlib python3 ];
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  postFixup = ''
+    for f in $out/bin/parallel-* ; do
+      sed -i 's|parallel |${parallel}/bin/parallel |' $f
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Genomic sequence aligner";
+    homepage = "http://last.cbrc.jp/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/science/biology/minia/default.nix b/pkgs/applications/science/biology/minia/default.nix
new file mode 100644
index 00000000000..2a80de733b0
--- /dev/null
+++ b/pkgs/applications/science/biology/minia/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, hdf5, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "minia";
+  version = "3.2.1";
+
+  src = fetchFromGitHub {
+    owner = "GATB";
+    repo = "minia";
+    rev = "v${version}";
+    sha256 = "0bmfrywixaaql898l0ixsfkhxjf2hb08ssnqzlzacfizxdp46siq";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./no-bundle.patch ];
+
+  NIX_CFLAGS_COMPILE = [ "-Wformat" ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ hdf5 boost ];
+
+  prePatch = ''
+    rm -rf thirdparty/gatb-core/gatb-core/thirdparty/{hdf5,boost}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Short read genome assembler";
+    homepage = "https://github.com/GATB/minia";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/minia/no-bundle.patch b/pkgs/applications/science/biology/minia/no-bundle.patch
new file mode 100644
index 00000000000..21d12c7f6f2
--- /dev/null
+++ b/pkgs/applications/science/biology/minia/no-bundle.patch
@@ -0,0 +1,222 @@
+diff --git a/thirdparty/gatb-core/gatb-core/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/CMakeLists.txt
+index f48a70b..0e11ece 100644
+--- a/thirdparty/gatb-core/gatb-core/CMakeLists.txt
++++ b/thirdparty/gatb-core/gatb-core/CMakeLists.txt
+@@ -257,7 +257,6 @@ ADD_SUBDIRECTORY(thirdparty)
+ #  DEPENDENCIES 
+ ################################################################################
+ # we must be sure that hdf5 is built and installed before building gatb-core
+-ADD_DEPENDENCIES (gatbcore-static hdf5 hdf5_postbuild)
+ 
+ ################################################################################
+ #  DOCUMENTATION GENERATION 
+@@ -288,7 +287,6 @@ IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/doc/misc/README.txt  DESTINATION . OPTIONAL)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/LICENCE              DESTINATION . OPTIONAL)
+     INSTALL (FILES ${PROJECT_SOURCE_DIR}/THIRDPARTIES.md      DESTINATION . OPTIONAL)
+-    INSTALL (DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/boost DESTINATION ./include)
+ ENDIF()
+ 
+ ################################################################################
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
+index dfeee1c..d5553a2 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp
+@@ -35,7 +35,7 @@
+ #include <stdint.h>
+ #include <algorithm>
+ #include <iostream>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ #include <gatb/system/api/Exception.hpp>
+ #include <gatb/system/api/config.hpp>
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
+index 60be5d5..25ae75e 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp
+@@ -33,7 +33,7 @@
+ /********************************************************************************/
+ 
+ #include <iostream>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
+index 6a71bb0..b9205df 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
+index c22b892..62e6586 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
+index c06aaab..e0befba 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ extern const unsigned char revcomp_4NT[];
+ extern const unsigned char comp_NT    [];
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
+index 9659874..0c79ff6 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp
+@@ -31,7 +31,7 @@
+ #include <iostream>
+ #include <gatb/system/api/types.hpp>
+ #include <gatb/tools/misc/api/Abundance.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb  {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
+index 3cb84f8..cd5d382 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
+@@ -31,7 +31,7 @@
+ /********************************************************************************/
+ 
+ #include <sys/types.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
+index b8f6c79..a040832 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
+@@ -28,7 +28,7 @@
+ 
+ #include <gatb/system/api/ISmartPointer.hpp>
+ #include <gatb/tools/storage/impl/Storage.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
+index 2645abd..fad48c0 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
+@@ -40,7 +40,7 @@
+ #include <string>
+ #include <vector>
+ #include <stdarg.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
+index a92b729..66d552f 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
+@@ -40,7 +40,7 @@
+ #include <string>
+ #include <vector>
+ #include <stdarg.h>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ 
+ /********************************************************************************/
+ namespace gatb      {
+diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
+index 29e0949..0565cc4 100644
+--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
+@@ -33,7 +33,7 @@
+ #include <gatb/tools/storage/impl/CollectionHDF5.hpp>
+ #include <gatb/tools/storage/impl/CollectionHDF5Patch.hpp>
+ #include <gatb/system/impl/System.hpp>
+-#include <hdf5/hdf5.h>
++#include <hdf5.h>
+ #include <sstream>
+ 
+ /********************************************************************************/
+diff --git a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
+index 6e0b5c4..34aef28 100644
+--- a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
++++ b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt
+@@ -1,54 +1,3 @@
+-################################################################################
+-#  HDF5 GENERATION 
+-################################################################################
+-
+-#SET (HDF5_ENABLE_THREADSAFE       ON)
+-#SET (H5_HAVE_THREADSAFE 1)
+-
+-##########  MOMENTARY DEACTIVATED => CRASH ON MACOS TO BE INVESTIGATED  ##########
+-SET (HDF5_BUILD_TOOLS             ON CACHE BOOL "Build HDF5 Tools")
+-#SET (CMAKE_EXE_LINKER_FLAGS       "-lpthread -lz")
+-
+-SET (HDF5_EXTERNALLY_CONFIGURED     ON)
+-
+-#SET (HDF5_INSTALL_BIN_DIR           ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
+-#SET (HDF5_INSTALL_LIB_DIR           ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
+-SET (HDF5_INSTALL_BIN_DIR           bin)
+-SET (HDF5_INSTALL_LIB_DIR           lib)
+-
+-SET (HDF5_INSTALL_INCLUDE_DIR       ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5)
+-SET (HDF5_INSTALL_DATA_DIR          ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE})
+-SET (HDF5_INSTALL_CMAKE_DIR         ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE})
+-
+-IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE)
+-    SET (HDF5_EXPORTED_TARGETS          "gatb-hdf5")
+-ENDIF()
+-
+-IF (NOT DEFINED GATB_CORE_EXCLUDE_HDF5_ZLIB)
+-	OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON)
+-ENDIF()
+-
+-# We don't want warnings from HDF5 compilation
+-set (COMPILE_DEFINITIONS  "${COMPILE_DEFINITIONS}  -w")
+-add_definitions (${COMPILE_DEFINITIONS})
+-
+-# add HDF5 generation
+-ADD_SUBDIRECTORY (hdf5)
+-
+-# We add a custom target for copying header files.
+-add_custom_target (hdf5_postbuild ALL)
+-
+-# We build the output directory
+-add_custom_command (TARGET hdf5_postbuild POST_BUILD  COMMAND ${CMAKE_COMMAND} -E make_directory ${HDF5_INSTALL_INCLUDE_DIR})
+-
+-# We define all the header files to be copied
+-file (GLOB headerfiles ${PROJECT_SOURCE_DIR}/thirdparty/hdf5/src/*.h ${PROJECT_BINARY_DIR}/thirdparty/hdf5/H5pubconf.h)
+-
+-# We copy each header file
+-foreach (header ${headerfiles})
+-  add_custom_command (TARGET hdf5_postbuild POST_BUILD  COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header} ${HDF5_INSTALL_INCLUDE_DIR}  )
+-endforeach()
+-
+ # include other smaller libraries (json, Boophf)
+ 
+ add_custom_target (thirdparty_copy ALL)
diff --git a/pkgs/applications/science/biology/tebreak/default.nix b/pkgs/applications/science/biology/tebreak/default.nix
new file mode 100644
index 00000000000..9ff81944f6a
--- /dev/null
+++ b/pkgs/applications/science/biology/tebreak/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, last, exonerate, minia, python3Packages, bwa
+, samtools, findutils }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "tebreak";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "adamewing";
+    repo = "tebreak";
+    rev = version;
+    sha256 = "194av17wz66n4zxyi56mbkik31j2wmkly5i9qmxgaxymhavzi3kq";
+  };
+
+  nativeBuildInputs = [ findutils python3Packages.cython ];
+  propagatedBuildInputs = with python3Packages; [
+    pysam
+    scipy
+    bx-python
+    scikit-bio
+  ];
+
+  preConfigure = ''
+    # patch the paths to all required software
+    for f in $(find . -type f) ; do
+      sed -i "s|'bwa'|'${bwa}/bin/bwa'|" $f
+      sed -i "s|'minia'|'${minia}/bin/minia'|" $f
+      sed -i "s|'exonerate'|'${exonerate}/bin/exonerate'|" $f
+      sed -i "s|'samtools'|'${samtools}/bin/samtools'|" $f
+      sed -i "s|'lastal'|'${last}/bin/lastal'|" $f
+      sed -i "s|'lastdb'|'${last}/bin/lastdb'|" $f
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Find and characterise transposable element insertions";
+    homepage = "https://github.com/adamewing/tebreak";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jbedo ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index 98deda0ae6b..c940fd4ac34 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.022";
+  version = "4.024";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "1sj0qzl387pl2ygii3ssx35c3m601nb07j16lqj5zcxzhcg62i9p";
+    sha256 = "0nmjazdv36ksjp8ys48c1grlzkd6yx3zhcd9y165d4sjm3m1pffs";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
index 6af7eaf3a5b..82458d7c566 100644
--- a/pkgs/applications/science/logic/aspino/default.nix
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "SAT/PseudoBoolean/MaxSat/ASP solver using glucose";
-    maintainers = with maintainers; [ gebner ma27 ];
+    maintainers = with maintainers; [ gebner ];
     platforms = platforms.unix;
     license = licenses.asl20;
     homepage = https://alviano.net/software/maxino/;
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 7a03369febe..b901e40a194 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, cmake, gl2ps, gsl, libX11, libXpm, libXft, libXext
-, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash, zlib
+{ stdenv, fetchurl, makeWrapper, cmake, gl2ps, gsl, libX11, libXpm, libXft
+, libXext, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash
+, zlib
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "196ghma6g5a7sqz52wyjkgvmh4hj4vqwppm0zwdypy33hgy8anii";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ makeWrapper cmake pkgconfig ];
   buildInputs = [ gl2ps pcre python zlib libxml2 lz4 lzma gsl xxHash ]
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
@@ -73,6 +74,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
+      wrapProgram "$out/bin/$prog" \
+        --prefix PYTHONPATH : "$out/lib"
+    done
+  '';
+
   setupHook = ./setup-hook.sh;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index d720f5ea078..4dc6f038ce7 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, cmake
+{ stdenv
+, fetchurl
+, cmake
 , singlePrec ? true
 , mpiEnabled ? false
 , fftw
@@ -6,7 +8,6 @@
 , perl
 }:
 
-
 stdenv.mkDerivation {
   name = "gromacs-2019.4";
 
@@ -19,18 +20,27 @@ stdenv.mkDerivation {
   buildInputs = [ fftw perl ]
   ++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
 
-  cmakeFlags = ''
-    ${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"}
-    ${if mpiEnabled then "-DGMX_MPI:BOOL=TRUE
-                          -DGMX_CPU_ACCELERATION:STRING=SSE4.1
-                          -DGMX_OPENMP:BOOL=TRUE
-                          -DGMX_THREAD_MPI:BOOL=FALSE"
-                     else "-DGMX_MPI:BOOL=FALSE" }
-  '';
+  cmakeFlags = (
+    if singlePrec then [
+      "-DGMX_DOUBLE=OFF"
+    ] else [
+      "-DGMX_DOUBLE=ON"
+      "-DGMX_DEFAULT_SUFFIX=OFF"
+    ]
+  ) ++ (
+    if mpiEnabled then [
+      "-DGMX_MPI:BOOL=TRUE"
+      "-DGMX_CPU_ACCELERATION:STRING=SSE4.1"
+      "-DGMX_OPENMP:BOOL=TRUE"
+      "-DGMX_THREAD_MPI:BOOL=FALSE"
+    ] else [
+      "-DGMX_MPI:BOOL=FALSE"
+    ]
+  );
 
   meta = with stdenv.lib; {
-    homepage    = "http://www.gromacs.org";
-    license     = licenses.gpl2;
+    homepage = "http://www.gromacs.org";
+    license = licenses.gpl2;
     description = "Molecular dynamics software package";
     longDescription = ''
       GROMACS is a versatile package to perform molecular dynamics,
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index 890e824cf2e..0348d015309 100644
--- a/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname = "MAVProxy";
-  version = "1.8.17";
+  version = "1.8.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "193hjilsmbljbgj7v6icy3b4hzm14l0z6v05v7ycx6larij5xj2r";
+    sha256 = "1fi4m3591wws5cq43q8aljf91mzs6i9yhn9rimhpfrskbyf9knvm";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 2551c980fa8..96c2c8622f8 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec {
     description = "A syntax-highlighting pager for git";
     changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ma27 ];
   };
 }
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 8cf9662d8f9..bb08516701a 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 "s|local daemon=.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh
   '';
   installPhase = ''
     install -Dm755 gitstatusd $out/bin/gitstatusd
diff --git a/pkgs/applications/version-management/gitless/default.nix b/pkgs/applications/version-management/gitless/default.nix
index c08e441b05a..fe1cce9ba84 100644
--- a/pkgs/applications/version-management/gitless/default.nix
+++ b/pkgs/applications/version-management/gitless/default.nix
@@ -1,13 +1,14 @@
-{ fetchFromGitHub, pythonPackages, stdenv }:
+{ fetchFromGitHub, python, stdenv }:
 
-pythonPackages.buildPythonApplication rec {
-  ver = "0.8.6";
-  name = "gitless-${ver}";
+with python.pkgs;
+buildPythonApplication rec {
+  pname = "gitless";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "sdg-mit";
     repo = "gitless";
-    rev = "v${ver}";
+    rev = "v${version}";
     sha256 = "1q6y38f8ap6q1livvfy0pfnjr0l8b68hyhc9r5v87fmdyl7y7y8g";
   };
 
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index f1f757d588f..635779187a8 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = https://flavio.tordini.org/minitube;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 91a9f4a7d01..c333790d6a6 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -52,7 +52,7 @@
 , zimgSupport        ? true,           zimg          ? null
 , archiveSupport     ? false,          libarchive    ? null
 , jackaudioSupport   ? false,          libjack2      ? null
-, openalSupport      ? true,          openalSoft    ? null
+, openalSupport      ? true,           openalSoft    ? null
 , vapoursynthSupport ? false,          vapoursynth   ? null
 }:
 
@@ -105,13 +105,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mpv";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner  = "mpv-player";
     repo   = "mpv";
     rev    = "v${version}";
-    sha256 = "17mxjgcfljlv6h0ik3332xsqbs0ybvk6dkwflyl0cjh15vl1iv6f";
+    sha256 = "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r";
   };
 
   postPatch = ''
@@ -197,7 +197,6 @@ in stdenv.mkDerivation rec {
 
   # Ensure youtube-dl is available in $PATH for mpv
   wrapperFlags =
-
     ''--prefix PATH : "${luaEnv}/bin" \''
   + optionalString youtubeSupport ''
       --prefix PATH : "${youtube-dl}/bin" \
@@ -235,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 ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ma27 tadeokondrak ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/applications/video/mpv/scripts/mpris.nix
index 778dc52d96a..e383823f2cc 100644
--- a/pkgs/applications/video/mpv/scripts/mpris.nix
+++ b/pkgs/applications/video/mpv/scripts/mpris.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mpv-mpris-${version}.so";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "hoyon";
     repo = "mpv-mpris";
     rev = version;
-    sha256 = "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx";
+    sha256 = "02lqsgp296s8wr0yh6wm8h7nhn53rj254zahpzbwdv15apgy0z17";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix
index db9a5ce7850..676c218776c 100644
--- a/pkgs/applications/video/xawtv/default.nix
+++ b/pkgs/applications/video/xawtv/default.nix
@@ -1,25 +1,54 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xorgproto, libv4l
-, libFS, libXaw, libXpm, libXext, libSM, libICE, perl, linux}:
+{ stdenv
+, fetchurl
+, ncurses
+, libjpeg
+, libX11
+, libXt
+, alsaLib
+, aalib
+, libXft
+, xorgproto
+, libv4l
+, libFS
+, libXaw
+, libXpm
+, libXext
+, libSM
+, libICE
+, perl
+}:
 
 stdenv.mkDerivation rec {
   name = "xawtv-3.106";
+
   src = fetchurl {
     url = "https://linuxtv.org/downloads/xawtv/${name}.tar.bz2";
     sha256 = "174wd36rk0k23mgx9nlnpc398yd1f0wiv060963axg6sz0v4rksp";
   };
 
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${linux}/lib/modules/${linux.modDirVersion}/build"
-  '';
-
-  configureFlags= [ "--prefix=" ];
-
-  NIX_LDFLAGS = "-lgcc_s";
-
-  makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
+  buildInputs = [
+    ncurses
+    libjpeg
+    libX11
+    libXt
+    libXft
+    xorgproto
+    libFS
+    perl
+    alsaLib
+    aalib
+    libXaw
+    libXpm
+    libXext
+    libSM
+    libICE
+    libv4l
+  ];
 
-  buildInputs = [ncurses libjpeg libX11 libXt libXft xorgproto libFS perl alsaLib aalib
-                 libXaw libXpm libXext libSM libICE libv4l];
+  makeFlags = [
+    "SUID_ROOT=" # do not try to setuid
+    "resdir=${placeholder ''out''}/share/X11"
+  ];
 
   meta = {
     description = "TV application for Linux with apps and tools such as a teletext browser";
@@ -28,5 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ domenkozar ];
     platforms = stdenv.lib.platforms.linux;
   };
-  
 }
diff --git a/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch b/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch
new file mode 100644
index 00000000000..e662913574d
--- /dev/null
+++ b/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch
@@ -0,0 +1,13 @@
+diff -Naur bochs-2.6.10.orig/iodev/network/slirp/slirp.h bochs-2.6.10.mod/iodev/network/slirp/slirp.h
+--- bochs-2.6.10.orig/iodev/network/slirp/slirp.h	2019-11-02 16:30:39.843938000 -0300
++++ bochs-2.6.10.mod/iodev/network/slirp/slirp.h	2019-12-29 12:55:49.541630697 -0300
+@@ -44,8 +44,8 @@
+ #endif
+ 
+ #include <sys/types.h>
+-#if defined(__OpenBSD__) || defined(__linux__)
+ #include <stdint.h>
++#if defined(__OpenBSD__) || defined(__linux__)
+ #include <sys/wait.h>
+ #endif
+ #ifdef HAVE_SYS_BITYPES_H
diff --git a/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch b/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
deleted file mode 100644
index a13b42ee35a..00000000000
--- a/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/iodev/network/slirp/slirp.h b/iodev/network/slirp/slirp.h
-index 7c16aa3..202a1b7 100644
---- a/iodev/network/slirp/slirp.h
-+++ b/iodev/network/slirp/slirp.h
-@@ -33,8 +33,8 @@ typedef char *caddr_t;
- #endif
- 
- #include <sys/types.h>
--#if defined(__OpenBSD__)
- #include <stdint.h>
-+#if defined(__OpenBSD__)
- #include <sys/wait.h>
- #endif
- #ifdef HAVE_SYS_BITYPES_H
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 770154f1918..f6e202ac499 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -19,16 +19,16 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "bochs";
-  version = "2.6.9";
+  version = "2.6.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bochs/bochs/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf";
+    sha256 = "1c3mw4b8wrjf8z44fvhycs95j1wd1c0b4khcv63giiia5j5q0gvj";
   };
 
-  patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
+  patches = [ ./bochs-2.6.10-glibc-2.26.patch ];
 
-  buildInputs = with stdenv.lib;
+  buildInputs =
   [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL2 ]
@@ -118,9 +118,9 @@ stdenv.mkDerivation rec {
       in C++, that runs on most popular platforms. It includes emulation of the
       Intel x86 CPU, common I/O devices, and a custom BIOS.
     '';
-    homepage = http://bochs.sourceforge.net/;
+    homepage = "http://bochs.sourceforge.net/";
     license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 9d94ced0bf2..fe7640be1c8 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig
+{ stdenv, fetchFromGitHub, pkgconfig, installShellFiles
 , buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp, systemd
 , go-md2man
 }:
@@ -18,7 +18,7 @@ buildGoPackage rec {
 
   outputs = [ "bin" "out" "man" ];
 
-  nativeBuildInputs = [ pkgconfig go-md2man ];
+  nativeBuildInputs = [ pkgconfig go-md2man installShellFiles ];
 
   buildInputs = [ btrfs-progs libseccomp gpgme lvm2 systemd ];
 
@@ -30,6 +30,8 @@ buildGoPackage rec {
 
   installPhase = ''
     install -Dm555 bin/podman $bin/bin/podman
+    installShellCompletion --bash completions/bash/podman
+    installShellCompletion --zsh completions/zsh/_podman
     MANDIR=$man/share/man make install.man
   '';
 
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index f90873c6e33..67aa36b7827 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -35,7 +35,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "4.1.0";
+  version = "4.2.0";
   pname = "qemu"
     + stdenv.lib.optionalString xenSupport "-xen"
     + stdenv.lib.optionalString hostCpuOnly "-host-cpu-only"
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://wiki.qemu.org/download/qemu-${version}.tar.bz2";
-    sha256 = "1bpl6hwiw1jdxk4xmqp10qgki0dji0l2rzr10dyhyk8d85vxxw29";
+    sha256 = "1gczv8hn3wqci86css3mhzrppp3z8vppxw25l08j589k6bvz7x1w";
   };
 
   nativeBuildInputs = [ python python.pkgs.sphinx pkgconfig flex bison ];
@@ -77,6 +77,13 @@ stdenv.mkDerivation rec {
     ./no-etc-install.patch
     ./fix-qemu-ga.patch
     ./9p-ignore-noatime.patch
+    (fetchpatch {
+      name = "CVE-2019-15890.patch";
+      url = "https://git.qemu.org/?p=libslirp.git;a=patch;h=c59279437eda91841b9d26079c70b8a540d41204";
+      sha256 = "1q2rc67mfdz034mk81z9bw105x9zad7n954sy3kq068b1svrf7iy";
+      stripLen = 1;
+      extraPrefix = "slirp/";
+    })
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
     ++ optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
diff --git a/pkgs/applications/virtualization/qemu/no-etc-install.patch b/pkgs/applications/virtualization/qemu/no-etc-install.patch
index 57e190f5ae7..5bab930d06a 100644
--- a/pkgs/applications/virtualization/qemu/no-etc-install.patch
+++ b/pkgs/applications/virtualization/qemu/no-etc-install.patch
@@ -1,13 +1,12 @@
 diff --git a/Makefile b/Makefile
-index 85862fb8..ed52c5ec 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -841,7 +841,7 @@ endif
+@@ -867,7 +867,7 @@ install-includedir:
+ 	$(INSTALL_DIR) "$(DESTDIR)$(includedir)"
  
- ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512
- 
--install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir \
-+install: all $(if $(BUILD_DOCS),install-doc) install-datadir \
+ install: all $(if $(BUILD_DOCS),install-doc) \
+-	install-datadir install-localstatedir install-includedir \
++	install-datadir install-includedir \
  	$(if $(INSTALL_BLOBS),$(edk2-decompressed)) \
  	recurse-install
  ifneq ($(TOOLS),)
diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix
index d8a2878e3f7..58710365b6e 100644
--- a/pkgs/applications/virtualization/remotebox/default.nix
+++ b/pkgs/applications/virtualization/remotebox/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "remotebox";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
     url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
-    sha256 = "1bbdnf13vp35ddfmk4pn167vfxgmdw0fd8bqg51wd8dd4cj8y3wp";
+    sha256 = "0csf6gd7pqq4abia4z0zpzlq865ri1z0821kjy7p3iawqlfn75pb";
   };
 
   buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ];
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index c850a18c867..48bd81f383a 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -22,14 +22,14 @@ buildGoPackage rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ go-md2man libseccomp libapparmor apparmor-parser which ];
 
-  makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
+  makeFlags = [ "BUILDTAGS+=seccomp" "BUILDTAGS+=apparmor" ];
 
   buildPhase = ''
     cd go/src/${goPackagePath}
     patchShebangs .
     substituteInPlace libcontainer/apparmor/apparmor.go \
       --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
-    make ${makeFlags} runc
+    make ${toString makeFlags} runc
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index b8f31e5b512..54244d4dc8d 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
     description = "Highly configurable, dynamic window manager for X";
     homepage    = https://awesomewm.org/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 rasendubi ndowens ];
+    maintainers = with maintainers; [ lovek323 rasendubi ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix
index afa14b48451..85d103e172a 100644
--- a/pkgs/applications/window-managers/i3/layout-manager.nix
+++ b/pkgs/applications/window-managers/i3/layout-manager.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     description = "Saving, loading and managing layouts for i3wm.";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 6b4c33dc077..c9427fbf695 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
     homepage    = https://swaywm.org;
     license     = licenses.mit;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ primeos synthetica ];
+    maintainers = with maintainers; [ primeos synthetica ma27 ];
   };
 }
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 3e5d8e6c384..0d054eaa546 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -47,9 +47,9 @@ let
     includeDirs = self.buildDependsAgdaShareAgda
                   ++ self.sourceDirectories ++ self.topSourceDirectories
                   ++ [ "." ];
-    buildFlags = concatStringsSep " " (map (x: "-i " + x) self.includeDirs);
+    buildFlags = stdenv.lib.concatMap (x: ["-i" x]) self.includeDirs;
 
-    agdaWithArgs = "${Agda}/bin/agda ${self.buildFlags}";
+    agdaWithArgs = "${Agda}/bin/agda ${toString self.buildFlags}";
 
     buildPhase = ''
       runHook preBuild
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index c60abdd03e8..84020505a63 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -66,7 +66,7 @@ let
     else null;
 
   expand-response-params =
-    if buildPackages.stdenv.cc or null != null && buildPackages.stdenv.cc != "/dev/null"
+    if buildPackages ? stdenv && buildPackages.stdenv.hasCC && buildPackages.stdenv.cc != "/dev/null"
     then import ../expand-response-params { inherit (buildPackages) stdenv; }
     else "";
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 151313847e4..b078bf2fbbd 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -59,7 +59,7 @@ let
   infixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config;
 
   expand-response-params =
-    if buildPackages.stdenv.cc or null != null && buildPackages.stdenv.cc != "/dev/null"
+    if buildPackages.stdenv.hasCC && buildPackages.stdenv.cc != "/dev/null"
     then import ../expand-response-params { inherit (buildPackages) stdenv; }
     else "";
 
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index db187d2ac14..9f1930fa62b 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,151 +1,76 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps, rust }:
+{ lib, stdenv, echo_build_heading, noisily, mkRustcDepArgs, rust }:
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
   crateType, metadata, crateBin, hasCrateBin,
-  extraRustcOpts, verbose, colors }:
+  extraRustcOpts, verbose, colors,
+}:
 
   let
-
-    deps = makeDeps dependencies crateRenames;
-    rustcOpts =
-      lib.lists.foldl' (opts: opt: opts + " " + opt)
-        (if release then "-C opt-level=3" else "-C debuginfo=2")
-        (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
+    baseRustcOpts =
+      [(if release then "-C opt-level=3" else "-C debuginfo=2")]
+      ++ ["-C codegen-units=$NIX_BUILD_CORES"]
+      ++ [(mkRustcDepArgs dependencies crateRenames)]
+      ++ [crateFeatures]
+      ++ extraRustcOpts
+      ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
+    ;
     rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
+
+
+    # build the final rustc arguments that can be different between different
+    # crates
+    libRustcOpts = lib.concatStringsSep " " (
+      baseRustcOpts
+      ++ [rustcMeta]
+      ++ (map (x: "--crate-type ${x}") crateType)
+    );
+
+    binRustcOpts = lib.concatStringsSep " " (
+      baseRustcOpts
+    );
+
   in ''
     runHook preBuild
-    norm=""
-    bold=""
-    green=""
-    boldgreen=""
-    if [[ "${colors}" == "always" ]]; then
-      norm="$(printf '\033[0m')" #returns to "normal"
-      bold="$(printf '\033[0;1m')" #set bold
-      green="$(printf '\033[0;32m')" #set green
-      boldgreen="$(printf '\033[0;1;32m')" #set bold, and set green.
-    fi
     ${echo_build_heading colors}
     ${noisily colors verbose}
 
-    build_lib() {
-       lib_src=$1
-       echo_build_heading $lib_src ${libName}
+    # configure & source common build functions
+    LIB_RUSTC_OPTS="${libRustcOpts}"
+    BIN_RUSTC_OPTS="${binRustcOpts}"
+    LIB_EXT="${stdenv.hostPlatform.extensions.sharedLibrary}"
+    LIB_PATH="${libPath}"
+    LIB_NAME="${libName}"
+    source ${./lib.sh}
 
-       noisily rustc --crate-name $CRATE_NAME $lib_src \
-         ${lib.strings.concatStrings (map (x: " --crate-type ${x}") crateType)}  \
-         ${rustcOpts} ${rustcMeta} ${crateFeatures} --out-dir target/lib \
-         --emit=dep-info,link -L dependency=target/deps ${deps} --cap-lints allow \
-         $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors}
+    CRATE_NAME='${lib.replaceStrings ["-"] ["_"] libName}'
 
-       EXTRA_LIB=" --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-${metadata}.rlib"
-       if [ -e target/deps/lib$CRATE_NAME-${metadata}${stdenv.hostPlatform.extensions.sharedLibrary} ]; then
-          EXTRA_LIB="$EXTRA_LIB --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-${metadata}${stdenv.hostPlatform.extensions.sharedLibrary}"
-       fi
-    }
+    setup_link_paths
 
-    build_bin() {
-      crate_name=$1
-      crate_name_=$(echo $crate_name | sed -e "s/-/_/g")
-      main_file=""
-      if [[ ! -z $2 ]]; then
-        main_file=$2
-      fi
-      echo_build_heading $@
-      noisily rustc --crate-name $crate_name_ $main_file --crate-type bin ${rustcOpts}\
-        ${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
-        $LINK ${deps}$EXTRA_LIB --cap-lints allow \
-        $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors} \
-        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
-      if [ "$crate_name_" != "$crate_name" ]; then
-        mv target/bin/$crate_name_ target/bin/$crate_name
-      fi
-    }
-
-
-    EXTRA_LIB=""
-    CRATE_NAME=$(echo ${libName} | sed -e "s/-/_/g")
-
-    if [[ -e target/link_ ]]; then
-      EXTRA_BUILD="$(cat target/link_) $EXTRA_BUILD"
-    fi
-
-    if [[ -e "${libPath}" ]]; then
-       build_lib ${libPath}
+    if [[ -e "$LIB_PATH" ]]; then
+       build_lib $LIB_PATH
     elif [[ -e src/lib.rs ]]; then
        build_lib src/lib.rs
-    elif [[ -e src/${libName}.rs ]]; then
-       build_lib src/${libName}.rs
+    elif [[ -e "src/$LIB_NAME.rs" ]]; then
+       build_lib src/$LIB_NAME.rs
     fi
 
-    echo "$EXTRA_LINK_SEARCH" | while read i; do
-       if [[ ! -z "$i" ]]; then
-         for library in $i; do
-           echo "-L $library" >> target/link
-           L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
-           echo "-L $L" >> target/link.final
-         done
-       fi
-    done
-    echo "$EXTRA_LINK" | while read i; do
-       if [[ ! -z "$i" ]]; then
-         for library in $i; do
-           echo "-l $library" >> target/link
-           echo "-l $library" >> target/link.final
-         done
-       fi
-    done
-
-    if [[ -e target/link ]]; then
-       sort -u target/link.final > target/link.final.sorted
-       mv target/link.final.sorted target/link.final
-       sort -u target/link > target/link.sorted
-       mv target/link.sorted target/link
 
-       tr '\n' ' ' < target/link > target/link_
-       LINK=$(cat target/link_)
-    fi
-    ${lib.optionalString (crateBin != "") ''
-    printf "%s\n" "${crateBin}" | head -n1 | tr -s ',' '\n' | while read -r BIN_NAME BIN_PATH; do
+    ${lib.optionalString (lib.length crateBin > 0) (lib.concatMapStringsSep "\n" (bin: ''
       mkdir -p target/bin
-      # filter empty entries / empty "lines"
-      if [[ -z "$BIN_NAME" ]]; then
-           continue
-      fi
-
-      if [[ -z "$BIN_PATH" ]]; then
-        # heuristic to "guess" the correct source file as found in cargo:
-        # https://github.com/rust-lang/cargo/blob/90fc9f620190d5fa3c80b0c8c65a1e1361e6b8ae/src/cargo/util/toml/targets.rs#L308-L325
-
-        # the first two cases are the "new" default IIRC
-        BIN_NAME_=$(echo $BIN_NAME | sed -e 's/-/_/g')
-        FILES=( "src/bin/$BIN_NAME.rs" "src/bin/$BIN_NAME/main.rs" "src/bin/$BIN_NAME_.rs" "src/bin/$BIN_NAME_/main.rs" "src/bin/main.rs" "src/main.rs" )
-
-        if ! [ -e "${libPath}" -o -e src/lib.rs -o -e "src/${libName}.rs" ]; then
-          # if this is not a library the following path is also valid
-          FILES=( "src/$BIN_NAME.rs" "src/$BIN_NAME_.rs" "''${FILES[@]}" )
-        fi
-
-        for file in "''${FILES[@]}";
-        do
-          echo "checking file $file"
-          # first file that exists wins
-          if [[ -e "$file" ]]; then
-                  BIN_PATH="$file"
-                  break
-          fi
-        done
-
-        if [[ -z "$BIN_PATH" ]]; then
-          echo "failed to find file for binary target: $BIN_NAME" >&2
-          exit 1
-        fi
-      fi
+      BIN_NAME='${bin.name or crateName}'
+      ${if !bin ? path then ''
+        BIN_PATH=""
+        search_for_bin_path "$BIN_NAME"
+      '' else ''
+        BIN_PATH='${bin.path}'
+      ''}
       build_bin "$BIN_NAME" "$BIN_PATH"
-    done
-    ''}
+    '') crateBin)}
 
-    ${lib.optionalString (crateBin == "" && !hasCrateBin) ''
+    # If crateBin is empty and hasCrateBin is not set then we must try to
+    # detect some kind of bin target based on some files that might exist.
+    ${lib.optionalString (lib.length crateBin == 0 && !hasCrateBin) ''
       if [[ -e src/main.rs ]]; then
         mkdir -p target/bin
         build_bin ${crateName} src/main.rs
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 2c7226b0962..efc538f0fd6 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, mkRustcDepArgs }:
 { build
 , buildDependencies
 , colors
@@ -20,12 +20,12 @@
 , verbose
 , workspace_member }:
 let version_ = lib.splitString "-" crateVersion;
-    versionPre = if lib.tail version_ == [] then "" else builtins.elemAt version_ 1;
+    versionPre = if lib.tail version_ == [] then "" else lib.elemAt version_ 1;
     version = lib.splitVersion (lib.head version_);
-    rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt)
+    rustcOpts = lib.foldl' (opts: opt: opts + " " + opt)
         (if release then "-C opt-level=3" else "-C debuginfo=2")
         (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
-    buildDeps = makeDeps buildDependencies crateRenames;
+    buildDeps = mkRustcDepArgs buildDependencies crateRenames;
     authors = lib.concatStringsSep ":" crateAuthors;
     optLevel = if release then 3 else 0;
     completeDepsDir = lib.concatStringsSep " " completeDeps;
@@ -90,9 +90,9 @@ in ''
   export HOST="${stdenv.hostPlatform.config}"
   export PROFILE=${if release then "release" else "debug"}
   export OUT_DIR=$(pwd)/target/build/${crateName}.out
-  export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
-  export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
-  export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
+  export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0}
+  export CARGO_PKG_VERSION_MINOR=${lib.elemAt version 1}
+  export CARGO_PKG_VERSION_PATCH=${lib.elemAt version 2}
   export CARGO_PKG_VERSION_PRE="${versionPre}"
   export CARGO_PKG_HOMEPAGE="${crateHomepage}"
   export NUM_JOBS=1
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index edff3941636..d5d6bf30b7c 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -13,56 +13,34 @@ let
       then "macos"
       else stdenv.hostPlatform.parsed.kernel.name;
 
-    makeDeps = dependencies: crateRenames:
-      (lib.concatMapStringsSep " " (dep:
+    # Create rustc arguments to link against the given list of dependencies and
+    # renames
+    mkRustcDepArgs = dependencies: crateRenames:
+      lib.concatMapStringsSep " " (dep:
         let
-          extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName;
-          name = if builtins.hasAttr dep.crateName crateRenames then
+          extern = lib.replaceStrings ["-"] ["_"] dep.libName;
+          name = if lib.hasAttr dep.crateName crateRenames then
             lib.strings.replaceStrings ["-"] ["_"] crateRenames.${dep.crateName}
           else
             extern;
-        in (if lib.lists.any (x: x == "lib") dep.crateType then
+        in (if lib.any (x: x == "lib") dep.crateType then
            " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
          else
            " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
-      ) dependencies);
-
-    echo_build_heading = colors: ''
-      echo_build_heading() {
-       start=""
-       end=""
-       if [[ "${colors}" == "always" ]]; then
-         start="$(printf '\033[0;1;32m')" #set bold, and set green.
-         end="$(printf '\033[0m')" #returns to "normal"
-       fi
-       if (( $# == 1 )); then
-         echo "$start""Building $1""$end"
-       else
-         echo "$start""Building $1 ($2)""$end"
-       fi
-      }
-    '';
-    noisily = colors: verbose: ''
-      noisily() {
-        start=""
-        end=""
-        if [[ "${colors}" == "always" ]]; then
-          start="$(printf '\033[0;1;32m')" #set bold, and set green.
-          end="$(printf '\033[0m')" #returns to "normal"
-        fi
-	${lib.optionalString verbose ''
-            echo -n "$start"Running "$end"
-            echo $@
-	''}
-	$@
-      }
-    '';
-
-    configureCrate = import ./configure-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
-    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps rust; };
-    installCrate = import ./install-crate.nix;
-
-    in
+      ) dependencies;
+
+   inherit (import ./log.nix { inherit lib; }) noisily echo_build_heading;
+
+   configureCrate = import ./configure-crate.nix {
+     inherit lib stdenv echo_build_heading noisily mkRustcDepArgs;
+   };
+
+   buildCrate = import ./build-crate.nix {
+     inherit lib stdenv echo_build_heading noisily mkRustcDepArgs rust;
+   };
+
+   installCrate = import ./install-crate.nix;
+in
 
 crate_: lib.makeOverridable ({ rust, release, verbose, features, buildInputs, crateOverrides,
   dependencies, buildDependencies, crateRenames,
@@ -81,6 +59,15 @@ let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverr
     extraDerivationAttrs = lib.filterAttrs (n: v: ! lib.elem n processedAttrs) crate;
     buildInputs_ = buildInputs;
     extraRustcOpts_ = extraRustcOpts;
+
+    # take a list of crates that we depend on and override them to fit our overrides, rustc, release, …
+    makeDependencies = map (dep: lib.getLib (dep.override { inherit release verbose crateOverrides; }));
+
+    # crate2nix has a hack for the old bash based build script that did split
+    # entries at `,`. No we have to work around that hack.
+    # https://github.com/kolloch/crate2nix/blame/5b19c1b14e1b0e5522c3e44e300d0b332dc939e7/crate2nix/templates/build.nix.tera#L89
+    crateBin = lib.filter (bin: !(bin ? name && bin.name == ",")) (crate.crateBin or []);
+    hasCrateBin = crate ? crateBin;
 in
 stdenv.mkDerivation (rec {
 
@@ -94,42 +81,28 @@ stdenv.mkDerivation (rec {
     name = "rust_${crate.crateName}-${crate.version}";
     depsBuildBuild = [ rust stdenv.cc ];
     buildInputs = (crate.buildInputs or []) ++ buildInputs_;
-    dependencies =
-      builtins.map
-        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
-        dependencies_;
-
-    buildDependencies =
-      builtins.map
-        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
-        buildDependencies_;
-
-    completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
-    completeBuildDeps = lib.lists.unique (
+    dependencies = makeDependencies dependencies_;
+    buildDependencies = makeDependencies buildDependencies_;
+
+    completeDeps = lib.unique (dependencies ++ lib.concatMap (dep: dep.completeDeps) dependencies);
+    completeBuildDeps = lib.unique (
       buildDependencies
-      ++ lib.lists.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
+      ++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
     );
 
-    crateFeatures = if crate ? features then
-        lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features) #"
-      else "";
+    crateFeatures = lib.optionalString (crate ? features)
+      (lib.concatMapStringsSep " " (f: "--cfg feature=\\\"${f}\\\"") (crate.features ++ features));
 
     libName = if crate ? libName then crate.libName else crate.crateName;
     libPath = if crate ? libPath then crate.libPath else "";
 
-    depsMetadata = builtins.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
-    metadata = builtins.substring 0 10 (builtins.hashString "sha256" (crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata ));
-
-    crateBin = if crate ? crateBin then
-       builtins.foldl' (bins: bin: let
-            name = (if bin ? name then bin.name else crateName);
-            path = if bin ? path then bin.path else "";
-          in
-          bins + (if bin == "" then "" else ",") + "${name} ${path}"
-
-       ) "" crate.crateBin
-    else "";
-    hasCrateBin = crate ? crateBin;
+    # Seed the symbol hashes with something unique every time.
+    # https://doc.rust-lang.org/1.0.0/rustc/metadata/loader/index.html#frobbing-symbols
+    metadata = let
+      depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
+      hashedMetadata = builtins.hashString "sha256"
+        (crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata);
+      in lib.substring 0 10 hashedMetadata;
 
     build = crate.build or "";
     workspace_member = crate.workspace_member or ".";
@@ -142,9 +115,12 @@ stdenv.mkDerivation (rec {
       if lib.attrByPath ["plugin"] false crate then ["dylib"] else
         (crate.type or ["lib"]);
     colors = lib.attrByPath [ "colors" ] "always" crate;
-    extraLinkFlags = builtins.concatStringsSep " " (crate.extraLinkFlags or []);
+    extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or []);
     edition = crate.edition or null;
-    extraRustcOpts = (if crate ? extraRustcOpts then crate.extraRustcOpts else []) ++ extraRustcOpts_ ++ (lib.optional (edition != null) "--edition ${edition}");
+    extraRustcOpts =
+      lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts
+      ++ extraRustcOpts_
+      ++ (lib.optional (edition != null) "--edition ${edition}");
 
     configurePhase = configureCrate {
       inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
@@ -155,7 +131,7 @@ stdenv.mkDerivation (rec {
     buildPhase = buildCrate {
       inherit crateName dependencies
               crateFeatures crateRenames libName release libPath crateType
-              metadata crateBin hasCrateBin verbose colors
+              metadata hasCrateBin crateBin verbose colors
               extraRustcOpts;
     };
     installPhase = installCrate crateName metadata;
diff --git a/pkgs/build-support/rust/build-rust-crate/helpers.nix b/pkgs/build-support/rust/build-rust-crate/helpers.nix
index 14d997b2d5c..8c5e9dfef2f 100644
--- a/pkgs/build-support/rust/build-rust-crate/helpers.nix
+++ b/pkgs/build-support/rust/build-rust-crate/helpers.nix
@@ -3,23 +3,23 @@
   kernel = stdenv.hostPlatform.parsed.kernel.name;
   abi = stdenv.hostPlatform.parsed.abi.name;
   cpu = stdenv.hostPlatform.parsed.cpu.name;
-   updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+   updateFeatures = f: up: functions: lib.deepSeq f (lib.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:
+   mkFeatures = feat: lib.foldl (features: featureName:
      if feat.${featureName} or false then
        [ featureName ] ++ features
      else
        features
-   ) [] (builtins.attrNames feat);
-  include = includedFiles: src: builtins.filterSource (path: type:
-     lib.lists.any (f:
+   ) [] (lib.attrNames feat);
+  include = includedFiles: src: lib.filterSource (path: type:
+     lib.any (f:
        let p = toString (src + ("/" + f));
        in
        p == path || (lib.strings.hasPrefix (p + "/") path)
      ) includedFiles
   ) src;
-  exclude = excludedFiles: src: builtins.filterSource (path: type:
-    lib.lists.all (f:
+  exclude = excludedFiles: src: lib.filterSource (path: type:
+    lib.all (f:
        !lib.strings.hasPrefix (toString (src + ("/" + f))) path
     ) excludedFiles
   ) src;
diff --git a/pkgs/build-support/rust/build-rust-crate/lib.sh b/pkgs/build-support/rust/build-rust-crate/lib.sh
new file mode 100644
index 00000000000..24c712468ea
--- /dev/null
+++ b/pkgs/build-support/rust/build-rust-crate/lib.sh
@@ -0,0 +1,117 @@
+build_lib() {
+  lib_src=$1
+  echo_build_heading $lib_src ${libName}
+
+  noisily rustc \
+    --crate-name $CRATE_NAME \
+    $lib_src \
+    --out-dir target/lib \
+    --emit=dep-info,link \
+    -L dependency=target/deps \
+    --cap-lints allow \
+    $LIB_RUSTC_OPTS \
+    $BUILD_OUT_DIR \
+    $EXTRA_BUILD \
+    $EXTRA_FEATURES \
+    --color $colors
+
+  EXTRA_LIB=" --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-$metadata.rlib"
+  if [ -e target/deps/lib$CRATE_NAME-$metadata$LIB_EXT ]; then
+     EXTRA_LIB="$EXTRA_LIB --extern $CRATE_NAME=target/lib/lib$CRATE_NAME-$metadata$LIB_EXT"
+  fi
+}
+
+build_bin() {
+  crate_name=$1
+  crate_name_=$(echo $crate_name | tr '-' '_')
+  main_file=""
+  if [[ ! -z $2 ]]; then
+    main_file=$2
+  fi
+  echo_build_heading $@
+  noisily rustc \
+    --crate-name $crate_name_ \
+    $main_file \
+    --crate-type bin \
+    $BIN_RUSTC_OPTS \
+    --out-dir target/bin \
+    --emit=dep-info,link \
+    -L dependency=target/deps \
+    $LINK \
+    $EXTRA_LIB \
+    --cap-lints allow \
+    $BUILD_OUT_DIR \
+    $EXTRA_BUILD \
+    $EXTRA_FEATURES \
+    --color ${colors} \
+
+  if [ "$crate_name_" != "$crate_name" ]; then
+    mv target/bin/$crate_name_ target/bin/$crate_name
+  fi
+}
+
+setup_link_paths() {
+  EXTRA_LIB=""
+  if [[ -e target/link_ ]]; then
+    EXTRA_BUILD="$(cat target/link_) $EXTRA_BUILD"
+  fi
+
+  echo "$EXTRA_LINK_SEARCH" | while read i; do
+     if [[ ! -z "$i" ]]; then
+       for library in $i; do
+         echo "-L $library" >> target/link
+         L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
+         echo "-L $L" >> target/link.final
+       done
+     fi
+  done
+  echo "$EXTRA_LINK" | while read i; do
+     if [[ ! -z "$i" ]]; then
+       for library in $i; do
+         echo "-l $library" >> target/link
+         echo "-l $library" >> target/link.final
+       done
+     fi
+  done
+
+  if [[ -e target/link ]]; then
+     sort -u target/link.final > target/link.final.sorted
+     mv target/link.final.sorted target/link.final
+     sort -u target/link > target/link.sorted
+     mv target/link.sorted target/link
+
+     tr '\n' ' ' < target/link > target/link_
+     LINK=$(cat target/link_)
+  fi
+}
+
+search_for_bin_path() {
+  # heuristic to "guess" the correct source file as found in cargo:
+  # https://github.com/rust-lang/cargo/blob/90fc9f620190d5fa3c80b0c8c65a1e1361e6b8ae/src/cargo/util/toml/targets.rs#L308-L325
+
+  BIN_NAME=$1
+  BIN_NAME_=$(echo $BIN_NAME | tr '-' '_')
+
+  # the first two cases are the "new" default IIRC
+  FILES=( "src/bin/$BIN_NAME.rs" "src/bin/$BIN_NAME/main.rs" "src/bin/$BIN_NAME_.rs" "src/bin/$BIN_NAME_/main.rs" "src/bin/main.rs" "src/main.rs" )
+
+  if ! [ -e "$LIB_PATH" -o -e src/lib.rs -o -e "src/$LIB_NAME.rs" ]; then
+    # if this is not a library the following path is also valid
+    FILES=( "src/$BIN_NAME.rs" "src/$BIN_NAME_.rs" "${FILES[@]}" )
+  fi
+
+  for file in "${FILES[@]}";
+  do
+    echo "checking file $file"
+    # first file that exists wins
+    if [[ -e "$file" ]]; then
+            BIN_PATH="$file"
+            break
+    fi
+  done
+
+  if [[ -z "$BIN_PATH" ]]; then
+    echo "failed to find file for binary target: $BIN_NAME" >&2
+    exit 1
+  fi
+}
diff --git a/pkgs/build-support/rust/build-rust-crate/log.nix b/pkgs/build-support/rust/build-rust-crate/log.nix
new file mode 100644
index 00000000000..25181c787e2
--- /dev/null
+++ b/pkgs/build-support/rust/build-rust-crate/log.nix
@@ -0,0 +1,33 @@
+{ lib }:
+{
+  echo_build_heading = colors: ''
+    echo_build_heading() {
+     start=""
+     end=""
+     ${lib.optionalString (colors == "always") ''
+       start="$(printf '\033[0;1;32m')" #set bold, and set green.
+       end="$(printf '\033[0m')" #returns to "normal"
+     ''}
+     if (( $# == 1 )); then
+       echo "$start""Building $1""$end"
+     else
+       echo "$start""Building $1 ($2)""$end"
+     fi
+    }
+  '';
+  noisily = colors: verbose: ''
+    noisily() {
+      start=""
+      end=""
+      ${lib.optionalString (colors == "always") ''
+        start="$(printf '\033[0;1;32m')" #set bold, and set green.
+        end="$(printf '\033[0m')" #returns to "normal"
+      ''}
+  	  ${lib.optionalString verbose ''
+        echo -n "$start"Running "$end"
+        echo $@
+  	  ''}
+  	  $@
+    }
+  '';
+}
diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix
index 1c36d0f57fe..201b0dfe417 100644
--- a/pkgs/data/fonts/material-design-icons/default.nix
+++ b/pkgs/data/fonts/material-design-icons/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "3.3.92";
+  version = "4.7.95";
 in fetchFromGitHub {
   name = "material-design-icons-${version}";
   owner  = "Templarian";
@@ -10,14 +10,13 @@ in fetchFromGitHub {
 
   postFetch = ''
     tar xf $downloadedFile --strip=1
-    mkdir -p $out/share/fonts/{eot,svg,truetype,woff,woff2}
+    mkdir -p $out/share/fonts/{eot,truetype,woff,woff2}
     cp fonts/*.eot $out/share/fonts/eot/
-    cp fonts/*.svg $out/share/fonts/svg/
     cp fonts/*.ttf $out/share/fonts/truetype/
     cp fonts/*.woff $out/share/fonts/woff/
     cp fonts/*.woff2 $out/share/fonts/woff2/
   '';
-  sha256 = "0dbm4qfd0b91yrw3cv4i377pnm98fgj936nk1m5wlx8mx8jahz48";
+  sha256 = "0da92kz8ryy60kb5xm52md13w28ih4sfap8g3v9b4ziyww66zjhz";
 
   meta = with lib; {
     description = "3200+ Material Design Icons from the Community";
diff --git a/pkgs/data/fonts/monoid/default.nix b/pkgs/data/fonts/monoid/default.nix
index 06fb7499b81..22714170fa4 100644
--- a/pkgs/data/fonts/monoid/default.nix
+++ b/pkgs/data/fonts/monoid/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, python, fontforge }:
+{ stdenv, fetchFromGitHub, python2 }:
+# Python 3 support requires https://github.com/larsenwork/monoid/pull/233 to be merged
 
 stdenv.mkDerivation {
   pname = "monoid";
@@ -11,7 +12,11 @@ stdenv.mkDerivation {
     sha256 = "07h5q6cn6jjpmxp9vyag1bxx481waz344sr2kfs7d37bba8yjydj";
   };
 
-  nativeBuildInputs = [ python fontforge ];
+  nativeBuildInputs = [
+    (python2.withPackages (pp: with pp; [
+      fontforge
+    ]))
+  ];
 
   buildPhase = ''
     local _d=""
diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
index 8b6c3749962..bf19fb8238f 100644
--- a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
+++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
@@ -1,32 +1,40 @@
-{ stdenv, fetchgit, fontforge, python3 }:
+{ stdenv, fetchgit, fontforge, python2, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "rictydiminished-with-firacode";
-  version = "0.0.1";
+  version = "1.2.0";
+
   src = fetchgit {
     url = "https://github.com/hakatashi/RictyDiminished-with-FiraCode.git";
-    rev = "refs/tags/${version}";
-    sha256 = "12lhb0k4d8p4lzw9k6hlsxpfpc15zfshz1h5cbaa88sb8n5jh360";
+    rev = version;
+    sha256 = "1vlzx5dsx6j9d9q84pdnwcxjy7mr1sv8sacx0zgfxhxnj66n1gnn";
     fetchSubmodules = true;
   };
 
-  buildPhase = ''
+  postPatch = ''
+    # Make builds more reproducible
     substituteInPlace apply-feature.py --replace \
       'ricty = ttLib.TTFont(options.in_font)' \
       'ricty = ttLib.TTFont(options.in_font, recalcTimestamp=False)'
     substituteInPlace build-py3.py --replace \
       'datetime.date.today()' \
       'datetime.date.fromtimestamp(float(os.environ["SOURCE_DATE_EPOCH"]))'
-
-    make
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -m444 -Dt $out/share/fonts/rictydiminished-with-firacode *.ttf
+
+    runHook postInstall
   '';
 
   nativeBuildInputs = [
-    fontforge
+    # Python 3 not supported by parts of the build system
+    # https://github.com/hakatashi/RictyDiminished-with-FiraCode/pull/3
+    (fontforge.override {
+      python = python2;
+    })
     (python3.withPackages (ps: [
       ps.jinja2
       ps.py3to2
@@ -35,7 +43,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode;
+    homepage = "https://github.com/hakatashi/RictyDiminished-with-FiraCode";
     description = "The best Japanese programming font meets the awesone ligatures of Firacode";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix
index 74f851d77b5..ea562f7fa6e 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.2.7";
+  version = "1.3.0";
 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 = "0x4ydp11ry94wkkspnmy1xpzqq3m45xg60z1hq4ll9gmlccaknj0";
+  sha256 = "1lv2x7kfspabnhvm8z79n165fw3awvzj1r8f0g5zn26wgdalgw69";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 99739646a8b..34dd48b897f 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, nss, python
+{ stdenv, fetchurl, nss, python3
 , blacklist ? []
 , includeEmail ? false
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "unbundled" ];
 
-  nativeBuildInputs = [ python ];
+  nativeBuildInputs = [ python3 ];
 
   configurePhase = ''
     ln -s nss/lib/ckfw/builtins/certdata.txt
diff --git a/pkgs/data/misc/media-player-info/default.nix b/pkgs/data/misc/media-player-info/default.nix
index 6d00f34e978..0ac5dc51d6b 100644
--- a/pkgs/data/misc/media-player-info/default.nix
+++ b/pkgs/data/misc/media-player-info/default.nix
@@ -19,9 +19,7 @@ in
       patchShebangs ./tools
     '';
 
-    preConfigure = ''
-      configureFlags="$configureFlags --with-udevdir=$out/lib/udev"
-    '';
+    configureFlags = [ "--with-udevdir=${placeholder "out"}/lib/udev" ];
 
     meta = with stdenv.lib; {
       description = "A repository of data files describing media player capabilities";
diff --git a/pkgs/desktops/gnome-2/platform/GConf/default.nix b/pkgs/desktops/gnome-2/platform/GConf/default.nix
index 1a1848491b1..f13ff571242 100644
--- a/pkgs/desktops/gnome-2/platform/GConf/default.nix
+++ b/pkgs/desktops/gnome-2/platform/GConf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python2, intltool }:
+{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python3, intltool }:
 
 stdenv.mkDerivation rec {
   pname = "gconf";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "man" ];
 
-  buildInputs = [ ORBit2 libxml2 python2 ]
+  buildInputs = [ ORBit2 libxml2 python3 ]
     # polkit requires pam, which requires shadow.h, which is not available on
     # darwin
     ++ stdenv.lib.optional (!stdenv.isDarwin) polkit;
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
     # fixes the "libgconfbackend-oldxml.so is not portable" error on darwin
     stdenv.lib.optional stdenv.isDarwin [ "--enable-static" ];
 
+  postPatch = ''
+    2to3 --write --nobackup gsettings/gsettings-schema-convert
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://projects.gnome.org/gconf/;
     description = "Deprecated system for storing application preferences";
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index f7f83b56932..6e777636747 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
+{ stdenv, fetchurl, fetchpatch, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
 , gettext, libxml2, xkeyboard_config, isocodes, meson, wayland
 , libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }:
 
@@ -30,6 +30,14 @@ stdenv.mkDerivation rec {
       bubblewrap_bin = "${bubblewrap}/bin/bwrap";
       inherit (builtins) storeDir;
     })
+
+    # honor $XKB_CONFIG_ROOT
+    # addresses #76590: services.xserver.extraLayouts aren't honored by GNOME3
+    # NOTE: should be merged upstream in 3.36.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-desktop/commit/450446b5353e8231edded4d5b5db90a67a9fa9b7.diff";
+      sha256 = "07y989x7mbgn3rsm2qfdi8qkkc8i60k28hw87l744nlkydn78kq5";
+    })
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
index 5023ffce6b9..16ef06d8d9d 100644
--- a/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, gnome3, gtk3
-, gnome-doc-utils, intltool, libX11, which, itstool, wrapGAppsHook }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, libxml2
+, gnome3
+, gtk3
+, yelp-tools
+, gettext
+, libX11
+, itstool
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "zenity";
@@ -10,13 +20,19 @@ stdenv.mkDerivation rec {
     sha256 = "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7";
   };
 
-  preBuild = ''
-    mkdir -p $out/include
-  '';
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    yelp-tools
+    itstool
+    libxml2
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ gtk3 libxml2 libxslt libX11 itstool ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which wrapGAppsHook ];
+  buildInputs = [
+    gtk3
+    libX11
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,6 +42,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Tool to display dialogs from the commandline and shell scripts";
+    homepage = "https://wiki.gnome.org/Projects/Zenity";
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
   };
diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index ca232d090a8..5858883accd 100644
--- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-gsconnect";
-  version = "27";
+  version = "30";
 
   src = fetchFromGitHub {
     owner = "andyholmes";
     repo = "gnome-shell-extension-gsconnect";
     rev = "v${version}";
-    sha256 = "0bpg7hl81wir3c15ri8kbvr6xhalpkfmcyazwmmwyj5lxpn40ykk";
+    sha256 = "17j96y72mj7vg2csn5c9rji7jy04x5qzl8knf5gky6wppxj9zjb4";
   };
 
   patches = [
diff --git a/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch b/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
new file mode 100644
index 00000000000..fb2917b36bb
--- /dev/null
+++ b/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
@@ -0,0 +1,81 @@
+From 74fb65a2574c93a2b20a51875a5e336f727ff4bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Wed, 25 Dec 2019 18:48:38 -0300
+Subject: [PATCH] Search system themes in system data dirs
+
+---
+ capplets/common/gtkrc-utils.c     | 20 ++++++++++++--------
+ capplets/common/mate-theme-info.c | 18 +++++++++++-------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/capplets/common/gtkrc-utils.c b/capplets/common/gtkrc-utils.c
+index 011c8a1..27e01da 100644
+--- a/capplets/common/gtkrc-utils.c
++++ b/capplets/common/gtkrc-utils.c
+@@ -60,15 +60,19 @@ gchar* gtkrc_find_named(const gchar* name)
+ 
+ 	if (!path)
+ 	{
+-		gchar* theme_dir = gtk_rc_get_theme_dir();
+-		path = g_build_filename(theme_dir, name, subpath, NULL);
+-		g_free(theme_dir);
++		const gchar * const * dirs = g_get_system_data_dirs();
+ 
+-		if (!g_file_test(path, G_FILE_TEST_EXISTS))
+-		{
+-			g_free (path);
+-			path = NULL;
+-		}
++		if (dirs != NULL)
++			for (; !path && *dirs != NULL; ++dirs)
++			{
++				path = g_build_filename(*dirs, "themes", name, subpath, NULL);
++
++				if (!g_file_test(path, G_FILE_TEST_EXISTS))
++				{
++					g_free (path);
++					path = NULL;
++				}
++			}
+ 	}
+ 
+ 	return path;
+diff --git a/capplets/common/mate-theme-info.c b/capplets/common/mate-theme-info.c
+index 54ae3ae..a738f0b 100644
+--- a/capplets/common/mate-theme-info.c
++++ b/capplets/common/mate-theme-info.c
+@@ -1763,6 +1763,7 @@ mate_theme_color_scheme_equal (const gchar *s1, const gchar *s2)
+ void
+ mate_theme_init ()
+ {
++  const gchar * const * dirs;
+   GFile *top_theme_dir;
+   gchar *top_theme_dir_string;
+   static gboolean initted = FALSE;
+@@ -1783,13 +1784,16 @@ mate_theme_init ()
+   theme_hash_by_uri = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+   theme_hash_by_name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ 
+-  /* Add all the toplevel theme dirs. */
+-  /* $datadir/themes */
+-  top_theme_dir_string = gtk_rc_get_theme_dir ();
+-  top_theme_dir = g_file_new_for_path (top_theme_dir_string);
+-  g_free (top_theme_dir_string);
+-  add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
+-  g_object_unref (top_theme_dir);
++  /* Add all the toplevel theme dirs following the XDG Base Directory Specification */
++  dirs = g_get_system_data_dirs ();
++  if (dirs != NULL)
++    for (; *dirs != NULL; ++dirs) {
++      top_theme_dir_string = g_build_filename (*dirs, "themes", NULL);
++      top_theme_dir = g_file_new_for_path (top_theme_dir_string);
++      g_free (top_theme_dir_string);
++      add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
++      g_object_unref (top_theme_dir);
++    }
+ 
+   /* ~/.themes */
+   top_theme_dir_string  = g_build_filename (g_get_home_dir (), ".themes", NULL);
+-- 
+2.24.1
+
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index d5c39a67d20..2451c403c82 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
+    # see https://github.com/mate-desktop/mate-control-center/pull/528
+    ./0001-Search-system-themes-in-system-data-dirs.patch
     # look up keyboard shortcuts in system data dirs
     ./mate-control-center.keybindings-dir.patch
   ];
diff --git a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index 940dec0338c..f635fce972f 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchurl, ncurses5, python27 }:
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "6-2017-q2-update";
   subdir = "6-2017q2";
 
-  src =
-    if stdenv.isLinux then
-      fetchurl {
-        url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-        sha256="1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6";
-      }
-    else if stdenv.isDarwin then
-      fetchurl {
-        url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-        sha256="0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x";
-      }
-    else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x";
+      x86_64-linux  = "1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -37,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
-    license = with stdenv.lib.licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
-    maintainers = with stdenv.lib.maintainers; [ vinymeuh ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index 90f9d5957bb..4944038fde4 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, lib, fetchurl, ncurses5, python27 }:
-
-with lib;
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "7-2018-q2-update";
   subdir = "7-2018q2";
 
-  src =
-  if stdenv.isLinux then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-      sha256="0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv";
-    }
-  else if stdenv.isDarwin then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-      sha256="0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61";
-    }
-  else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61";
+      x86_64-linux  = "0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -39,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index b2815cc7184..510889dad62 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, lib, fetchurl, ncurses5, python27 }:
-
-with lib;
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
   version = "8-2019-q3-update";
   subdir = "8-2019q3/RC1.1";
 
-  src =
-  if stdenv.isLinux then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2";
-      sha256="b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92";
-    }
-  else if stdenv.isDarwin then
-    fetchurl {
-      url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2";
-      sha256="fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085";
-    }
-  else throw "unsupported platform";
+  suffix = {
+    x86_64-darwin = "mac";
+    x86_64-linux  = "linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      x86_64-darwin = "fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085";
+      x86_64-linux  = "b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
@@ -39,11 +41,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)";
-    homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm;
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/9/default.nix b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
new file mode 100644
index 00000000000..8ded47d6e37
--- /dev/null
+++ b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchurl
+, ncurses5
+, python27
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gcc-arm-embedded";
+  version = "9-2019-q4-major";
+  subdir = "9-2019q4/RC2.1";
+
+  suffix = {
+    aarch64-linux = "aarch64-linux";
+    x86_64-darwin = "mac";
+    x86_64-linux  = "x86_64-linux";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
+    sha256 = {
+      aarch64-linux = "1f5b9309006737950b2218250e6bb392e2d68d4f1a764fe66be96e2a78888d83";
+      x86_64-darwin = "1249f860d4155d9c3ba8f30c19e7a88c5047923cea17e0d08e633f12408f01f0";
+      x86_64-linux  = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r * $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
+  '';
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  preFixup = ''
+    find $out -type f | while read f; do
+      patchelf $f > /dev/null 2>&1 || continue
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
+      patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
deleted file mode 100644
index b86b35525a6..00000000000
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses
-, dirName ? null, subdirName ? null }:
-with stdenv.lib;
-let
-  versionParts = splitString "-" version; # 4.7 2013q3 20130916
-  majorVersion = elemAt versionParts 0; # 4.7
-  yearQuarter = elemAt versionParts 1; # 2013q3
-  underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916
-  yearQuarterParts = splitString "q" yearQuarter; # 2013 3
-  year = elemAt yearQuarterParts 0; # 2013
-  quarter = elemAt yearQuarterParts 1; # 3
-  dirName_ = if dirName != null then dirName else majorVersion;
-  subdirName_ = if subdirName != null then subdirName
-    else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
-in
-stdenv.mkDerivation {
-  pname = "gcc-arm-embedded";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
-    sha256 = sha256;
-  };
-
-  nativeBuildInputs = [ bzip2 patchelf ];
-
-  dontPatchELF = true;
-
-  phases = "unpackPhase patchPhase installPhase";
-
-  installPhase = ''
-    mkdir -pv $out
-    cp -r ./* $out
-    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
-
-    for f in $(find $out); do
-      if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
-        patchelf --set-interpreter ${getLib glibc}/lib/ld-linux.so.2 \
-                 --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" gcc ncurses ]} \
-                 "$f" || true
-      fi
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)";
-    homepage = https://launchpad.net/gcc-arm-embedded;
-    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
-    maintainers = [ maintainers.rasendubi ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/compilers/ghc/8.10.1.nix b/pkgs/development/compilers/ghc/8.10.1.nix
new file mode 100644
index 00000000000..25226d4d0e6
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.10.1.nix
@@ -0,0 +1,232 @@
+{ stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
+, bash
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, useLLVM ? !stdenv.targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+  # specific flavour and falls back to ghc default values.
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ [libffi]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.10.0.20191210";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/8.10.1-alpha2/ghc-${version}-src.tar.xz";
+    sha256 = "1mmv8s9cs41kp7wh1qqnzin5wv32cvs3lmzgda7njz0ssqb0mmvj";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+	dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/ghc/8.8.2.nix b/pkgs/development/compilers/ghc/8.8.2.nix
new file mode 100644
index 00000000000..4ed99a8402a
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.8.2.nix
@@ -0,0 +1,232 @@
+{ stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
+, bash
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, useLLVM ? !stdenv.targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+  # specific flavour and falls back to ghc default values.
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ [libffi]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.8.1.20191211";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
+    sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+	dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix
index 747ea5cf77f..7b6fbc460a9 100644
--- a/pkgs/development/compilers/ghcjs-ng/default.nix
+++ b/pkgs/development/compilers/ghcjs-ng/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, pkgsHostHost
 , callPackage
 , fetchgit
 , ghcjsSrcJson ? null
@@ -14,7 +15,6 @@
 , pkgconfig
 , gcc
 , lib
-, nodePackages
 , ghcjsDepOverrides ? (_:_:{})
 , haskell
 }:
@@ -46,7 +46,7 @@ let
 
     enableShared = true;
 
-    socket-io = nodePackages."socket.io";
+    socket-io = pkgsHostHost.nodePackages."socket.io";
 
     # Relics of the old GHCJS build system
     stage1Packages = [];
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 33a3a1216dd..c21bcfb2ecc 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   pname = "ponyc";
-  version = "0.33.0";
+  version = "0.33.1";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "0a0sw902nrayg0s1zrkhfpvrmdqw19nif67hsv0ijrckcq37bjcz";
+    sha256 = "0wqbnvxdzzwr9q4v9ha9r9jjymr6y8ba1rb2lkzrng4g9p6xqbxy";
   };
 
   buildInputs = [ llvm makeWrapper which libxml2 ];
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index 91a31be9f8d..f639d330566 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -1,4 +1,4 @@
-{ stdenv, file, curl, pkgconfig, python, openssl, cmake, zlib
+{ stdenv, file, curl, pkgconfig, python3, openssl, cmake, zlib
 , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2
 , CoreFoundation, Security
 }:
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
   dontUpdateAutotoolsGnuConfigScripts = true;
 
   nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
-  buildInputs = [ cacert file curl python openssl zlib libgit2 ]
+  buildInputs = [ cacert file curl python3 openssl zlib libgit2 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG = 1;
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index ca9bf05b7e7..49eaeef0d9c 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,5 +1,5 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
-, fetchurl, file, python2
+, fetchurl, file, python3
 , llvm_9, darwin, git, cmake, rust, rustPlatform
 , pkgconfig, openssl
 , which, libffi
@@ -121,7 +121,7 @@ in stdenv.mkDerivation rec {
   dontUseCmakeConfigure = true;
 
   nativeBuildInputs = [
-    file python2 rustPlatform.rust.rustc git cmake
+    file python3 rustPlatform.rust.rustc git cmake
     which libffi removeReferencesTo pkgconfig
   ];
 
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 3c0a9632c95..647a13afa8f 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -92,7 +92,7 @@ let
            attrValues (mkMathcompGenFrom overrides (mathcomp-deps mathcomp-pkg) mathcomp-version);
         enableParallelBuilding = true;
 
-        buildFlags = optionalString withDoc "doc";
+        buildFlags = optional withDoc "doc";
 
         COQBIN = "${coq}/bin/";
 
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index b3c583da51e..1bffb71e8f9 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -14,6 +14,10 @@
 , modRoot ? "./"
 
 # modSha256 is the sha256 of the vendored dependencies
+#
+# CAUTION: if `null` is used as a value, the derivation won't be a
+# fixed-output derivation but disable the build sandbox instead. Don't use
+# this in nixpkgs as Hydra won't build those packages.
 , modSha256
 
 # We want parallel builds by default
@@ -84,10 +88,16 @@ let
     '';
 
     dontFixup = true;
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = modSha256;
-  }; in modArgs // overrideModAttrs modArgs);
+  }; in modArgs // (
+    if modSha256 == null then
+      { __noChroot = true; }
+    else
+      {
+        outputHashMode = "recursive";
+        outputHashAlgo = "sha256";
+        outputHash = modSha256;
+      }
+  ) // overrideModAttrs modArgs);
 
   package = go.stdenv.mkDerivation (args // {
     nativeBuildInputs = [ removeReferencesTo go ] ++ nativeBuildInputs;
diff --git a/pkgs/development/guile-modules/guile-sdl/default.nix b/pkgs/development/guile-modules/guile-sdl/default.nix
index 41bfb2ef62a..eff4c699625 100644
--- a/pkgs/development/guile-modules/guile-sdl/default.nix
+++ b/pkgs/development/guile-modules/guile-sdl/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       name = "sdl-env";
       paths = buildInputs;
     };
-  in "SDLMINUSI=-I${sdl}/include/SDL";
+  in [ "SDLMINUSI=-I${sdl}/include/SDL" ];
 
   meta = with stdenv.lib; {
     description = "Guile bindings for SDL";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 90030c0c8d1..52cc2f1e943 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -74,7 +74,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "04l1yrjq7n4nlzkmkg73xp6p7vpw1iq53mrmyb8162wqb7zapg4f";
+      sha256 = "1i4arhwbc05iz8hl7kk843m2f49i3ysby1kxcm9qfhpk7z9nyzj4";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -643,7 +643,7 @@ self: super: {
   # ideal, but Chris doesn't seem to make official releases any more.
   structured-haskell-mode = overrideCabal super.structured-haskell-mode (drv: {
     src = pkgs.fetchFromGitHub {
-      owner = "chrisdone";
+      owner = "projectional-haskell";
       repo = "structured-haskell-mode";
       rev = "7f9df73f45d107017c18ce4835bbc190dfe6782e";
       sha256 = "1jcc30048j369jgsbbmkb63whs4wb37bq21jrm3r6ry22izndsqa";
@@ -659,15 +659,6 @@ self: super: {
       ln -s $lispdir $data/share/emacs/site-lisp
     '';
   });
-  descriptive = overrideSrc super.descriptive {
-    version = "20180514-git";
-    src = pkgs.fetchFromGitHub {
-      owner = "chrisdone";
-      repo = "descriptive";
-      rev = "c088960113b2add758553e41cbe439d183b750cd";
-      sha256 = "17p65ihcvm1ghq23ww6phh8gdj7hwxlypjvh9jabsxvfbp2s8mrk";
-    };
-  };
 
   # Make elisp files available at a location where people expect it.
   hindent = (overrideCabal super.hindent (drv: {
@@ -1057,7 +1048,30 @@ self: super: {
     generateOptparseApplicativeCompletion "dhall" (
       dontCheck super.dhall
   );
-  dhall_1_28_0 = dontCheck super.dhall_1_28_0;
+  # https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af
+  # 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 {
+      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;
+    prettyprinter = self.prettyprinter_1_5_1;
+    prettyprinter-ansi-terminal =
+      self.prettyprinter-ansi-terminal.override {
+        prettyprinter = self.prettyprinter_1_5_1;
+      };
+  };
+
+  # Tests for dhall access the network.
+  dhall_1_27_0 = dontCheck super.dhall_1_27_0;
 
   # Missing test files in source distribution, fixed once 1.4.0 is bumped
   # https://github.com/dhall-lang/dhall-haskell/pull/997
@@ -1322,9 +1336,29 @@ self: super: {
   # needs newer version of the systemd package
   spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
 
-  # ghcide needs the latest versions of haskell-lsp.
-  ghcide = super.ghcide.override { haskell-lsp = self.haskell-lsp_0_18_0_0; lsp-test = self.lsp-test_0_8_2_0; };
-  haskell-lsp_0_18_0_0 = super.haskell-lsp_0_18_0_0.override { haskell-lsp-types = self.haskell-lsp-types_0_18_0_0; };
-  lsp-test_0_8_2_0 = (dontCheck super.lsp-test_0_8_2_0).override { haskell-lsp = self.haskell-lsp_0_18_0_0; };
+  # 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more
+  # hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi
+  glirc = doJailbreak super.glirc;
+
+  # apply patches from https://github.com/snapframework/snap-server/pull/126
+  # manually until they are accepted upstream
+  snap-server = overrideCabal super.snap-server (drv: {
+    patches = [(pkgs.fetchpatch {
+      # allow compilation with network >= 3
+      url = https://github.com/snapframework/snap-server/pull/126/commits/4338fe15d68e11e3c7fd0f9862f818864adc1d45.patch;
+      sha256 = "1nlw9lckm3flzkmhkzwc7zxhdh9ns33w8p8ds8nf574nqr5cr8bv";
+    })
+    (pkgs.fetchpatch {
+      # prefer fdSocket over unsafeFdSocket
+      url = https://github.com/snapframework/snap-server/pull/126/commits/410de2df123b1d56b3093720e9c6a1ad79fe9de6.patch;
+      sha256 = "08psvw0xny64q4bw1nwg01pkzh01ak542lw6k1ps7cdcwaxk0n94";
+    })];
+  });
+
+  # https://github.com/haskell-servant/servant-blaze/issues/17
+  servant-blaze = doJailbreak super.servant-blaze;
+
+  # https://github.com/haskell-servant/servant-ekg/issues/15
+  servant-ekg = doJailbreak super.servant-ekg;
 
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
new file mode 100644
index 00000000000..e2164f8686f
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -0,0 +1,44 @@
+{ pkgs, haskellLib }:
+
+with haskellLib;
+
+self: super: {
+
+  # This compiler version needs llvm 9.x.
+  llvmPackages = pkgs.llvmPackages_9;
+
+  # Disable GHC 8.10.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-compact = null;
+  ghc-heap = null;
+  ghc-prim = null;
+  ghci = null;
+  haskeline = null;
+  hpc = null;
+  integer-gmp = null;
+  libiserv = null;
+  mtl = null;
+  parsec = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  stm = null;
+  template-haskell = null;
+  terminfo = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+}
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 b785c531479..02f2f67462d 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -91,7 +91,7 @@ self: super: {
   microlens-th = self.microlens-th_0_4_3_2;
   network = self.network_3_1_1_1;
   optparse-applicative = self.optparse-applicative_0_15_1_0;
-  pandoc = self.pandoc_2_9;
+  pandoc = self.pandoc_2_9_1;
   pandoc-types = self.pandoc-types_1_20;
   prettyprinter = self.prettyprinter_1_5_1;
   primitive = dontCheck super.primitive_0_7_0_0;  # evaluating the test suite gives an infinite recursion
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 0645db14eb0..ef6eada4c2d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,7 +43,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.17
+  # LTS Haskell 14.18
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -73,7 +73,7 @@ default-package-overrides:
   - alarmclock ==0.7.0.2
   - alerts ==0.1.2.0
   - alex ==3.2.5
-  - alg ==0.2.12.0
+  - alg ==0.2.13.0
   - algebraic-graphs ==0.4
   - Allure ==0.9.5.0
   - almost-fix ==0.0.2
@@ -202,7 +202,7 @@ default-package-overrides:
   - bitcoin-types ==0.9.2
   - bits ==0.5.2
   - bitset-word8 ==0.1.1.1
-  - bits-extra ==0.0.1.4
+  - bits-extra ==0.0.1.5
   - bitvec ==1.0.2.0
   - bitx-bitcoin ==0.12.0.0
   - blake2 ==0.3.0
@@ -235,7 +235,7 @@ default-package-overrides:
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
   - brick ==0.47.1
-  - brittany ==0.12.1.0
+  - brittany ==0.12.1.1
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.3.2.8
   - bson-lens ==0.1.1
@@ -266,8 +266,8 @@ default-package-overrides:
   - cabal2spec ==2.2.2.1
   - cabal-doctest ==1.0.8
   - cabal-file-th ==0.2.6
-  - cabal-rpm ==1.0.1
-  - cache ==0.1.2.0
+  - cabal-rpm ==1.0.2
+  - cache ==0.1.3.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.1.0
@@ -371,7 +371,7 @@ default-package-overrides:
   - concurrent-split ==0.0.1.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
-  - conduit ==1.3.1.1
+  - conduit ==1.3.1.2
   - conduit-algorithms ==0.0.11.0
   - conduit-combinators ==1.3.0
   - conduit-concurrent-map ==0.1.1
@@ -523,9 +523,9 @@ default-package-overrides:
   - diagrams-core ==1.4.2
   - diagrams-lib ==1.4.3
   - diagrams-postscript ==1.4.1
-  - diagrams-rasterific ==1.4.1.1
+  - diagrams-rasterific ==1.4.2
   - diagrams-solve ==0.1.1
-  - diagrams-svg ==1.4.2
+  - diagrams-svg ==1.4.3
   - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.3.4
@@ -595,7 +595,6 @@ default-package-overrides:
   - elm-bridge ==0.5.2
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
-  - elm-street ==0.0.1
   - emacs-module ==0.1.1
   - email-validate ==2.3.2.12
   - emd ==0.1.5.1
@@ -662,7 +661,7 @@ default-package-overrides:
   - fgl ==5.7.0.1
   - fib ==0.1
   - filecache ==0.4.1
-  - file-embed ==0.0.11
+  - file-embed ==0.0.11.1
   - file-embed-lzma ==0
   - filelock ==0.1.1.4
   - filemanip ==0.3.6.3
@@ -670,8 +669,8 @@ default-package-overrides:
   - filepattern ==0.1.1
   - fileplow ==0.1.0.0
   - filter-logger ==0.6.0.0
-  - filtrable ==0.1.2.0
-  - fin ==0.1
+  - filtrable ==0.1.3.0
+  - fin ==0.1.1
   - FindBin ==0.0.5
   - fingertree ==0.1.4.2
   - finite-typelits ==0.1.4.2
@@ -718,7 +717,7 @@ default-package-overrides:
   - free-vl ==0.1.4
   - friendly-time ==0.4.1
   - frisby ==0.2.2
-  - from-sum ==0.2.1.0
+  - from-sum ==0.2.2.0
   - frontmatter ==0.1.0.2
   - fsnotify ==0.3.0.1
   - fsnotify-conduit ==0.1.1.1
@@ -854,7 +853,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - hapistrano ==0.3.10.0
   - happy ==1.19.12
-  - hasbolt ==0.1.3.6
+  - hasbolt ==0.1.4.0
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
   - hashids ==1.0.2.4
@@ -895,7 +894,7 @@ default-package-overrides:
   - hedgehog ==1.0.1
   - hedgehog-corpus ==0.1.0
   - hedgehog-fn ==1.0
-  - hedis ==0.12.10
+  - hedis ==0.12.11
   - hedn ==0.2.0.1
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -1005,7 +1004,7 @@ default-package-overrides:
   - html-entities ==1.1.4.3
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
-  - http2 ==1.6.5
+  - http2 ==2.0.3
   - HTTP ==4000.3.14
   - http-api-data ==0.4.1.1
   - http-client ==0.6.4
@@ -1376,7 +1375,8 @@ default-package-overrides:
   - mono-traversable ==1.0.13.0
   - mono-traversable-instances ==0.1.0.0
   - mono-traversable-keys ==0.1.0
-  - more-containers ==0.2.1.2
+  - more-containers ==0.2.2.0
+  - morpheus-graphql ==0.8.0
   - mountpoints ==1.0.2
   - mpi-hs ==0.5.3.0
   - msgpack ==1.0.1.0
@@ -1387,12 +1387,12 @@ default-package-overrides:
   - multiarg ==0.30.0.10
   - multimap ==1.2.1
   - multipart ==0.1.3
-  - multiset ==0.3.4.1
+  - multiset ==0.3.4.3
   - multistate ==0.8.0.2
   - murmur3 ==1.0.3
   - murmur-hash ==0.1.0.9
   - MusicBrainz ==0.4.1
-  - mustache ==2.3.0
+  - mustache ==2.3.1
   - mutable-containers ==0.3.4
   - mwc-probability ==2.1.0
   - mwc-probability-transition ==0.4
@@ -1558,7 +1558,7 @@ default-package-overrides:
   - persistable-record ==0.6.0.4
   - persistable-types-HDBC-pg ==0.0.3.5
   - persistent ==2.9.2
-  - persistent-iproute ==0.2.3
+  - persistent-iproute ==0.2.4
   - persistent-mysql ==2.9.0
   - persistent-mysql-haskell ==0.5.2
   - persistent-pagination ==0.1.1.0
@@ -1681,10 +1681,11 @@ default-package-overrides:
   - pure-zlib ==0.6.6
   - pushbullet-types ==0.4.1.0
   - pusher-http-haskell ==1.5.1.11
+  - PyF ==0.8.1.2
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qnap-decrypt ==0.3.5
-  - qrcode-core ==0.9.1
+  - qrcode-core ==0.9.2
   - qrcode-juicypixels ==0.8.0
   - quadratic-irrational ==0.1.0
   - QuasiText ==0.1.2.6
@@ -1858,7 +1859,6 @@ default-package-overrides:
   - serialise ==0.2.1.0
   - servant ==0.16.2
   - servant-auth ==0.3.2.0
-  - servant-auth-client ==0.4.0.0
   - servant-auth-docs ==0.2.10.0
   - servant-auth-server ==0.4.4.0
   - servant-auth-swagger ==0.2.10.0
@@ -1923,7 +1923,7 @@ default-package-overrides:
   - silently ==1.2.5.1
   - simple ==0.11.3
   - simple-cabal ==0.1.1
-  - simple-cmd ==0.2.0.1
+  - simple-cmd ==0.2.1
   - simple-cmd-args ==0.1.4
   - simple-log ==0.9.12
   - simple-reflect ==0.3.3
@@ -1986,7 +1986,7 @@ default-package-overrides:
   - StateVar ==1.2
   - static-text ==0.2.0.4
   - statistics ==0.15.1.1
-  - stb-image-redux ==0.2.1.2
+  - stb-image-redux ==0.2.1.3
   - step-function ==0.2
   - stm-chans ==3.0.0.4
   - stm-conduit ==4.0.1
@@ -2148,6 +2148,7 @@ default-package-overrides:
   - th-test-utils ==1.0.1
   - th-utilities ==0.2.3.1
   - thyme ==0.3.5.5
+  - tidal ==1.4.5
   - tile ==0.3.0.0
   - time-compat ==1.9.2.2
   - timeit ==2.0
@@ -2278,7 +2279,7 @@ default-package-overrides:
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.1.1
-  - util ==0.1.14.1
+  - util ==0.1.15.0
   - utility-ht ==0.0.14
   - uuid ==1.3.13
   - uuid-types ==1.0.3
@@ -2341,8 +2342,8 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-transformers ==0.1.0
   - wai-websockets ==3.0.1.2
-  - warp ==3.2.28
-  - warp-tls ==3.2.8
+  - warp ==3.3.5
+  - warp-tls ==3.2.9
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
   - wcwidth ==0.0.2
@@ -2367,7 +2368,6 @@ default-package-overrides:
   - windns ==0.1.0.1
   - winery ==1.1.3
   - wire-streams ==0.1.1.0
-  - witherable ==0.3.4
   - with-location ==0.1.0
   - witness ==0.4
   - wizards ==1.0.3
@@ -2489,6 +2489,7 @@ extra-packages:
   - control-monad-free < 0.6            # newer versions don't compile with anything but GHC 7.8.x
   - 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.
   - 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
@@ -2575,6 +2576,8 @@ package-maintainers:
     - elm-export-persistent
     - pipes-mongodb
     - streaming-wai
+  kiwi:
+    - glirc
   psibi:
     - path-pieces
     - persistent
@@ -5080,7 +5083,6 @@ broken-packages:
   - gli
   - glicko
   - glider-nlp
-  - glirc
   - GLMatrix
   - glob-posix
   - global
@@ -6438,6 +6440,7 @@ broken-packages:
   - ip2proxy
   - ipatch
   - ipc
+  - ipfs
   - ipld-cid
   - ipopt-hs
   - ipprint
@@ -6530,6 +6533,7 @@ broken-packages:
   - jmonkey
   - jni
   - jobqueue
+  - jobs-ui
   - join
   - join-api
   - joinlist
@@ -7247,6 +7251,8 @@ broken-packages:
   - mmsyn2
   - mmsyn4
   - mmsyn6ukr
+  - mmsyn7h
+  - mmsyn7ukr
   - mmtf
   - mmtl
   - mmtl-base
@@ -8063,7 +8069,6 @@ broken-packages:
   - postgresql-simple-queue
   - postgresql-simple-sop
   - postgresql-simple-typed
-  - postgresql-simple-url
   - postgresql-typed
   - postgresql-typed-lifted
   - postgrest
@@ -9199,7 +9204,6 @@ broken-packages:
   - stack-run-auto
   - stack-type
   - stack-wrapper
-  - stack2cabal
   - stack2nix
   - stackage
   - stackage-build-plan
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 472e4c66fc7..6886a35c0a8 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -592,12 +592,19 @@ self: super: builtins.intersectAttrs super {
       '';
     });
 
-  # On Darwin, git-annex mis-detects options to `cp`, so we wrap the binary to
-  # ensure it uses Nixpkgs' coreutils.
   git-annex = with pkgs;
     if (!stdenv.isLinux) then
       let path = stdenv.lib.makeBinPath [ coreutils ];
       in overrideCabal (addBuildTool super.git-annex makeWrapper) (_drv: {
+        # This is an instance of https://github.com/NixOS/nix/pull/1085
+        # Fails with:
+        #   gpg: can't connect to the agent: File name too long
+        postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+          substituteInPlace Test.hs \
+            --replace ', testCase "crypto" test_crypto' ""
+        '';
+        # On Darwin, git-annex mis-detects options to `cp`, so we wrap the
+        # binary to ensure it uses Nixpkgs' coreutils.
         postFixup = ''
           wrapProgram $out/bin/git-annex \
             --prefix PATH : "${path}"
@@ -644,8 +651,8 @@ self: super: builtins.intersectAttrs super {
       # we can safely jailbreak spago and use the older directory package from
       # LTS-14.
       spagoWithOverrides = doJailbreak (super.spago.override {
-        # spago requires the latest version of dhall.
-        directory = self.dhall_1_28_0;
+        # spago requires dhall_1_27_0.
+        dhall = self.dhall_1_27_0;
       });
 
       docsSearchAppJsFile = pkgs.fetchurl {
@@ -683,13 +690,9 @@ self: super: builtins.intersectAttrs super {
         '';
       });
 
-      # Haddock generation is broken for spago.
-      # https://github.com/spacchetti/spago/issues/511
-      spagoWithoutHaddocks = dontHaddock spagoFixHpack;
-
       # Because of the problem above with pulling in hspec defaults to the
       # package.yaml file, the tests are disabled.
-      spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
+      spagoWithoutChecks = dontCheck spagoFixHpack;
     in
     spagoWithoutChecks;
 }
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index bf16e534f3e..2ae33138696 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -40,7 +40,7 @@ in
 # They must be propagated to the environment of any executable linking with the library
 , libraryFrameworkDepends ? [], executableFrameworkDepends ? []
 , homepage ? "https://hackage.haskell.org/package/${pname}"
-, platforms ? with stdenv.lib.platforms; unix ++ windows # GHC can cross-compile
+, platforms ? with stdenv.lib.platforms; all # GHC can cross-compile
 , hydraPlatforms ? null
 , hyperlinkSource ? true
 , isExecutable ? false, isLibrary ? !isExecutable
@@ -131,9 +131,13 @@ let
                    '';
 
   crossCabalFlags = [
-    "--with-ghc=${ghc.targetPrefix}ghc"
+    "--with-ghc=${ghcCommand}"
     "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
-    "--with-gcc=${stdenv.cc.targetPrefix}cc"
+    # Pass the "wrong" C compiler rather than none at all so packages that just
+    # use the C preproccessor still work, see
+    # https://github.com/haskell/cabal/issues/6466 for details.
+    "--with-gcc=${(if stdenv.hasCC then stdenv else buildPackages.stdenv).cc.targetPrefix}cc"
+  ] ++ optionals stdenv.hasCC [
     "--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
     "--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
     # use the one that comes with the cross compiler.
@@ -156,7 +160,9 @@ let
     "--libsubdir=\\$abi/\\$libname"
     (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
     (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
+  ] ++ optionals stdenv.hasCC [
     "--with-gcc=$CC" # Clang won't work without that extra information.
+  ] ++ [
     "--package-db=$packageConfDir"
     (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
     (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 0ec409dc8ed..ea742c3e259 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1611,8 +1611,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseEnsembl";
-       version = "0.1.0.0";
-       sha256 = "1knbi8azq5n8kdgmbx4f2d14x6z94vj540ickq4dcspmbvslr0kf";
+       version = "0.2.0.0";
+       sha256 = "0nfgadp5708rb3yzsq0cgiqkpv0rnh3fqil118zlw8akq61rd1m3";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring cereal containers deepseq
          directory either-unwrap text vector word8
@@ -12488,6 +12488,8 @@ self: {
        pname = "ListLike";
        version = "4.6.3";
        sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
+       revision = "1";
+       editedCabalFile = "1xi5mlk6jm73fdxsjcp41ffr3ygwwykcjf20c122k7hgpkzg1lms";
        libraryHaskellDepends = [
          array base bytestring containers deepseq dlist fmlist text
          utf8-string vector
@@ -13186,10 +13188,8 @@ self: {
      }:
      mkDerivation {
        pname = "MiniAgda";
-       version = "0.2019.3.29";
-       sha256 = "1lix2p2ly6pjag1gkqfjfdm1jnq5rd9hqgr940jbkgyna75hk9a9";
-       revision = "1";
-       editedCabalFile = "1hiz5g69n1fwknwq7lhq01kzn4cm53zd6l62r747pdc30xm04rqr";
+       version = "0.2019.12.13";
+       sha256 = "15v5yijhylrwy0lc4n9a8p75dadr9xc57xajgir3jg618l0wh5lc";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -14075,7 +14075,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) net_snmp;};
+     }) {net_snmp = null;};
 
   "Network-NineP" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
@@ -17571,6 +17571,8 @@ self: {
        pname = "SciBaseTypes";
        version = "0.1.0.0";
        sha256 = "1c0cgzxhamgswn1zhrarbx5vrmzl160nk8dadzi6mphwd2rv6lfr";
+       revision = "1";
+       editedCabalFile = "025v2s4097mzqyf5bzzz2xnxcc4nckcvaz72pnrxs3d8bbszd26i";
        libraryHaskellDepends = [
          aeson base binary cereal deepseq hashable lens log-domain mtl
          semirings vector vector-th-unbox
@@ -18589,17 +18591,16 @@ self: {
      }) {};
 
   "StockholmAlignment" = callPackage
-    ({ mkDerivation, base, colour, diagrams-cairo, diagrams-lib
-     , directory, either-unwrap, filepath, parsec, ParsecTools, SVGFonts
-     , text, vector
+    ({ mkDerivation, base, directory, either-unwrap, filepath, parsec
+     , ParsecTools, text, vector
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.2.0";
-       sha256 = "0zz437d771cb4zpjzcddjl8xvz9qxmj1pyxql70lqczvqrk6k78y";
+       version = "1.3.0";
+       sha256 = "1wc23pmcw246na7zwd6ka6v00kxn754pr3b069y7zn8l0lxby45p";
        libraryHaskellDepends = [
-         base colour diagrams-cairo diagrams-lib directory either-unwrap
-         filepath parsec ParsecTools SVGFonts text vector
+         base directory either-unwrap filepath parsec ParsecTools text
+         vector
        ];
        description = "Libary for Stockholm aligmnent format";
        license = stdenv.lib.licenses.gpl3;
@@ -19092,14 +19093,14 @@ self: {
 
   "Taxonomy" = callPackage
     ({ mkDerivation, aeson, base, bytestring, either-unwrap, fgl
-     , graphviz, parsec, text, vector
+     , parsec, text, vector
      }:
      mkDerivation {
        pname = "Taxonomy";
-       version = "2.0.0";
-       sha256 = "1b2x0lkg5pgjk1jyanbi8g9rs1sr7llihyjhdfsg6fajklrzh3m9";
+       version = "2.1.0";
+       sha256 = "1l64ma631q1gh57gwg09mpxz66hkhqbc9f9dn2bhy681p8ia7j50";
        libraryHaskellDepends = [
-         aeson base bytestring either-unwrap fgl graphviz parsec text vector
+         aeson base bytestring either-unwrap fgl parsec text vector
        ];
        description = "Libary for parsing, processing and vizualization of taxonomy data";
        license = stdenv.lib.licenses.gpl3;
@@ -23561,16 +23562,17 @@ self: {
   "aeson-gadt-th" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, containers, dependent-map
      , dependent-sum, dependent-sum-template, hspec, HUnit
-     , template-haskell, transformers
+     , template-haskell, th-abstraction, th-extras, transformers
      }:
      mkDerivation {
        pname = "aeson-gadt-th";
-       version = "0.2.1.2";
-       sha256 = "1azms3ilfkqvyxxm2zjr55wali8vxx294lv924wn4ni5rqxhmjcq";
+       version = "0.2.2";
+       sha256 = "1nk0897569cldp7fhzc51mj8f93dx3nwk0fxy2pr41wmrbqrxw1k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers dependent-sum template-haskell transformers
+         aeson base containers dependent-sum template-haskell th-abstraction
+         th-extras transformers
        ];
        executableHaskellDepends = [
          aeson base dependent-map dependent-sum dependent-sum-template
@@ -24864,8 +24866,21 @@ self: {
     ({ mkDerivation, base, dual, util }:
      mkDerivation {
        pname = "alg";
-       version = "0.2.12.0";
-       sha256 = "0dglxav21z60jsjh6s14v466bg0z3m3wqx1c78kxk9cziz27dm3s";
+       version = "0.2.13.0";
+       sha256 = "1xv9nr21jvgk94d0cdc3xlp0fs7v3h4gcrx45aaqm6d2203lshz0";
+       libraryHaskellDepends = [ base dual util ];
+       description = "Algebraic structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "alg_0_2_13_1" = callPackage
+    ({ mkDerivation, base, dual, util }:
+     mkDerivation {
+       pname = "alg";
+       version = "0.2.13.1";
+       sha256 = "0764j2njb86qdskck3nvbrh61v99hqdhf8aj9irblm6smdlrv4l3";
        libraryHaskellDepends = [ base dual util ];
        description = "Algebraic structures";
        license = stdenv.lib.licenses.bsd3;
@@ -28142,6 +28157,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "amqp_0_19_0" = callPackage
+    ({ mkDerivation, base, binary, bytestring, clock, connection
+     , containers, data-binary-ieee754, hspec, hspec-expectations
+     , monad-control, network, network-uri, split, stm, text, vector
+     , xml
+     }:
+     mkDerivation {
+       pname = "amqp";
+       version = "0.19.0";
+       sha256 = "1v2jwf9y6mw9f89a9ca66p42da8g5n1ain89gjr7sv6v6r2jxinj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 monad-control network network-uri split stm
+         text vector
+       ];
+       executableHaskellDepends = [ base containers xml ];
+       testHaskellDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 hspec hspec-expectations network network-uri
+         split stm text vector
+       ];
+       description = "Client library for AMQP servers (currently only RabbitMQ)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amqp-conduit" = callPackage
     ({ mkDerivation, amqp, base, bytestring, conduit, exceptions, hspec
      , HUnit, lifted-base, monad-control, mtl, resourcet, text
@@ -28166,18 +28209,19 @@ self: {
 
   "amqp-utils" = callPackage
     ({ mkDerivation, amqp, base, bytestring, connection, containers
-     , data-default-class, hinotify, magic, network, process, text, time
-     , tls, unix, x509-system
+     , data-default-class, directory, hinotify, magic, network, process
+     , text, time, tls, unix, utf8-string, x509-system
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.4.1.0";
-       sha256 = "1p0pvl88xp9m0b9k7nqxln3702kp4lk05f60mag3swa09rvzcg47";
+       version = "0.4.2.0";
+       sha256 = "1fycix8q5mbx975jwv659d0ag4h6yk7a6saxn4jy1xi8z8qsvdjr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          amqp base bytestring connection containers data-default-class
-         hinotify magic network process text time tls unix x509-system
+         directory hinotify magic network process text time tls unix
+         utf8-string x509-system
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
@@ -28215,8 +28259,8 @@ self: {
     ({ mkDerivation, base, deepseq, parsec }:
      mkDerivation {
        pname = "amrun";
-       version = "0.0.0.5";
-       sha256 = "1y0azhsjarv26lkny1wckdz45bs87wbga29hbg6w59wc2gjkbxqz";
+       version = "0.0.0.6";
+       sha256 = "01hnjzlww282hjlc6vbn51qps577hx4ll3pz4g5kn0r4h2bylad9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base deepseq parsec ];
@@ -29352,8 +29396,8 @@ self: {
      }:
      mkDerivation {
        pname = "aosd";
-       version = "0.2.1";
-       sha256 = "0zma3ypjnqn8c9pk4zfyzzwn27l3wb6l6xnjjydn90fxsmpa1vh6";
+       version = "0.2.2";
+       sha256 = "1lx3afjniaj1dinik8mnqy8aam8ads55k7sr4hjmcqx85xwl4ssx";
        libraryHaskellDepends = [
          base bindings-DSL cairo colour monad-control pango transformers X11
        ];
@@ -30766,8 +30810,8 @@ self: {
      }:
      mkDerivation {
        pname = "archive-sig";
-       version = "0.2.0.2";
-       sha256 = "0pfznlkw0vj8y1ahsmiy904hkhkf76qgqlp6h3hlgzrmhdy5yz9d";
+       version = "0.2.1.2";
+       sha256 = "03fwzl7pkb025adzv1jzh96k0h91b1w7arxza7q53i492n96qg8i";
        libraryHaskellDepends = [
          base bytestring composition-prelude dir-traverse
        ];
@@ -31094,20 +31138,19 @@ self: {
      }) {};
 
   "arith-encode" = callPackage
-    ({ mkDerivation, arithmoi, array, base, binary, Cabal, containers
-     , fgl, hashable, HUnit-Plus, unordered-containers
+    ({ mkDerivation, arithmoi, array, base, binary, containers
+     , hashable, HUnit-Plus, integer-logarithms, unordered-containers
      }:
      mkDerivation {
        pname = "arith-encode";
-       version = "1.0.0";
-       sha256 = "1wqm2jcc2dac31gvad6pmnq0wbajpj488h93xl93vfipsbak0cm8";
+       version = "1.0.1";
+       sha256 = "0dpfhn2xwjjf318f431s8xgnr827ayjak8s8cs6672la8rqgfpb5";
        libraryHaskellDepends = [
-         arithmoi array base binary Cabal containers fgl hashable
+         arithmoi array base binary containers hashable integer-logarithms
          unordered-containers
        ];
        testHaskellDepends = [
-         arithmoi array base binary Cabal containers fgl hashable HUnit-Plus
-         unordered-containers
+         base binary containers hashable HUnit-Plus unordered-containers
        ];
        description = "A practical arithmetic encoding (aka Godel numbering) library";
        license = stdenv.lib.licenses.bsd3;
@@ -31722,6 +31765,21 @@ self: {
        broken = true;
      }) {};
 
+  "ascii-holidays" = callPackage
+    ({ mkDerivation, base, random, random-shuffle, terminfo, time }:
+     mkDerivation {
+       pname = "ascii-holidays";
+       version = "0.1.0.1";
+       sha256 = "10ply90c2dwfgfz419q9nklm26w2xlxkz6ynqn9qfl7p9j6rhix0";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base random random-shuffle terminfo time
+       ];
+       description = "ASCII animations for the holidays!";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "ascii-progress" = callPackage
     ({ mkDerivation, async, base, concurrent-output, data-default
      , hspec, QuickCheck, time
@@ -32968,8 +33026,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.4.0.1";
-       sha256 = "0lfmlsnxa7fvifqay4xvnkl8cpbx7a6vbfb0szvb5j0nfa8607n6";
+       version = "3.4.0.5";
+       sha256 = "1hqaz5sybj9cyd17k1883nq936jf6815sprxdgbdrbw7rsfx39al";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -34117,6 +34175,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro-piper" = callPackage
+    ({ mkDerivation, aeson, avro, base, bytestring, conduit
+     , conduit-combinators, conduit-extra, hedgehog, hspec
+     , hw-hspec-hedgehog, hw-kafka-avro, mtl, optparse-applicative
+     , scientific, stringsearch, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "avro-piper";
+       version = "1.0.1";
+       sha256 = "0py25d3y7jx9amcydfnkwipq3rhqpimh18qjvfj1jls8yi9jkvp0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hw-kafka-avro mtl optparse-applicative scientific
+         stringsearch text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hw-kafka-avro mtl optparse-applicative scientific
+         stringsearch text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson avro base bytestring conduit conduit-combinators
+         conduit-extra hedgehog hspec hw-hspec-hedgehog hw-kafka-avro mtl
+         optparse-applicative scientific stringsearch text
+         unordered-containers
+       ];
+       description = "Tool for decoding avro";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "avwx" = callPackage
     ({ mkDerivation, attoparsec, base, HTTP, lens, optparse-applicative
      , parsers, pretty-show, text
@@ -35656,6 +35746,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "barbies-th" = callPackage
+    ({ mkDerivation, barbies, base, template-haskell }:
+     mkDerivation {
+       pname = "barbies-th";
+       version = "0";
+       sha256 = "12h6yzl1rqi24ybif5bciljazjxnbvhq5wi9iyjg8zhjmklb6sgr";
+       libraryHaskellDepends = [ barbies base template-haskell ];
+       testHaskellDepends = [ barbies base ];
+       description = "Create strippable HKD via TH";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "barbly" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring, mtl
      , optparse-applicative, shh, text
@@ -40281,24 +40383,6 @@ self: {
      }) {};
 
   "bits-extra" = callPackage
-    ({ mkDerivation, base, criterion, ghc-prim, hedgehog, hspec
-     , hspec-discover, hw-hedgehog, hw-hspec-hedgehog, vector
-     }:
-     mkDerivation {
-       pname = "bits-extra";
-       version = "0.0.1.4";
-       sha256 = "1hkl71661hh8czd7hrfwj48blav4g3jdy3nl06bw2iw8bkl00nz2";
-       libraryHaskellDepends = [ base ghc-prim vector ];
-       testHaskellDepends = [
-         base ghc-prim hedgehog hspec hw-hedgehog hw-hspec-hedgehog
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
-       description = "Useful bitwise operations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bits-extra_0_0_1_5" = callPackage
     ({ mkDerivation, base, criterion, doctest, doctest-discover
      , ghc-prim, hedgehog, hspec, hspec-discover, hw-hedgehog
      , hw-hspec-hedgehog, vector
@@ -40316,7 +40400,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
        description = "Useful bitwise operations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bits-extras" = callPackage
@@ -40405,8 +40488,8 @@ self: {
      }:
      mkDerivation {
        pname = "bitstream";
-       version = "0.2.0.4";
-       sha256 = "1j00r6jv9yp0h476gz7yalrlnxhkrdrl1w73d3zl98kyf207q2sy";
+       version = "0.3.0.0";
+       sha256 = "12cyvrd7za5zh1idi5q4w0qbv0l4kjlsjascz6z4w2877zji7bvh";
        libraryHaskellDepends = [
          base base-unicode-symbols bytestring vector
        ];
@@ -42215,6 +42298,8 @@ self: {
        pname = "boots-app";
        version = "0.2.0.1";
        sha256 = "0wk177f6ljcqd0ya7cddvx3i6sdwx0wl9fz1idzfa8klb8pnkghh";
+       revision = "1";
+       editedCabalFile = "0a69kvlilg1nmyxvlbm79hidg0zwjrgd556nnl73k08mgsk2xj1v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -43068,45 +43153,6 @@ self: {
      }:
      mkDerivation {
        pname = "brittany";
-       version = "0.12.1.0";
-       sha256 = "1r5nbw63hv5nq02lx6igin70lbzbdglldb2lf1m52jpiwwz5j0i4";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths monad-memo mtl multistate
-         neat-interpolation pretty random safe semigroups strict syb text
-         transformers uniplate unsafe yaml
-       ];
-       executableHaskellDepends = [
-         aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths monad-memo mtl multistate
-         neat-interpolation pretty safe semigroups strict syb text
-         transformers uniplate unsafe yaml
-       ];
-       testHaskellDepends = [
-         aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths hspec monad-memo mtl multistate
-         neat-interpolation parsec pretty safe semigroups strict syb text
-         transformers uniplate unsafe yaml
-       ];
-       description = "Haskell source code formatter";
-       license = stdenv.lib.licenses.agpl3;
-     }) {};
-
-  "brittany_0_12_1_1" = callPackage
-    ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
-     , containers, czipwith, data-tree-print, deepseq, directory, extra
-     , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
-     , monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
-     , random, safe, semigroups, strict, syb, text, transformers
-     , uniplate, unsafe, yaml
-     }:
-     mkDerivation {
-       pname = "brittany";
        version = "0.12.1.1";
        sha256 = "0nw7ymdb7xam634w42l1xjgyvpla8grcg02aj19fscw2fn9gfh7z";
        isLibrary = true;
@@ -43134,7 +43180,6 @@ self: {
        ];
        description = "Haskell source code formatter";
        license = stdenv.lib.licenses.agpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "broadcast-chan" = callPackage
@@ -45953,8 +45998,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-macosx";
-       version = "0.2.4.1";
-       sha256 = "01l0m11q5knq1n9vx73515dpzw1mwxf7qin8qfb5ci21yxg91mww";
+       version = "0.2.4.2";
+       sha256 = "1ah1bj32xcjqc90cqc7y5mkyg985h8ffb6nbbxlzxfr0a3nkzka8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46095,28 +46140,6 @@ self: {
 
   "cabal-rpm" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , http-client, http-client-tls, http-conduit, process, simple-cabal
-     , simple-cmd, simple-cmd-args, time, unix
-     }:
-     mkDerivation {
-       pname = "cabal-rpm";
-       version = "1.0.1";
-       sha256 = "0p0z5yar9dzbssqy1flwvj15gnfyi708n9pf8ij8h15bya9qrg3a";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base bytestring Cabal directory filepath http-client
-         http-client-tls http-conduit 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-rpm_1_0_2" = 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
      }:
@@ -46648,22 +46671,6 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.2.0";
-       sha256 = "12mxziwz8qn26v5xkp0bh13jqf9hd8pi9flm68nz82p15vhcs01s";
-       libraryHaskellDepends = [
-         base clock hashable stm transformers unordered-containers
-       ];
-       testHaskellDepends = [ base clock hspec stm transformers ];
-       description = "An in-memory key/value store with expiration support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cache_0_1_3_0" = callPackage
-    ({ mkDerivation, base, clock, hashable, hspec, stm, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "cache";
        version = "0.1.3.0";
        sha256 = "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2";
        libraryHaskellDepends = [
@@ -46672,7 +46679,6 @@ self: {
        testHaskellDepends = [ base clock hspec stm transformers ];
        description = "An in-memory key/value store with expiration support";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cached" = callPackage
@@ -46874,8 +46880,8 @@ self: {
      }:
      mkDerivation {
        pname = "cairo";
-       version = "0.13.6.1";
-       sha256 = "04vjia6pfx5nkrjvxrjj774gsljmhzlyjm8ir88l32ygry2f0rbg";
+       version = "0.13.8.0";
+       sha256 = "09g93jzackry9yi4xsd5d6h75z0r7mbw2s2w7wd2af4dmp76l2d9";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -47350,8 +47356,8 @@ self: {
     ({ mkDerivation, base, deepseq, hspec, HUnit, mtl }:
      mkDerivation {
        pname = "can-i-haz";
-       version = "0.3.0.0";
-       sha256 = "0m77szr91q8p7n9c91chafzypiadi565a4k3y949m1cd3r3b0pjr";
+       version = "0.3.1.0";
+       sha256 = "0pwwl5pawvd1sygc8k7ichfk15inhcy4has40zplqqws5lmm6mz8";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base deepseq hspec HUnit mtl ];
        description = "Generic implementation of the Has and CoHas patterns";
@@ -48700,6 +48706,19 @@ self: {
        broken = true;
      }) {};
 
+  "category_0_2_5_0" = callPackage
+    ({ mkDerivation, alg, base, dual, transformers }:
+     mkDerivation {
+       pname = "category";
+       version = "0.2.5.0";
+       sha256 = "0iya7q3b1z1bxv4amsibmc1lrmf7dng76nzcnanwy300jm1n42w7";
+       libraryHaskellDepends = [ alg base dual transformers ];
+       description = "Categorical types and classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "category-extras" = callPackage
     ({ mkDerivation, adjunctions, bifunctors, categories, comonad
      , comonad-extras, comonad-transformers, comonads-fd, contravariant
@@ -52483,15 +52502,12 @@ self: {
      }) {};
 
   "cli-setup" = callPackage
-    ({ mkDerivation, base, bytestring, directory, file-embed, process
-     }:
+    ({ mkDerivation, base, directory, process }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.1.2";
-       sha256 = "0fh9lp8r73mslhwxcjpfzvm0j0qbq0prr4bkkwq2v16izg14ccda";
-       libraryHaskellDepends = [
-         base bytestring directory file-embed process
-       ];
+       version = "0.2.1.4";
+       sha256 = "09ycy8500si810ysn70khc2np1zy21a1647kva8lkcj4pjbb1bvx";
+       libraryHaskellDepends = [ base directory process ];
        description = "Helper setup scripts for packaging command-line tools";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -53777,8 +53793,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.3";
-       sha256 = "0z4im9z5yi18kdw99d50zbcala619hba3iwka7ny5krladnz75ha";
+       version = "0.1.2.5";
+       sha256 = "1md3dyfaybhmfprw3qdwqvlh0r73wy8smf8j8jkdrlkxqw6vhd1f";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -53801,8 +53817,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-tools";
-       version = "0.1.2.1";
-       sha256 = "0qd3w9y3fps7kkpkvdh3wd54mm9z6ikr16f9f8jvn2gza0xc4l0m";
+       version = "0.1.2.2";
+       sha256 = "07vazc4k8y867ba0m3pd177087cwdkdjmd5zkj39ravg44yx6hhm";
        libraryHaskellDepends = [
          array base bytestring cobot containers data-default data-msgpack
          deepseq lens mtl regex-tdfa text
@@ -54138,6 +54154,44 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "coformat" = callPackage
+    ({ mkDerivation, aeson, async, async-pool, base, bytestring
+     , can-i-haz, command-qq, containers, dom-selector, extra
+     , fast-logger, generic-data, hashable, html-conduit, interpolate
+     , lens, lens-aeson, monad-logger, mtl, optparse-generic, scientific
+     , temporary, text, unordered-containers, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "coformat";
+       version = "0.2.1.0";
+       sha256 = "1s6nh389d6p8ll1v32hifamb1a8vhd194v86ff8r0in7bzc54kfj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       testHaskellDepends = [
+         aeson async async-pool base bytestring can-i-haz command-qq
+         containers dom-selector extra fast-logger generic-data hashable
+         html-conduit interpolate lens lens-aeson monad-logger mtl
+         optparse-generic scientific temporary text unordered-containers
+         xml-conduit yaml
+       ];
+       description = "Generate clang-format config based on some existing code base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cofunctor" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -56855,8 +56909,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.3.1.1";
-       sha256 = "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4";
+       version = "1.3.1.2";
+       sha256 = "12c21vrij63z60y3xd0dkg0da8sdhfq6nj5s3p5qknys5klwpqkq";
        libraryHaskellDepends = [
          base bytestring directory exceptions filepath mono-traversable mtl
          primitive resourcet text transformers unix unliftio-core vector
@@ -59337,8 +59391,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.1";
-       sha256 = "1cwypmis5dcdzjasq03wcas4lnml7l4a4ymw1v55aybfmz94mxc3";
+       version = "3.1.1";
+       sha256 = "0hja6fp7n4zrhm73fvjkisspc7cyp53blhn4maqis8lw27svjq66";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -60046,8 +60100,8 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.2.3.6";
-       sha256 = "16kx2rlxkai9qswixx3145ajdnz3m0655cmv3gl37njdp3dwa8qf";
+       version = "0.2.3.7";
+       sha256 = "12hpi46p8fh36jq7xbgv16xihxx6hgpcn0bssc97zv3il4b5zk9m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68741,6 +68795,55 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall_1_27_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
+     , bytestring, case-insensitive, cborg, cborg-json, containers
+     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
+     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
+     , generic-random, hashable, haskeline, http-client, http-client-tls
+     , http-types, lens-family-core, megaparsec, memory, mockery, mtl
+     , network-uri, optparse-applicative, parsers, prettyprinter
+     , prettyprinter-ansi-terminal, profunctors, QuickCheck
+     , quickcheck-instances, repline, scientific, semigroups, serialise
+     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, th-lift-instances
+     , transformers, transformers-compat, turtle, unordered-containers
+     , uri-encode, vector
+     }:
+     mkDerivation {
+       pname = "dhall";
+       version = "1.27.0";
+       sha256 = "04hpf0g8anhynrc3gd96cg1z4qadrk2xg9094qjm68d2kv6zx2g1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal base bytestring case-insensitive
+         cborg cborg-json containers contravariant cryptonite data-fix
+         deepseq Diff directory dotgen either exceptions filepath hashable
+         haskeline http-client http-client-tls http-types lens-family-core
+         megaparsec memory mtl network-uri optparse-applicative parsers
+         prettyprinter prettyprinter-ansi-terminal profunctors repline
+         scientific serialise template-haskell text th-lift-instances
+         transformers transformers-compat unordered-containers uri-encode
+         vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring cborg containers data-fix deepseq directory doctest
+         either filepath foldl generic-random lens-family-core megaparsec
+         mockery prettyprinter QuickCheck quickcheck-instances scientific
+         semigroups serialise special-values spoon tasty
+         tasty-expected-failure tasty-hunit tasty-quickcheck text
+         transformers turtle unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers directory gauge serialise text
+       ];
+       description = "A configuration language guaranteed to terminate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall_1_28_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
@@ -69696,27 +69799,6 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-rasterific";
-       version = "1.4.1.1";
-       sha256 = "0raki8c20s40y5xy2ax8y38xl3y40fb9qv95ax3qgnmi46s8fapp";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers data-default-class diagrams-core
-         diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
-         lens mtl optparse-applicative Rasterific
-       ];
-       testHaskellDepends = [ base diagrams-core diagrams-lib ];
-       description = "Rasterific backend for diagrams";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "diagrams-rasterific_1_4_2" = callPackage
-    ({ mkDerivation, base, bytestring, containers, data-default-class
-     , diagrams-core, diagrams-lib, file-embed, filepath, FontyFruity
-     , hashable, JuicyPixels, lens, mtl, optparse-applicative
-     , Rasterific
-     }:
-     mkDerivation {
-       pname = "diagrams-rasterific";
        version = "1.4.2";
        sha256 = "161rsy3g59n3sfrbfyvd4i4hszl0zm59w21b7pk6w88n0bk8gf2l";
        libraryHaskellDepends = [
@@ -69727,7 +69809,6 @@ self: {
        testHaskellDepends = [ base diagrams-core diagrams-lib ];
        description = "Rasterific backend for diagrams";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-reflex" = callPackage
@@ -69789,27 +69870,6 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-svg";
-       version = "1.4.2";
-       sha256 = "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal";
-       revision = "2";
-       editedCabalFile = "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv";
-       libraryHaskellDepends = [
-         base base64-bytestring bytestring colour containers diagrams-core
-         diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
-         optparse-applicative semigroups split svg-builder text
-       ];
-       description = "SVG backend for diagrams drawing EDSL";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "diagrams-svg_1_4_3" = callPackage
-    ({ mkDerivation, base, base64-bytestring, bytestring, colour
-     , containers, diagrams-core, diagrams-lib, filepath, hashable
-     , JuicyPixels, lens, monoid-extras, mtl, optparse-applicative
-     , semigroups, split, svg-builder, text
-     }:
-     mkDerivation {
-       pname = "diagrams-svg";
        version = "1.4.3";
        sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
        libraryHaskellDepends = [
@@ -69819,7 +69879,6 @@ self: {
        ];
        description = "SVG backend for diagrams drawing EDSL";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-tikz" = callPackage
@@ -70772,14 +70831,14 @@ self: {
      }) {};
 
   "dir-traverse" = callPackage
-    ({ mkDerivation, base, criterion, directory, dirstream, pipes
-     , pipes-safe, system-filepath
+    ({ mkDerivation, base, criterion, directory, dirstream, filepath
+     , pipes, pipes-safe, system-filepath
      }:
      mkDerivation {
        pname = "dir-traverse";
-       version = "0.2.1.0";
-       sha256 = "08xzl64clnx3mfx5bw82kpksagyl4bajkaxmbl1dpnmdc4jz35ks";
-       libraryHaskellDepends = [ base directory ];
+       version = "0.2.2.2";
+       sha256 = "0wckqnfmdmfgp7kkvjc2pzg9610xqfnam5myv9xcq04cr3h3dy8g";
+       libraryHaskellDepends = [ base directory filepath ];
        benchmarkHaskellDepends = [
          base criterion directory dirstream pipes pipes-safe system-filepath
        ];
@@ -70929,12 +70988,12 @@ self: {
        broken = true;
      }) {};
 
-  "directory_1_3_4_0" = callPackage
+  "directory_1_3_5_0" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.3.4.0";
-       sha256 = "19akp75rb3zwjfxcjamj05br865rd54y1gbyyfrb3a9506zcpsfm";
+       version = "1.3.5.0";
+       sha256 = "0lzx67630dsvwf3iraabdsqxbpzal2irbdxav87sq9bj818v1rb9";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -74410,6 +74469,19 @@ self: {
        broken = true;
      }) {};
 
+  "dual_0_1_0_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dual";
+       version = "0.1.0.3";
+       sha256 = "1w8haw9q7cljiq58nh7fmywbgcxnx8xz33zx8gr9imkagh56gwv3";
+       libraryHaskellDepends = [ base ];
+       description = "Dual category";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dual-game" = callPackage
     ({ mkDerivation, base, bifunctors, cereal, gloss, network
      , websockets
@@ -76208,8 +76280,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.10.1";
-       sha256 = "047l2knxhzlrmc4n6xaannnwa1zhq7lxr3iswwrji5xcqbbag5xp";
+       version = "3.10.2";
+       sha256 = "04kk635qiv6y5g6y9gjhlh5x5ds7js127r8p2qdhq4da1yb39pqi";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -77175,28 +77247,6 @@ self: {
      }) {};
 
   "elm-street" = callPackage
-    ({ mkDerivation, aeson, base, directory, filepath, prettyprinter
-     , servant, servant-server, text, time, wai, warp
-     }:
-     mkDerivation {
-       pname = "elm-street";
-       version = "0.0.1";
-       sha256 = "09rc10k6g23wf7b095rk6i2d9h5axlcmfpimhmbpqhm8vyqg72l7";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base directory filepath prettyprinter text time
-       ];
-       executableHaskellDepends = [
-         base servant servant-server wai warp
-       ];
-       testHaskellDepends = [ base ];
-       doHaddock = false;
-       description = "Crossing the road between Haskell and Elm";
-       license = stdenv.lib.licenses.mpl20;
-     }) {};
-
-  "elm-street_0_1_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
      , hspec, prettyprinter, servant, servant-server, text, time, wai
      , warp
@@ -77217,7 +77267,26 @@ self: {
        doHaddock = false;
        description = "Crossing the road between Haskell and Elm";
        license = stdenv.lib.licenses.mpl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elm-syntax" = callPackage
+    ({ mkDerivation, base, bound, deriving-compat, prettyprinter
+     , protolude, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "elm-syntax";
+       version = "0.1.0.0";
+       sha256 = "1c8dg5kd0h36j030ig59n1gg1g7y569k92nxg416w4y18z7gir72";
+       libraryHaskellDepends = [
+         base bound deriving-compat prettyprinter protolude text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base bound deriving-compat prettyprinter protolude text
+         unordered-containers
+       ];
+       description = "Elm syntax and pretty-printing";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "elm-websocket" = callPackage
@@ -77322,19 +77391,21 @@ self: {
      }) {};
 
   "elocrypt" = callPackage
-    ({ mkDerivation, base, hlint, MonadRandom, proctest, QuickCheck
-     , random, tasty, tasty-quickcheck, tasty-th
+    ({ mkDerivation, base, containers, hlint, MonadRandom, proctest
+     , QuickCheck, random, tasty, tasty-quickcheck, tasty-th
      }:
      mkDerivation {
        pname = "elocrypt";
-       version = "2.0.1";
-       sha256 = "1sb0xb4dx39vmr60slrlr85hwi6drmqdibv0faiw7k48rxvcz1ak";
+       version = "2.1.0";
+       sha256 = "1mz400y28qminfz39zl2wsia6hv2pmvg836gc18z6hakmw80jnmk";
+       revision = "1";
+       editedCabalFile = "04ciqcmycpms6qvbh04fkq7kli7mcd031x9lqhv2ps46f4v9zx1b";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base MonadRandom random ];
+       libraryHaskellDepends = [ base containers MonadRandom random ];
        executableHaskellDepends = [ base random ];
        testHaskellDepends = [
-         base hlint MonadRandom proctest QuickCheck random tasty
+         base containers hlint MonadRandom proctest QuickCheck random tasty
          tasty-quickcheck tasty-th
        ];
        description = "Generate easy-to-remember, hard-to-guess passwords";
@@ -78248,19 +78319,17 @@ self: {
      }) {};
 
   "enumeration" = callPackage
-    ({ mkDerivation, arith-encode, arithmoi, base, binary, Cabal
-     , containers, heap, HUnit-Plus
+    ({ mkDerivation, arith-encode, base, binary, containers, heap
+     , HUnit-Plus, integer-logarithms
      }:
      mkDerivation {
        pname = "enumeration";
-       version = "0.1.0";
-       sha256 = "17d7vm2nkyhxw2f0wk6llrw9y5kqzgqlgswv98wrpnpsspwmx0bk";
+       version = "0.2.0";
+       sha256 = "0lhyvsiibzk70czway3wx5wsm1gjfxip47clf4l5nskq1qxs9q8l";
        libraryHaskellDepends = [
-         arith-encode arithmoi base binary Cabal containers heap
-       ];
-       testHaskellDepends = [
-         arith-encode arithmoi base binary Cabal containers heap HUnit-Plus
+         arith-encode base binary containers heap integer-logarithms
        ];
+       testHaskellDepends = [ arith-encode base binary HUnit-Plus ];
        description = "A practical API for building recursive enumeration procedures and enumerating datatypes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -79930,25 +79999,28 @@ self: {
      }) {};
 
   "evdev" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, composition, containers
-     , either, evdev, extra, hinotify, posix-paths, process, rawfilepath
-     , safe, streamly, time, unix
+    ({ mkDerivation, base, bytestring, c2hs, containers, either, evdev
+     , extra, hinotify, libevdev, monad-loops, paths, posix-paths
+     , process, rawfilepath, safe, streamly, streamly-fsnotify, time
+     , unix
      }:
      mkDerivation {
        pname = "evdev";
-       version = "0.2.0.1";
-       sha256 = "0b005anc3bxs8ys5zmzzs81n4wmjabvv7fbcj5w62ddsjfq38p62";
+       version = "1.2.0.0";
+       sha256 = "1sjpqnf6gb8mb4n4sf8d60byx5s0vjpwhp7n0lkf2ikckwlc7y73";
        libraryHaskellDepends = [
-         base bytestring composition containers either extra hinotify
-         posix-paths process rawfilepath safe streamly time unix
+         base bytestring containers either extra hinotify monad-loops paths
+         posix-paths process rawfilepath safe streamly streamly-fsnotify
+         time unix
        ];
        librarySystemDepends = [ evdev ];
+       libraryPkgconfigDepends = [ libevdev ];
        libraryToolDepends = [ c2hs ];
        description = "Bindings to libevdev";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {evdev = null;};
+     }) {evdev = null; inherit (pkgs) libevdev;};
 
   "eve" = callPackage
     ({ mkDerivation, base, containers, data-default, free, hspec
@@ -81563,23 +81635,21 @@ self: {
      }) {};
 
   "extensible" = callPackage
-    ({ mkDerivation, aeson, barbies, base, bytestring, cassava, comonad
-     , constraints, deepseq, exceptions, ghc-prim, hashable, lens
-     , membership, monad-skeleton, mtl, prettyprinter, primitive
-     , profunctors, QuickCheck, resourcet, StateVar, tagged
-     , template-haskell, text, th-lift, transformers
+    ({ mkDerivation, aeson, base, bytestring, cassava, comonad
+     , constraints, deepseq, ghc-prim, hashable, lens, membership
+     , monad-skeleton, prettyprinter, primitive, profunctors, QuickCheck
+     , StateVar, tagged, template-haskell, text, th-lift, transformers
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "extensible";
-       version = "0.6.1";
-       sha256 = "1h96kn622qyx27xap79ywq4kx4q82x4b3kxviakhqwxlvf2sklg2";
+       version = "0.7";
+       sha256 = "1nil9qvgrbd42hv198msm7apma67m9dqi5cqgfvjgfcgdms46dk2";
        libraryHaskellDepends = [
-         aeson barbies base bytestring cassava comonad constraints deepseq
-         exceptions ghc-prim hashable membership monad-skeleton mtl
-         prettyprinter primitive profunctors QuickCheck resourcet StateVar
-         tagged template-haskell text th-lift transformers
-         unordered-containers vector
+         aeson base bytestring cassava comonad constraints deepseq ghc-prim
+         hashable membership monad-skeleton prettyprinter primitive
+         profunctors QuickCheck StateVar tagged template-haskell text
+         th-lift transformers unordered-containers vector
        ];
        testHaskellDepends = [ base lens QuickCheck template-haskell ];
        description = "Extensible, efficient, optics-friendly data types and effects";
@@ -81673,6 +81743,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "extensible-skeleton" = callPackage
+    ({ mkDerivation, base, exceptions, extensible, membership
+     , monad-skeleton, mtl, profunctors, resourcet, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "extensible-skeleton";
+       version = "0";
+       sha256 = "0bv6589p8cpzsr167yi98vm0bzkcfgazkxbj35f74ykh8zwqlqfl";
+       libraryHaskellDepends = [
+         base exceptions extensible membership monad-skeleton mtl
+         profunctors resourcet template-haskell transformers
+       ];
+       testHaskellDepends = [ base extensible ];
+       description = "Operational-based extensible effect library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "extensible-sp" = callPackage
     ({ mkDerivation, base, lens }:
      mkDerivation {
@@ -82169,7 +82257,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fakedata_0_4_0" = callPackage
+  "fakedata_0_5_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hashable, hspec, hspec-discover
      , random, template-haskell, text, time, unordered-containers
@@ -82177,8 +82265,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "0.4.0";
-       sha256 = "0q90aa92wraqjnj256bpv34mhsl42wyp31y2g4nv2sgzj7mi9jjg";
+       version = "0.5.0";
+       sha256 = "0xbdbxbj3phrzhg5ifp0s479sjrkm6p3pvvia2i4j1fmq313d9k7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers directory exceptions filepath hashable
@@ -83273,12 +83361,12 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "fedora-dists_1_1_0" = callPackage
+  "fedora-dists_1_1_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "fedora-dists";
-       version = "1.1.0";
-       sha256 = "01knh6bvym4d7rsh9mlrn89nwddxp5rsvgsg4271k0z4xkjsr7i8";
+       version = "1.1.1";
+       sha256 = "10yf8hjbrwjwdsfys87cysim8zfknqp1vv336ym8b5qlx700b2ji";
        libraryHaskellDepends = [ base ];
        description = "Library for Fedora distribution versions";
        license = stdenv.lib.licenses.gpl3;
@@ -84268,8 +84356,8 @@ self: {
      }:
      mkDerivation {
        pname = "file-embed";
-       version = "0.0.11";
-       sha256 = "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf";
+       version = "0.0.11.1";
+       sha256 = "1ml9j5jln9g86qqi7akcxyfy8d2jb46y1sfk817j1s4babzff4x1";
        libraryHaskellDepends = [
          base bytestring directory filepath template-haskell
        ];
@@ -84475,8 +84563,8 @@ self: {
     ({ mkDerivation, base, bytestring, filepath, QuickCheck, unix }:
      mkDerivation {
        pname = "filepath-bytestring";
-       version = "1.4.2.1.0";
-       sha256 = "1q2d02p87yfvqbqhgry6lzqkjhscqfacpcxgnc6xz9b1rvg1mwvj";
+       version = "1.4.2.1.1";
+       sha256 = "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [ base bytestring filepath QuickCheck ];
        description = "Library for manipulating RawFilePaths in a cross platform way";
@@ -84700,8 +84788,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "filtrable";
-       version = "0.1.2.0";
-       sha256 = "1bgy3pydi7paiia63kygrg7fjjs7fm73jqfmlmw4szcbjmv8xq8k";
+       version = "0.1.3.0";
+       sha256 = "1viazb01xnw7siwrsynaxqcjrgc96gqfgmj4vxl5r3lbnb34wdl0";
        libraryHaskellDepends = [ base ];
        description = "Class of filtrable containers";
        license = stdenv.lib.licenses.bsd3;
@@ -84709,22 +84797,6 @@ self: {
 
   "fin" = callPackage
     ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
-     , tagged
-     }:
-     mkDerivation {
-       pname = "fin";
-       version = "0.1";
-       sha256 = "17nv26cznhslrfb1ajcgxa9g3zacvk3prmncr7f8d7rvh42g2gnn";
-       revision = "1";
-       editedCabalFile = "0kdhmjpifbl1r44jy2spj82gdadd849zz6i0y7mw1ii25w91yb50";
-       libraryHaskellDepends = [ base dec deepseq hashable ];
-       testHaskellDepends = [ base inspection-testing tagged ];
-       description = "Nat and Fin: peano naturals and finite numbers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "fin_0_1_1" = callPackage
-    ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
      , QuickCheck, tagged
      }:
      mkDerivation {
@@ -84735,7 +84807,6 @@ self: {
        testHaskellDepends = [ base inspection-testing tagged ];
        description = "Nat and Fin: peano naturals and finite numbers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "final" = callPackage
@@ -88983,12 +89054,12 @@ self: {
      }) {};
 
   "from-sum" = callPackage
-    ({ mkDerivation, base, doctest, Glob, mtl }:
+    ({ mkDerivation, base, doctest, Glob, transformers }:
      mkDerivation {
        pname = "from-sum";
-       version = "0.2.1.0";
-       sha256 = "0rv66a7mhswb4sqkyarg9kxxfpiymsmrk49gprq8mpwq7d1qmvd1";
-       libraryHaskellDepends = [ base mtl ];
+       version = "0.2.2.0";
+       sha256 = "05fppk2hkxn67xfl6kdzdp2a5mfz63dv4yx7mvr9fbdrarxrf326";
+       libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Canonical fromMaybeM and fromEitherM functions";
        license = stdenv.lib.licenses.bsd3;
@@ -90247,8 +90318,8 @@ self: {
     ({ mkDerivation, base, fused-effects, hspec, microlens }:
      mkDerivation {
        pname = "fused-effects-lens";
-       version = "1.0.0.0";
-       sha256 = "0qix94bw9rzv7frwxn4d9l8bz133fbmazzsvmilfz6bm6k8ci6nx";
+       version = "1.1.0.0";
+       sha256 = "0812yfzy784mr1wdbfd7yi249pgdf5ndm7qsy6vk8rs09arpwwxh";
        libraryHaskellDepends = [ base fused-effects microlens ];
        testHaskellDepends = [ base fused-effects hspec microlens ];
        description = "Monadic lens combinators for fused-effects";
@@ -90320,8 +90391,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.13.1";
-       sha256 = "0h92q21hg3850f7hv5n497mn90dv3hxp8fa3cl29gwkn0pkaz33b";
+       version = "0.13.2";
+       sha256 = "0wxhymhwfny03n15g29ydrnqblq23szw6l622ifwxz0mk9h71z1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90481,6 +90552,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fuzzyset_0_2_0" = callPackage
+    ({ mkDerivation, base, data-default, hspec, ieee754, text
+     , text-metrics, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "fuzzyset";
+       version = "0.2.0";
+       sha256 = "0wx8bccfr1k5ax97x5w01mzrpjfwns27xgcr12xf6vbyi7q14mfg";
+       libraryHaskellDepends = [
+         base data-default text text-metrics unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base data-default hspec ieee754 text text-metrics
+         unordered-containers vector
+       ];
+       description = "Fuzzy set for approximate string matching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fuzzytime" = callPackage
     ({ mkDerivation, base, cmdargs, directory, old-time, process }:
      mkDerivation {
@@ -94750,6 +94841,8 @@ self: {
        pname = "ghcide";
        version = "0.0.5";
        sha256 = "014l2gg7ln2q9c7qpga45iicxi5mcyjzllvyiwb4vd8rmbkvr1bm";
+       revision = "2";
+       editedCabalFile = "157ch1bk9r66pca8fiywwj1brpg2mbnarvlzic3yl829v6kcmrvj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96253,8 +96346,8 @@ self: {
      }:
      mkDerivation {
        pname = "gio";
-       version = "0.13.6.1";
-       sha256 = "0lj913029v0h035lri2mkkd8ypc3asb30igj5rrcs6miwhfkmbcf";
+       version = "0.13.8.0";
+       sha256 = "1wx35fm7jba69x33mhp0h6j0lszi62hmmb1inflx7gax0ncmk2n2";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -96400,8 +96493,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20191114";
-       sha256 = "1afrn5g3b80f3n6ncfph6pmf9jdpc7a6ay55k2pmkn96pyv4hfmm";
+       version = "7.20191218";
+       sha256 = "1dy5255x2cx68313p6vchqy5q1l0na8ckf5mkfi080hkhq8vj2q6";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -96937,8 +97030,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-backup";
-       version = "1.20171126";
-       sha256 = "0fk3dp11acgw88rhb7pi8kb98m9x96jwdavcb7gz1jdcx391xy4s";
+       version = "1.20191219";
+       sha256 = "0yi0i342qh1wm7j81qa6mhyfjp4psbw4vrpp0m1c9zjbymfpcymk";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -97280,8 +97373,8 @@ self: {
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.1.4";
-       sha256 = "09va5xbb2qya149gzrm3d3q9g6s4axxx6qkv4z764dryqq7fm7ly";
+       version = "0.1.5";
+       sha256 = "01wll1aik3x9bj5z29h12srj7skyqk6v1g4rvrd86zd9zvxqr6cw";
        libraryHaskellDepends = [
          aeson base bytestring connection http-conduit http-types text time
          transformers unliftio unliftio-core
@@ -97858,8 +97951,8 @@ self: {
      }:
      mkDerivation {
        pname = "glib";
-       version = "0.13.7.1";
-       sha256 = "1h15ir53wc8l5cp09kr71nhk0zn39nm20bmhx2adgp2m68mj5ypp";
+       version = "0.13.8.0";
+       sha256 = "18k1drykl3mpmyj43kp9nvkzr9g3allr19ihscmxwc1w9ss6zklw";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
          base bytestring containers text utf8-string
@@ -97941,8 +98034,7 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "Console IRC client";
        license = stdenv.lib.licenses.isc;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
+       maintainers = with stdenv.lib.maintainers; [ kiwi ];
      }) {};
 
   "gll" = callPackage
@@ -101693,8 +101785,8 @@ self: {
      }:
      mkDerivation {
        pname = "gothic";
-       version = "0.1.1";
-       sha256 = "0bm8m77lcvi9c8smv0z4n23f6gw3aw47g0q47aqjcpipwmjcqvhm";
+       version = "0.1.2";
+       sha256 = "1glfjcisrm97hyja6ijzikmrkillgvrk3xn0gmsmrnfp8mn5jmjp";
        libraryHaskellDepends = [
          aeson base binary bytestring connection exceptions hashable
          http-client http-client-tls http-conduit http-types lens lens-aeson
@@ -102584,8 +102676,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.6.0.0";
-       sha256 = "0gippn2y1ngykfz33825r4r4m5km7m8qch7ijics1q9d1jnszs5a";
+       version = "0.6.1.0";
+       sha256 = "0x0526kb29ndrhb9dy9iwxj9r3qij7sy4zjhjqfx3hc7334rdpda";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers megaparsec text transformers
@@ -103277,6 +103369,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog_0_11_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, containers, monad-control, mtl, resourcet
+     , safe-exceptions, scientific, text, time, transformers
+     , transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "groundhog";
+       version = "0.11.0";
+       sha256 = "1kx5jdzi7qrb399z23s5khvvllks5qyjl9y5spwssf6d6n9r6w82";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring containers
+         monad-control mtl resourcet safe-exceptions scientific text time
+         transformers transformers-base transformers-compat
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-converters" = callPackage
     ({ mkDerivation, aeson, base, bimap, bytestring, containers
      , groundhog, groundhog-sqlite, groundhog-th, tasty, tasty-hunit
@@ -103320,6 +103432,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-inspector_0_11_0" = callPackage
+    ({ mkDerivation, aeson-pretty, base, bytestring, cmdargs
+     , containers, groundhog, groundhog-sqlite, groundhog-th, mtl
+     , regex-compat, syb, template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-inspector";
+       version = "0.11.0";
+       sha256 = "19lvwfg655dg0v6ny64hhdlbdj38w5dbn988kzjyshdjmisswy1r";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson-pretty base bytestring containers groundhog groundhog-th
+         regex-compat syb template-haskell text time transformers
+       ];
+       executableHaskellDepends = [
+         base bytestring cmdargs containers groundhog groundhog-sqlite
+         groundhog-th mtl
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-mysql" = callPackage
     ({ mkDerivation, base, bytestring, containers, groundhog
      , monad-control, monad-logger, mysql, mysql-simple, resource-pool
@@ -103337,6 +103473,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-mysql_0_11" = callPackage
+    ({ mkDerivation, base, bytestring, containers, groundhog
+     , monad-control, monad-logger, mysql, mysql-simple, resource-pool
+     , resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-mysql";
+       version = "0.11";
+       sha256 = "0xir9181c0h5f5hrg1drzd2g7cgr77zghg1i7fcwl6h9prpp6ira";
+       libraryHaskellDepends = [
+         base bytestring containers groundhog monad-control monad-logger
+         mysql mysql-simple resource-pool resourcet text time transformers
+       ];
+       description = "MySQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-postgresql" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , containers, groundhog, monad-control, postgresql-libpq
@@ -103356,6 +103510,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-postgresql_0_11" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , groundhog, monad-control, postgresql-libpq, postgresql-simple
+     , resource-pool, resourcet, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "groundhog-postgresql";
+       version = "0.11";
+       sha256 = "0c8xqdsv1mi9pp1cnnbj8anf8mb3y6hjg965giw9jsmxf2b4d80x";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers groundhog monad-control
+         postgresql-libpq postgresql-simple resource-pool resourcet text
+         time transformers vector
+       ];
+       description = "PostgreSQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-sqlite" = callPackage
     ({ mkDerivation, base, bytestring, containers, direct-sqlite
      , groundhog, monad-control, resource-pool, resourcet, text
@@ -103373,6 +103546,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-sqlite_0_11_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, direct-sqlite
+     , groundhog, monad-control, resource-pool, resourcet, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "groundhog-sqlite";
+       version = "0.11.0";
+       sha256 = "03vnnja0rbk2v8qws0m37hs6imh001pj5hy00gx5xr7kwayvc13g";
+       libraryHaskellDepends = [
+         base bytestring containers direct-sqlite groundhog monad-control
+         resource-pool resourcet text transformers unordered-containers
+       ];
+       description = "Sqlite3 backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groundhog-th" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, groundhog
      , libyaml, template-haskell, text, time, unordered-containers, yaml
@@ -103389,6 +103580,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groundhog-th_0_11" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, groundhog
+     , libyaml, template-haskell, text, time, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "groundhog-th";
+       version = "0.11";
+       sha256 = "1rqzqwcvk9shgprgfvl54s67n3img2wnvq98mvbnmr6pfxgcy2az";
+       libraryHaskellDepends = [
+         aeson base bytestring containers groundhog libyaml template-haskell
+         text time unordered-containers yaml
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "group-by-date" = callPackage
     ({ mkDerivation, base, explicit-exception, filemanip, hsshellscript
      , pathtype, time, transformers, unix-compat, utility-ht
@@ -103675,8 +103883,8 @@ self: {
      }:
      mkDerivation {
        pname = "gscholar-rss";
-       version = "0.2.3.1";
-       sha256 = "0iqrh6h2r7xr9xqk9w7yg1hilghcs0pp5mqq3s2rwmk2drp255l3";
+       version = "0.2.4.1";
+       sha256 = "09f6l7j8pax8c07myg3zbla3davgi88aib3g0nb55vnlcs33qrq6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -103858,8 +104066,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk";
-       version = "0.15.3";
-       sha256 = "0lbf79zfpnz273g7ycr8j7im3bsyzn1d5r9mfv6k80nwzr43dw51";
+       version = "0.15.4";
+       sha256 = "1wm42m4963abqiswkc3ngwf9jm4z9kyyx2h8w064f62ngnkdz84z";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -104042,8 +104250,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk2hs-buildtools";
-       version = "0.13.5.4";
-       sha256 = "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25";
+       version = "0.13.8.0";
+       sha256 = "1645pgrs9cj6imhpdpkbkhr9mn9005wbqlvily5f8iaf02zpvfwd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -104196,8 +104404,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk3";
-       version = "0.15.3";
-       sha256 = "10xkgmgncnwdy0f9f1bkcw68msp575zcwkncw9d2nqpa5cdh2qx7";
+       version = "0.15.4";
+       sha256 = "17g93j8az1gqgf9kxg1k1lls6c0if45bzgbhrc99qgm8s9f2dr1c";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -106466,6 +106674,27 @@ self: {
        broken = true;
      }) {};
 
+  "haggle" = callPackage
+    ({ mkDerivation, base, containers, deepseq, fgl, hashable, HUnit
+     , monad-primitive, primitive, QuickCheck, ref-tf, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "haggle";
+       version = "0.1.0.0";
+       sha256 = "0fpbmllp0p23c258gam7xm0dvwphw0zpmydmg9ygl4yl1kiav470";
+       libraryHaskellDepends = [
+         base containers deepseq hashable monad-primitive primitive ref-tf
+         vector
+       ];
+       testHaskellDepends = [
+         base containers fgl HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "A graph library offering mutable, immutable, and inductive graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haha" = callPackage
     ({ mkDerivation, base, containers, time }:
      mkDerivation {
@@ -107634,6 +107863,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hanabi-dealer" = callPackage
+    ({ mkDerivation, base, containers, random }:
+     mkDerivation {
+       pname = "hanabi-dealer";
+       version = "0.2.0.0";
+       sha256 = "086mvplnkapzc697mmqxi2z4fhm4ix7kjq4fkqzv1yj592qz4q9h";
+       libraryHaskellDepends = [ base containers random ];
+       description = "Hanabi card game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "handa-data" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -108696,6 +108936,24 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "happy-dot" = callPackage
+    ({ mkDerivation, array, base, clock, happy, HUnit, language-dot
+     , pretty, transformers, xml
+     }:
+     mkDerivation {
+       pname = "happy-dot";
+       version = "1.0.0.0";
+       sha256 = "1m7i6akv2009g1q5jhrv14fkq12kq5zkk11g8f0zsgflljd4w5a2";
+       libraryHaskellDepends = [ array base pretty transformers ];
+       libraryToolDepends = [ happy ];
+       testHaskellDepends = [ array base HUnit pretty transformers xml ];
+       benchmarkHaskellDepends = [
+         array base clock language-dot transformers xml
+       ];
+       description = "Parser for dot made with happy";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "happy-hour" = callPackage
     ({ mkDerivation, base, Chart, Chart-diagrams }:
      mkDerivation {
@@ -108900,8 +109158,8 @@ self: {
      }:
      mkDerivation {
        pname = "harg";
-       version = "0.4.0.0";
-       sha256 = "0il36pwzmkc1dj39kybyp6hv4s7d60dl5rx1fkfm23dcg6a9r0dc";
+       version = "0.4.1.0";
+       sha256 = "1h1hdhlm5fjfm5cr052gf6cxp6r4lnz9a3b68ypj4b716hymir44";
        libraryHaskellDepends = [
          aeson barbies base bytestring directory higgledy
          optparse-applicative split text yaml
@@ -109085,8 +109343,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.3.6";
-       sha256 = "0sgxvgvxqykslbjslrb5mzmaaar4nbc59p94qhk7rzbjsas01vp2";
+       version = "0.1.4.0";
+       sha256 = "1varlzj2c0sfxza6wfacrkjxq022qdvbzf8zhi3zbv1fnqqcvz0j";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default mtl network text
@@ -109098,6 +109356,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hasbolt_0_1_4_1" = callPackage
+    ({ mkDerivation, base, binary, bytestring, connection, containers
+     , data-binary-ieee754, data-default, hex, hspec, mtl, network
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hasbolt";
+       version = "0.1.4.1";
+       sha256 = "1p2gffh6ym221sgrhlns209p6s0j3qbmam5a0b3s06663qgzvh5b";
+       libraryHaskellDepends = [
+         base binary bytestring connection containers data-binary-ieee754
+         data-default mtl network text
+       ];
+       testHaskellDepends = [
+         base bytestring containers hex hspec QuickCheck text
+       ];
+       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hasbolt-extras" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers
      , data-default, doctest, free, hasbolt, lens, mtl
@@ -109106,8 +109385,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.25";
-       sha256 = "0cd0c6vcyfzrg3bzs1mv2c7alr7ncz5gkj6r70n2fb41mxnz9i2l";
+       version = "0.0.1.0";
+       sha256 = "1d5n60nsvzkgf4wf2fy99qgp6bby4bmhldycda0hlgkch1m6lqqc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110680,6 +110959,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-lsp_0_19_0_0" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hashable
+     , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
+     , network-uri, QuickCheck, quickcheck-instances, rope-utf16-splay
+     , sorted-list, stm, temporary, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp";
+       version = "0.19.0.0";
+       sha256 = "0cjmjrcd3rg8jc6rfk73jirmvay07jps9gdjd97clxz90w3mm24i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring containers data-default
+         directory filepath hashable haskell-lsp-types hslogger lens mtl
+         network-uri rope-utf16-splay sorted-list stm temporary text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hashable hspec lens network-uri QuickCheck quickcheck-instances
+         rope-utf16-splay sorted-list stm text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-lsp-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , haskell-lsp, lens, process, text, unix
@@ -110737,6 +111046,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-lsp-types_0_19_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, deepseq
+     , filepath, hashable, lens, network-uri, scientific, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp-types";
+       version = "0.19.0.0";
+       sha256 = "089rxcdz02hq68ihc26r7dwsn8hl7f7096vcb0dyd2jda0ganhm9";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default deepseq filepath hashable lens
+         network-uri scientific text unordered-containers
+       ];
+       description = "Haskell library for the Microsoft Language Server Protocol, data types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-menu" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -111437,6 +111764,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-to-elm" = callPackage
+    ({ mkDerivation, aeson, base, bound, elm-syntax, generics-sop
+     , protolude, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-to-elm";
+       version = "0.2.0.0";
+       sha256 = "0y3ayjfspajnsk6r47fkkqafbf15f9lshgizihndrnb3smkyzgw9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bound elm-syntax generics-sop protolude text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bound elm-syntax generics-sop protolude text time
+         unordered-containers
+       ];
+       description = "Generate Elm types and JSON encoders and decoders from Haskell types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-token-utils" = callPackage
     ({ mkDerivation, base, containers, Diff, directory, dual-tree, ghc
      , ghc-mod, ghc-paths, ghc-prim, ghc-syb-utils, haskell-src-exts
@@ -112371,8 +112720,8 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskellish";
-       version = "0.1.1";
-       sha256 = "1smgr42m4dz6yd8w34dmc3w2l06jllli831bq66l3mdbrfb3964h";
+       version = "0.1.2";
+       sha256 = "0qsd65pf3nfadf98nnabya0x9li0ldq1b3fpdy36k97pmf44x0qw";
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "For parsing Haskell-ish languages";
        license = stdenv.lib.licenses.bsd3;
@@ -112682,8 +113031,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-bitcoind";
-       version = "0.3.0";
-       sha256 = "1b46mhjna32n41bj16ca58cijypls1n74aqhk785vla9v9ib9828";
+       version = "0.4.1";
+       sha256 = "1m5j03brslh0xgc7nm2b0cyk8l2zb140f71y5bcj28aaips3yyr0";
        libraryHaskellDepends = [
          base base16-bytestring bytestring cereal haskoin-core monad-control
          mtl network-bitcoin text transformers transformers-base
@@ -112836,8 +113185,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.18.9";
-       sha256 = "0gfvlah265mdc52nxkb2mlq1qblli0fm7lrxhwbggjjssj0jbp05";
+       version = "0.19.2";
+       sha256 = "0jrjjxydmm9pncqihks2dl2k22lmryw8cxjdsg3hpkqkzdz8brvi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113504,18 +113853,19 @@ self: {
      }) {};
 
   "haskus-utils-data" = callPackage
-    ({ mkDerivation, base, containers, extra, haskus-utils-types, mtl
-     , recursion-schemes, transformers
+    ({ mkDerivation, base, containers, doctest, extra, ghc-prim
+     , haskus-utils-types, mtl, recursion-schemes, transformers
      }:
      mkDerivation {
        pname = "haskus-utils-data";
-       version = "1.1.1";
-       sha256 = "1igwlprfknz3aydls849a3l7agm5zqn8c90aqw547bc0asjcsnll";
+       version = "1.2";
+       sha256 = "0dn07zj9v5yl0mpcnblk2y17x30wg8fag4hv9mfp3kn003217f89";
        libraryHaskellDepends = [
-         base containers extra haskus-utils-types mtl recursion-schemes
-         transformers
+         base containers extra ghc-prim haskus-utils-types mtl
+         recursion-schemes transformers
        ];
-       description = "Haskus utility modules";
+       testHaskellDepends = [ base doctest ];
+       description = "Haskus data utility modules";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -113523,8 +113873,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "haskus-utils-types";
-       version = "1.4.1";
-       sha256 = "0nypn55fj86llpgdlsbr5qk7jkix5qazz03f8c5a8kn787n2bkpz";
+       version = "1.5";
+       sha256 = "1mbgnx4i82g9bq1qpvjjs9yb683gfja5bws8y26mzjl4igk6izsy";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Haskus types utility modules";
@@ -113538,13 +113888,16 @@ self: {
      }:
      mkDerivation {
        pname = "haskus-utils-variant";
-       version = "2.6.1";
-       sha256 = "1zq76dsp29warrr0ym4lp9lrgar7yairwp91qklf3k6qb8h41qw8";
+       version = "3.0";
+       sha256 = "128i47aqp1h8j4yganj7l8svdb1ax5vx9h4j55k56wh5yxrg5aan";
        libraryHaskellDepends = [
          base deepseq exceptions haskus-utils-data haskus-utils-types
          template-haskell transformers
        ];
-       testHaskellDepends = [ base doctest tasty tasty-quickcheck ];
+       testHaskellDepends = [
+         base doctest haskus-utils-data haskus-utils-types tasty
+         tasty-quickcheck
+       ];
        benchmarkHaskellDepends = [ base criterion deepseq QuickCheck ];
        description = "Variant and EADT";
        license = stdenv.lib.licenses.bsd3;
@@ -113996,8 +114349,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.3.0.1";
-       sha256 = "03wfzwf3rr83j158757llq23zi17pkpmpracwisbz4acvk0vb3s0";
+       version = "0.4";
+       sha256 = "0c87l9lf2h6z33apmh13dy9imdv0klpk4p22zmw9i88gg5x91yvw";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers contravariant
          fast-builder foldl hashable hasql headed-megaparsec megaparsec
@@ -114599,10 +114952,8 @@ self: {
      }:
      mkDerivation {
        pname = "haxr";
-       version = "3000.11.3";
-       sha256 = "1ab422ngg63w91a71j17swzzdxk0y2053fijml0illarcrd77cnj";
-       revision = "3";
-       editedCabalFile = "1jycnkzcxk6ny3ql5mv438xwmcifxprsrsaxqnbmslm6m43d6yxf";
+       version = "3000.11.3.1";
+       sha256 = "1wyb848mb0b6idkbi5jarsf6qi1zzl3yh6xd05g228kykii8k9mg";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -116213,8 +116564,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.12.10";
-       sha256 = "0n9rm73h9lgrqavzjlakb95jvpg0lfjhj6grb5rgwpi4rhvqiygb";
+       version = "0.12.11";
+       sha256 = "1n83zwg011n9w2v1zz4mwpms9jh3c8mk700zya4as1jg83748xww";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq errors HTTP mtl
          network network-uri resource-pool scanner stm text time tls
@@ -118633,23 +118984,28 @@ self: {
      }) {};
 
   "hie-bios" = callPackage
-    ({ mkDerivation, base, base16-bytestring, bytestring, containers
-     , cryptohash-sha1, deepseq, directory, extra, file-embed, filepath
-     , ghc, process, temporary, text, time, transformers, unix-compat
+    ({ mkDerivation, base, base16-bytestring, bytestring, conduit
+     , conduit-extra, containers, cryptohash-sha1, deepseq, directory
+     , extra, file-embed, filepath, ghc, hslogger, process, tasty
+     , tasty-hunit, temporary, text, time, transformers, unix-compat
      , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.2.1";
-       sha256 = "12gqchrqscf7qnmid3k8wizxax4157dggg6kr1dipbwn36dczhrv";
+       version = "0.3.2";
+       sha256 = "1609rvjgh1laqxl4c1bh0j3bq5yysbbaflx6hn8npr0ckq2ckvir";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base16-bytestring bytestring containers cryptohash-sha1
-         deepseq directory extra file-embed filepath ghc process temporary
-         text time transformers unix-compat unordered-containers vector yaml
+         base base16-bytestring bytestring conduit conduit-extra containers
+         cryptohash-sha1 deepseq directory extra file-embed filepath ghc
+         hslogger process temporary text time transformers unix-compat
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [ base directory filepath ghc ];
+       testHaskellDepends = [
+         base directory filepath ghc tasty tasty-hunit
+       ];
        description = "Set up a GHC API session";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -121470,19 +121826,18 @@ self: {
 
   "hmp3-ng" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, clock, containers
-     , directory, hscurses, mersenne-random, monad-extras, mtl, ncurses
-     , pcre-light, process, unix, utf8-string, zlib
+     , directory, hscurses, monad-extras, mtl, ncurses, pcre-light
+     , process, random, unix, utf8-string, zlib
      }:
      mkDerivation {
        pname = "hmp3-ng";
-       version = "2.7.3.1";
-       sha256 = "1g4r9kkd0cqcarg220bj481b2j1gid68l0dfycy47hl8glqhv2w9";
+       version = "2.9.3";
+       sha256 = "0h1lg4faffqf86wk2hi68x3f0y2r2nypqcvb879wal24whh31v7v";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          array base binary bytestring clock containers directory hscurses
-         mersenne-random monad-extras mtl pcre-light process unix
-         utf8-string zlib
+         monad-extras mtl pcre-light process random unix utf8-string zlib
        ];
        executableSystemDepends = [ ncurses ];
        description = "A 2019 fork of an ncurses mp3 player written in Haskell";
@@ -121850,15 +122205,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_1_9_0" = callPackage
+  "hoauth2_1_9_1" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, exceptions
      , http-conduit, http-types, microlens, text, unordered-containers
      , uri-bytestring, uri-bytestring-aeson
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.9.0";
-       sha256 = "1br1g6xp0s73aj8nsx3rjdpji3lvp19b4xaxhn87fqbnnhczg39z";
+       version = "1.9.1";
+       sha256 = "1pm8124x5zdy5zj6qriv16im067dyz9vx5z2ga8c3x6rx06bs15m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123042,8 +123397,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.6.0";
-       sha256 = "0wgzjzjnj1f9mw1099l5h2fh8y91v45a243paksb5dp76y27baxg";
+       version = "0.7.0";
+       sha256 = "1kj72jn0sfvf68lf9n2v7v2qqw1g3kjyr6s6zlyvs6p2k3fw4ync";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -123059,8 +123414,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.6.0";
-       sha256 = "1y10s0lbc0k7vir2h7bgghxmjh3zgja764i6w1j056rr0qh9v5bj";
+       version = "0.7.0";
+       sha256 = "0v21a3nwk94ggrk8fyjmlb93rnrsh7s3xbqnk1p236h0gycsh1q3";
        libraryHaskellDepends = [
          base bytestring containers directory filepath haskell-src mtl
          process temporary text
@@ -123075,8 +123430,8 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.6.0";
-       sha256 = "0zlh84ibyvyl9wxmiyjgm26s6avjvqphg17bmsls69pqawzzgphy";
+       version = "0.7.0";
+       sha256 = "0rkyili7kbxj22rvs4056vhcgwpjzgigmwcrj6iph5pfzxnnl40q";
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
@@ -123090,8 +123445,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.6.0";
-       sha256 = "0z7jmhv9xkmky8gn0qgk6f3l3w943qvfhwlq18p1gf6x7iq1ijdg";
+       version = "0.7.0";
+       sha256 = "0yr73dalwljp23ls9za07cnabs65aypgbrjjv76zhxbsqqcc82a3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
@@ -124597,6 +124952,18 @@ self: {
        license = "GPL";
      }) {};
 
+  "hs-bibutils_6_8_0_0" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "hs-bibutils";
+       version = "6.8.0.0";
+       sha256 = "0syhh413qmajv56gaqz7p3b2yb6f0x9cx8zgds6fa3yzcqw7zasc";
+       libraryHaskellDepends = [ base syb ];
+       description = "Haskell bindings to bibutils, the bibliography conversion utilities";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hs-blake2" = callPackage
     ({ mkDerivation, base, bytestring, bytestring-arbitrary, criterion
      , cryptohash, libb2, QuickCheck, tasty, tasty-quickcheck
@@ -126902,8 +127269,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.8";
-       sha256 = "1lqczihv7qjh1yy51qds4sg95riwaq1i0fd9mgn3kvhgbyx1r9nn";
+       version = "0.0.10";
+       sha256 = "0ydb0dqy3javffb8a4gfn840wlh2l3ixxxzj7sc53bqanadlg1in";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130362,6 +130729,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-download_0_1_0_1" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , conduit-extra, cryptonite, cryptonite-conduit, directory
+     , exceptions, filepath, hspec, hspec-discover, http-client
+     , http-conduit, http-types, memory, path, path-io, retry, rio
+     , rio-prettyprint
+     }:
+     mkDerivation {
+       pname = "http-download";
+       version = "0.1.0.1";
+       sha256 = "1f1haybqflprm3gwnxsyi6pyz7k4b5qyiq4wqq81wb7nsrr4h943";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring conduit conduit-extra cryptonite
+         cryptonite-conduit directory exceptions filepath http-client
+         http-conduit http-types memory path path-io retry rio
+         rio-prettyprint
+       ];
+       testHaskellDepends = [
+         base cryptonite hspec hspec-discover http-client path path-io retry
+         rio rio-prettyprint
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Verified downloads with retries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-encodings" = callPackage
     ({ mkDerivation, base, bytestring, HTTP, iconv, mime, mtl, parsec
      , text, utf8-string, zlib
@@ -130886,37 +131280,6 @@ self: {
   "http2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base16-bytestring, bytestring, case-insensitive, containers
-     , criterion, directory, doctest, filepath, Glob, heaps, hspec
-     , mwc-random, network-byte-order, psqueues, stm, text
-     , unordered-containers, vector, word8
-     }:
-     mkDerivation {
-       pname = "http2";
-       version = "1.6.5";
-       sha256 = "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring case-insensitive containers
-         network-byte-order psqueues stm
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty array base base16-bytestring bytestring
-         case-insensitive containers directory doctest filepath Glob hspec
-         network-byte-order psqueues stm text unordered-containers vector
-         word8
-       ];
-       benchmarkHaskellDepends = [
-         array base bytestring case-insensitive containers criterion heaps
-         mwc-random network-byte-order psqueues stm
-       ];
-       description = "HTTP/2 library including frames, priority queues and HPACK";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "http2_2_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, array, base
-     , base16-bytestring, bytestring, case-insensitive, containers
      , directory, doctest, filepath, gauge, Glob, heaps, hspec
      , http-types, mwc-random, network, network-byte-order, psqueues
      , stm, text, time-manager, unordered-containers, vector
@@ -130943,7 +131306,6 @@ self: {
        ];
        description = "HTTP/2 library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http2-client" = callPackage
@@ -131820,14 +132182,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hvega_0_4_1_1" = callPackage
+  "hvega_0_4_1_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , filepath, tasty, tasty-golden, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hvega";
-       version = "0.4.1.1";
-       sha256 = "1dmb5w250l11p7hyzi7v9b286s4qdalg41bz1ckahrwaaaz8qa1d";
+       version = "0.4.1.2";
+       sha256 = "0vf7hwhq8s8w3zjgag80gm54bxk5bm9q0mmriqy1790vrxb51276";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131919,25 +132281,25 @@ self: {
        broken = true;
      }) {};
 
-  "hw-balancedparens_0_3_0_2" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, hedgehog, hspec
-     , hspec-discover, hw-bits, hw-excess, hw-fingertree
-     , hw-hspec-hedgehog, hw-prim, hw-rankselect-base, transformers
-     , vector
+  "hw-balancedparens_0_3_0_3" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, doctest
+     , doctest-discover, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-excess, hw-fingertree, hw-hspec-hedgehog, hw-prim
+     , hw-rankselect-base, transformers, vector
      }:
      mkDerivation {
        pname = "hw-balancedparens";
-       version = "0.3.0.2";
-       sha256 = "1x961b5jq5hal5k3dc98xpldpsillxf4vkbc4m7yw05bmas0smia";
+       version = "0.3.0.3";
+       sha256 = "07jng6plapizb0kazqfd4x7y5yazhggwvagkwc273a92ynw57bsi";
        libraryHaskellDepends = [
          base deepseq hedgehog hspec hw-bits hw-excess hw-fingertree hw-prim
          hw-rankselect-base vector
        ];
        testHaskellDepends = [
-         base hedgehog hspec hw-bits hw-hspec-hedgehog hw-prim
-         hw-rankselect-base transformers vector
+         base doctest doctest-discover hedgehog hspec hw-bits
+         hw-hspec-hedgehog hw-prim hw-rankselect-base transformers vector
        ];
-       testToolDepends = [ hspec-discover ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        benchmarkHaskellDepends = [
          base criterion hedgehog hw-bits hw-prim vector
        ];
@@ -134359,8 +134721,8 @@ self: {
     ({ mkDerivation, base, containers, QuickCheck, text }:
      mkDerivation {
        pname = "hzenhan";
-       version = "0.0.1";
-       sha256 = "1n7nrkngr395n6dhgdkqwbx2dmq6hmmfggyv62nr29kxf580hd8k";
+       version = "0.0.4";
+       sha256 = "1gbrzjjdihgzj63sp2h4762zybyhd5rxa8rpvsjra21qvvch12mx";
        libraryHaskellDepends = [ base containers text ];
        testHaskellDepends = [ base containers QuickCheck text ];
        description = "Zenhan library for Haskell";
@@ -135276,6 +135638,8 @@ self: {
        pname = "ihaskell";
        version = "0.10.0.2";
        sha256 = "01jk48kj5z7n547z1lg78c0bphpjyv2nfzjrh4jv7xygkw5asqxb";
+       revision = "1";
+       editedCabalFile = "0jhgnw5wrpmbp3g6zllwlmmyzyja5ry8i7dss7q8gpbvk2inlfl3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -135435,8 +135799,8 @@ self: {
     ({ mkDerivation, aeson, base, hvega, ihaskell, text }:
      mkDerivation {
        pname = "ihaskell-hvega";
-       version = "0.2.0.2";
-       sha256 = "0xbv8801wxslcs9fsjssvdldz6nq8zmxm6l4pwkv8zpasqzq4k9q";
+       version = "0.2.1.0";
+       sha256 = "1zpr00zn3nap5w1baih975r8hvaqqyp7y4acy10p688imicg5wgy";
        libraryHaskellDepends = [ aeson base hvega ihaskell text ];
        description = "IHaskell display instance for hvega types";
        license = stdenv.lib.licenses.bsd3;
@@ -135615,6 +135979,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ilist_0_4_0_0" = callPackage
+    ({ mkDerivation, base, criterion, hspec, lens, loop, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "ilist";
+       version = "0.4.0.0";
+       sha256 = "105qz5x03fa713ghxvmivawsaq3l9zf5ab4n09j7i7ryj3dwp4nv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec transformers ];
+       benchmarkHaskellDepends = [
+         base criterion lens loop transformers vector
+       ];
+       description = "Optimised list functions for doing index-related things";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "illuminate" = callPackage
     ({ mkDerivation, alex, array, base, containers, filemanip, filepath
      , hscolour, html, utf8-string, xhtml
@@ -137648,6 +138030,17 @@ self: {
        broken = true;
      }) {};
 
+  "intcode" = callPackage
+    ({ mkDerivation, base, containers, primitive }:
+     mkDerivation {
+       pname = "intcode";
+       version = "0.1.0.0";
+       sha256 = "0lca33wd0dfrih0si6w5h6wi5rmv6sx3j5kam9q4j0kc1laj268r";
+       libraryHaskellDepends = [ base containers primitive ];
+       description = "Advent of Code 2019 intcode interpreter";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "integer-gmp_1_0_2_0" = callPackage
     ({ mkDerivation, ghc-prim }:
      mkDerivation {
@@ -138206,8 +138599,8 @@ self: {
     ({ mkDerivation, base, containers, text, vector, word8 }:
      mkDerivation {
        pname = "intmap-graph";
-       version = "1.0";
-       sha256 = "066js08brg2prmnvqchmpp42i7sd0jn7lxpzsalnvzivi49nkbx4";
+       version = "1.0.0.1";
+       sha256 = "0mrwimi4r1y60l674w8vavv4c5fzqm6v1f71hkcvxkwa3fpl56m6";
        libraryHaskellDepends = [ base containers text vector word8 ];
        description = "A graph library that allows to explore edges after their type";
        license = stdenv.lib.licenses.bsd3;
@@ -138949,6 +139342,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ipfs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-has, directory
+     , directory-tree, doctest, envy, flow, Glob, http-client, ip, lens
+     , lens-aeson, monad-logger, QuickCheck, regex-compat, rio
+     , servant-client, servant-client-core, servant-multipart
+     , servant-server, swagger2, text, vector, yaml
+     }:
+     mkDerivation {
+       pname = "ipfs";
+       version = "1.0.0";
+       sha256 = "0grbmjl2dybqp3c8ljgj6ql0g3yivxb0nsbyw3bwk1a4g2c9bd0g";
+       libraryHaskellDepends = [
+         aeson base bytestring data-has envy flow Glob http-client ip lens
+         monad-logger regex-compat rio servant-client servant-client-core
+         servant-multipart servant-server swagger2 text vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring data-has directory directory-tree doctest
+         envy flow Glob http-client ip lens lens-aeson monad-logger
+         QuickCheck regex-compat rio servant-client servant-client-core
+         servant-multipart servant-server swagger2 text vector yaml
+       ];
+       description = "Access IPFS locally and remotely";
+       license = stdenv.lib.licenses.agpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ipfs-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-media, http-types
      , servant, text
@@ -141132,14 +141553,14 @@ self: {
      }) {};
 
   "jira-wiki-markup" = callPackage
-    ({ mkDerivation, base, parsec, tasty, tasty-hunit, text }:
+    ({ mkDerivation, base, mtl, parsec, tasty, tasty-hunit, text }:
      mkDerivation {
        pname = "jira-wiki-markup";
-       version = "0.1.1";
-       sha256 = "1a6vk4aryppay87fyirxprwklqvpjh6nj9x2k9s3ybrwhapf1wdx";
+       version = "1.0.0";
+       sha256 = "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base parsec text ];
+       libraryHaskellDepends = [ base mtl parsec text ];
        executableHaskellDepends = [ base text ];
        testHaskellDepends = [ base parsec tasty tasty-hunit text ];
        description = "Handle Jira wiki markup";
@@ -141312,6 +141733,28 @@ self: {
        broken = true;
      }) {};
 
+  "jobs-ui" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq
+     , digestive-functors, digestive-functors-lucid, file-embed
+     , http-types, hvect, lucid, mtl, pretty-relative-time, Spock
+     , Spock-digestive, Spock-lucid, stm, text, time, transformers, warp
+     }:
+     mkDerivation {
+       pname = "jobs-ui";
+       version = "0.2.0.0";
+       sha256 = "0k5n1nqxlqlqnxcznmwqz9m4sdy8hhg3gv8m1bikc3d5im1rap7j";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq digestive-functors
+         digestive-functors-lucid file-embed http-types hvect lucid mtl
+         pretty-relative-time Spock Spock-digestive Spock-lucid stm text
+         time transformers warp
+       ];
+       description = "A library for creating a jobs management website running custom jobs";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "join" = callPackage
     ({ mkDerivation, base, haskell98, multisetrewrite, stm }:
      mkDerivation {
@@ -141561,36 +142004,36 @@ self: {
      }) {};
 
   "jsaddle" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bytestring, containers, deepseq, exceptions, filepath, ghc-prim
-     , http-types, lens, primitive, process, random, ref-tf, scientific
-     , stm, text, time, transformers, unliftio-core
+    ({ mkDerivation, aeson, attoparsec, base, base-compat
+     , base64-bytestring, bytestring, containers, deepseq, exceptions
+     , filepath, ghc-prim, http-types, lens, primitive, process, random
+     , ref-tf, scientific, stm, text, time, transformers, unliftio-core
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.9.6.0";
-       sha256 = "1ym0h00icxh4dwy3xwvxh985hr3ly7r147vm7spzb44xfn532pa8";
+       version = "0.9.7.0";
+       sha256 = "1hd1ybacng2qydf23dn4qggls2mmz21aay7q947ifdaxg83mv6aq";
        libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring containers
-         deepseq exceptions filepath ghc-prim http-types lens primitive
-         process random ref-tf scientific stm text time transformers
-         unliftio-core unordered-containers vector
+         aeson attoparsec base base-compat base64-bytestring bytestring
+         containers deepseq exceptions filepath ghc-prim http-types lens
+         primitive process random ref-tf scientific stm text time
+         transformers unliftio-core unordered-containers vector
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
      }) {};
 
   "jsaddle-clib" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, jsaddle
-     , text
+    ({ mkDerivation, aeson, base, base-compat, bytestring, data-default
+     , jsaddle, text
      }:
      mkDerivation {
        pname = "jsaddle-clib";
-       version = "0.9.6.0";
-       sha256 = "0nfdn5s11rzzma5s4rajs1477sy0xsa7wc19q00xfbpfkdq48193";
+       version = "0.9.7.0";
+       sha256 = "1n1mafr6gnfzmndjs4w7g813dx2khaq4knkhcaqbr2lsbr5yrmg1";
        libraryHaskellDepends = [
-         aeson base bytestring data-default jsaddle text
+         aeson base base-compat bytestring data-default jsaddle text
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -141602,10 +142045,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-dom";
-       version = "0.9.3.2";
-       sha256 = "1qc135w1y4f2mbky36dmb0ggcbwkv1vnmszw5lkhkxhkcag2sf07";
-       revision = "1";
-       editedCabalFile = "0vhqqbcpbrsnbmix0wkkm1d21qwrpicbzjwy42p48g7whg0lf0d5";
+       version = "0.9.4.0";
+       sha256 = "0k70x8dv67v585qm9ycb1m32cc47zvr2ka8nbqxazyw09i498h22";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base base-compat exceptions jsaddle lens text transformers
@@ -141638,8 +142079,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.9.6.0";
-       sha256 = "0j34cix4g5zfbbac6cggcp224s69ijirifg69js8lh3x8n5sgpg5";
+       version = "0.9.7.0";
+       sha256 = "09pqcnyy2pj48xm8qzs1jyav8a4si0bfw43w0qql74ak137ll60c";
        libraryHaskellDepends = [
          aeson base bytestring containers foreign-store http-types jsaddle
          stm text time transformers wai wai-websockets warp websockets
@@ -141665,8 +142106,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkit2gtk";
-       version = "0.9.6.0";
-       sha256 = "0daw67lxqbbw643mvna5dr9xqrqacqp2i3gqpkarb2xadq5da2lq";
+       version = "0.9.7.0";
+       sha256 = "1q4sz2s95pknsr6r8cdqrlmw0b64q4nzllrlhb80knpfxamzyjzp";
        libraryHaskellDepends = [
          aeson base bytestring directory gi-gio gi-glib gi-gtk
          gi-javascriptcore gi-webkit2 haskell-gi-base haskell-gi-overloading
@@ -141702,8 +142143,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.9.6.0";
-       sha256 = "1i5pmwj9ijd3rm1gvyp8n64q1gr1qnijj4ry6mk4h8lij4d9ic67";
+       version = "0.9.7.0";
+       sha256 = "04ni6q8x9c5zqmdm1kfp3yygcflpdf5hx4r568fm5b6rjxi3zhf6";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default directory jsaddle
          text
@@ -141981,6 +142422,24 @@ self: {
        broken = true;
      }) {};
 
+  "json-directory" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "json-directory";
+       version = "0.1.0.0";
+       sha256 = "1pkna0f0al0p391s6i3rnylmh5ydf8jphd728cr14gqlvfq3hqy8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base directory filepath text unordered-containers
+       ];
+       executableHaskellDepends = [ aeson base bytestring ];
+       description = "Load JSON from files in a directory structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "json-encoder" = callPackage
     ({ mkDerivation, base, base-prelude, bytestring
      , bytestring-tree-builder, contravariant, contravariant-extras
@@ -146692,18 +147151,18 @@ self: {
      }) {};
 
   "language-bash" = callPackage
-    ({ mkDerivation, base, parsec, pretty, process, QuickCheck, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , transformers
+    ({ mkDerivation, base, directory, filepath, parsec, prettyprinter
+     , process, QuickCheck, tasty, tasty-expected-failure, tasty-golden
+     , tasty-hunit, tasty-quickcheck, transformers
      }:
      mkDerivation {
        pname = "language-bash";
-       version = "0.8.0";
-       sha256 = "16lkqy1skc82cyxsh313184dbm31hrsi3w1729ci8lw8dybmz6ax";
-       libraryHaskellDepends = [ base parsec pretty transformers ];
+       version = "0.9.0";
+       sha256 = "1n4icdd478b1j0rr79qyxx2g4xm8yvsplfw3mkdsskb79zmq5gga";
+       libraryHaskellDepends = [ base parsec prettyprinter transformers ];
        testHaskellDepends = [
-         base parsec process QuickCheck tasty tasty-expected-failure
-         tasty-hunit tasty-quickcheck
+         base directory filepath parsec process QuickCheck tasty
+         tasty-expected-failure tasty-golden tasty-hunit tasty-quickcheck
        ];
        description = "Parsing and pretty-printing Bash shell scripts";
        license = stdenv.lib.licenses.bsd3;
@@ -149937,6 +150396,25 @@ self: {
        broken = true;
      }) {};
 
+  "lex-applicative" = callPackage
+    ({ mkDerivation, base, dlist, gauge, hs-functors
+     , parser-combinators, regex-applicative, text, ucd
+     , unicode-transforms, util
+     }:
+     mkDerivation {
+       pname = "lex-applicative";
+       version = "0.0.0.1";
+       sha256 = "0dc48xgvky480a1rl9zfyz3ychjlxnyssdmpbzkb795kdkmny2nz";
+       libraryHaskellDepends = [
+         base dlist hs-functors parser-combinators regex-applicative text
+         ucd unicode-transforms util
+       ];
+       testHaskellDepends = [ base util ];
+       benchmarkHaskellDepends = [ base gauge util ];
+       description = "See README for more info";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lexer-applicative" = callPackage
     ({ mkDerivation, base, deepseq, regex-applicative, srcloc, tasty
      , tasty-hunit
@@ -150155,8 +150633,8 @@ self: {
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "2.1.2.0";
-       sha256 = "00j1xrfwcmfb2dhz04dy4p2aryp751mmp6hpdcbm2xdhzdxrgkjf";
+       version = "2.1.3.2";
+       sha256 = "1z934rl8dm4ncp7qs6kqm2hiir41k5ysrpp44nb6rgzs8f8x46mr";
        setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
@@ -151372,8 +151850,8 @@ self: {
      }:
      mkDerivation {
        pname = "lightstep-haskell";
-       version = "0.4.4";
-       sha256 = "0y1pvb4ic9q3ma9vjlsg0spw3wq6ll9za8nys88083bm08098wfd";
+       version = "0.4.5";
+       sha256 = "19bzwx2vklagyddr3cnk33ydlwyjnq12chbmj3djg9a8ar9rsrph";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -155389,7 +155867,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_8_2_0" = callPackage
+  "lsp-test_0_9_0_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -155398,8 +155876,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.8.2.0";
-       sha256 = "1762avrs4fkkd9v8i76giaf6km5f3lds5laickn7la7zq7ysh8a3";
+       version = "0.9.0.0";
+       sha256 = "0igd27msf3ya4i3pby434d0pa51qpr27vxyfv0q4i38ajj4ndsx4";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -156079,8 +156557,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.3.0.1";
-       sha256 = "0rq7kafqnv16313ymcq6vcslgf4ls4zjw7n5i73vp7iwsh80pl5d";
+       version = "0.3.0.5";
+       sha256 = "0mlwcchikmiaq6scs48g2snaiwcznwrcfksn4yij4hagjz734rpq";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -157727,19 +158205,17 @@ self: {
      }:
      mkDerivation {
        pname = "map-reduce-folds";
-       version = "0.1.0.1";
-       sha256 = "0jvgg1wk8qaxd7w3d5y7hr62xswy7xqs7b12jdjwzxm7d6k47lvq";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.0.3";
+       sha256 = "0hkdsip3d9nvdalsra7bg7ynah3vv46lg07c7f01psv031gkhgik";
        libraryHaskellDepends = [
          base containers discrimination foldl hashable hashtables parallel
          profunctors split streaming streamly text unordered-containers
          vector
        ];
-       executableHaskellDepends = [
-         base containers foldl profunctors text unordered-containers
+       testHaskellDepends = [
+         base containers foldl hedgehog profunctors text
+         unordered-containers
        ];
-       testHaskellDepends = [ base containers foldl hedgehog ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq foldl profunctors random text
          unordered-containers
@@ -157835,6 +158311,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "maquinitas-tidal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "maquinitas-tidal";
+       version = "0.1.0";
+       sha256 = "1gdbcjhcdgk1jx674rbh4lr1xbcks18xiygywsh3pv846wh3m0n6";
+       libraryHaskellDepends = [ base ];
+       description = "library for MIDI control of hardware";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "marihana" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -162851,8 +163338,8 @@ self: {
     ({ mkDerivation, base, vector }:
      mkDerivation {
        pname = "mmsyn2";
-       version = "0.1.6.1";
-       sha256 = "0z9crc0x1mi467a3b1q5xrj7syp2m8zb1p69w8l9bhjhab780ljy";
+       version = "0.1.7.0";
+       sha256 = "1laskxwmylmg7mzm4h6z013s7rhfxf9y1mrvy4dp1cc80kq3scg0";
        libraryHaskellDepends = [ base vector ];
        description = "The library that can be used for multiple (Ord a) => a -> b transformations";
        license = stdenv.lib.licenses.mit;
@@ -162864,8 +163351,8 @@ self: {
     ({ mkDerivation, base, directory }:
      mkDerivation {
        pname = "mmsyn3";
-       version = "0.1.3.0";
-       sha256 = "0asxxv2ykwn82lr744ihfip8lhck888l3rvn4qadjdapv1sn3zfx";
+       version = "0.1.4.0";
+       sha256 = "1i93744jprkg94lwcas2hvb341m6j08ncn1lzlz6d8z2blpd5z4w";
        libraryHaskellDepends = [ base directory ];
        description = "A small library to deal with executable endings";
        license = stdenv.lib.licenses.mit;
@@ -162876,8 +163363,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn4";
-       version = "0.1.2.0";
-       sha256 = "0q3lxkfknmw1jfv8kf3vz09zdkxqrqpzdb5zxxmy1v92g8hgvxs6";
+       version = "0.1.5.0";
+       sha256 = "0bwdngcasppsfk7znijzimgrrbiilapz4cqg45j2xvd5niaqkfkm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -162906,8 +163393,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn6ukr";
-       version = "0.5.1.0";
-       sha256 = "1jmbfs0yi7r9lmaxq3dfyrw1rrwhknb7v4xfhrz3w7s8jg3vqs2x";
+       version = "0.6.2.0";
+       sha256 = "1qmyak0srd3ksj8kk8a8dyy6cbg9kdacdlldnpw46778a5792k0m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -162923,6 +163410,50 @@ self: {
        broken = true;
      }) {};
 
+  "mmsyn7h" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn6ukr, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn7h";
+       version = "0.2.1.0";
+       sha256 = "0ip5w42wrng87lyygawqdfwfi5ba9qam5ryc1mf7mzfcfajpfh3b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       description = "A program and a library that produces a sound recording specified by the Ukrainian text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mmsyn7ukr" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn6ukr, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn7ukr";
+       version = "0.3.0.1";
+       sha256 = "0pl8yhc1c888xxbn5y6yksdfdwakx46c9nr1mwv474ra266fkcmp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr process vector
+       ];
+       description = "A simple basic interface to some SoX functionality or to produce a voice that can be used by mmsyn7h";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-msgpack, deepseq, hspec, http-conduit, QuickCheck, text
@@ -165093,6 +165624,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mono-traversable_1_0_15_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, foldl, gauge
+     , hashable, hspec, HUnit, mwc-random, QuickCheck, semigroups, split
+     , text, transformers, unordered-containers, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "mono-traversable";
+       version = "1.0.15.1";
+       sha256 = "1psxhfjmpv3y54wy8f8dwa43finlj7aw2mry67pg521gxmwmppy2";
+       libraryHaskellDepends = [
+         base bytestring containers hashable split text transformers
+         unordered-containers vector vector-algorithms
+       ];
+       testHaskellDepends = [
+         base bytestring containers foldl hspec HUnit QuickCheck semigroups
+         text transformers unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [ base gauge mwc-random vector ];
+       description = "Type classes for mapping, folding, and traversing monomorphic containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mono-traversable-instances" = callPackage
     ({ mkDerivation, base, comonad, containers, dlist, dlist-instances
      , mono-traversable, semigroupoids, semigroups, transformers
@@ -165546,8 +166101,8 @@ self: {
     ({ mkDerivation, base, binary, containers, hspec }:
      mkDerivation {
        pname = "more-containers";
-       version = "0.2.1.2";
-       sha256 = "104ffslcjr8rfbsjy2g49v8l3nx9xrfqglmwcsfgar0n0xnh62ds";
+       version = "0.2.2.0";
+       sha256 = "1i4klvfwgw608sy81mqqvd107b187gkib2rwsz6aqc4rh0vm0a87";
        libraryHaskellDepends = [ base binary containers ];
        testHaskellDepends = [ base binary containers hspec ];
        description = "A few more collections";
@@ -165608,44 +166163,46 @@ self: {
 
   "morley" = callPackage
     ({ mkDerivation, aeson, aeson-options, aeson-pretty, base-noprelude
-     , base16-bytestring, base58-bytestring, binary, bytestring
+     , base16-bytestring, base58-bytestring, bimap, binary, bytestring
      , constraints, containers, cryptonite, data-default, directory
-     , filepath, fmt, formatting, generic-arbitrary, ghc-prim, hex-text
-     , hspec, hspec-expectations, HUnit, lens, megaparsec, memory
-     , morley-prelude, mtl, named, optparse-applicative
-     , parser-combinators, pretty-simple, qm-interpolated-string
-     , QuickCheck, quickcheck-arbitrary-adt, quickcheck-instances
-     , singletons, syb, tasty, tasty-ant-xml, tasty-discover
-     , tasty-hspec, tasty-quickcheck, template-haskell, text, time
-     , timerep, transformers-compat, vector, vinyl, wl-pprint-text
+     , filepath, first-class-families, fmt, formatting, ghc-prim, gitrev
+     , hex-text, hspec, hspec-expectations, HUnit, interpolate, lens
+     , megaparsec, memory, morley-prelude, mtl, named
+     , optparse-applicative, parser-combinators, pretty-simple
+     , pretty-terminal, QuickCheck, quickcheck-arbitrary-adt
+     , quickcheck-instances, show-type, singletons, spoon, syb, tasty
+     , tasty-ant-xml, tasty-discover, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, timerep
+     , transformers-compat, unordered-containers, vector, vinyl
+     , wl-pprint-text
      }:
      mkDerivation {
        pname = "morley";
-       version = "0.3.0.1";
-       sha256 = "042kzx6n7jc6chqjvm7l14gpyywvy2s193xsnsvax5cisppm752m";
+       version = "0.5.0";
+       sha256 = "0p84m66iklsqs8hhz33755lrqrjmp7xc9x62qbqj5bdg9mfi6kl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-options aeson-pretty base-noprelude base16-bytestring
-         base58-bytestring binary bytestring constraints containers
-         cryptonite data-default filepath fmt formatting ghc-prim hex-text
-         hspec lens megaparsec memory morley-prelude mtl named
-         parser-combinators QuickCheck quickcheck-arbitrary-adt
-         quickcheck-instances singletons syb tasty tasty-ant-xml
-         template-haskell text time timerep transformers-compat vector vinyl
-         wl-pprint-text
+         base58-bytestring bimap binary bytestring constraints containers
+         cryptonite data-default first-class-families fmt formatting
+         ghc-prim gitrev hex-text hspec interpolate lens megaparsec memory
+         morley-prelude mtl named parser-combinators pretty-terminal
+         QuickCheck quickcheck-arbitrary-adt quickcheck-instances show-type
+         singletons syb tasty tasty-ant-xml tasty-hunit template-haskell
+         text time timerep transformers-compat unordered-containers vector
+         vinyl wl-pprint-text
        ];
        executableHaskellDepends = [
-         base-noprelude data-default directory filepath fmt megaparsec
-         morley-prelude named optparse-applicative pretty-simple text
+         base-noprelude fmt morley-prelude named optparse-applicative
+         pretty-simple
        ];
        testHaskellDepends = [
-         aeson base-noprelude bytestring containers data-default directory
-         filepath fmt formatting generic-arbitrary hex-text hspec
-         hspec-expectations HUnit lens megaparsec morley-prelude mtl
-         qm-interpolated-string QuickCheck quickcheck-arbitrary-adt
-         quickcheck-instances singletons syb tasty tasty-hspec
-         tasty-quickcheck text
+         aeson base-noprelude bimap bytestring constraints containers
+         data-default directory filepath fmt formatting hex-text hspec
+         hspec-expectations HUnit lens megaparsec morley-prelude QuickCheck
+         quickcheck-arbitrary-adt quickcheck-instances singletons spoon syb
+         tasty tasty-hspec tasty-quickcheck text unordered-containers vinyl
        ];
        testToolDepends = [ tasty-discover ];
        description = "Developer tools for the Michelson Language";
@@ -165658,8 +166215,8 @@ self: {
     ({ mkDerivation, base-noprelude, universum }:
      mkDerivation {
        pname = "morley-prelude";
-       version = "0.2.0.1";
-       sha256 = "0dc0hi1gnw5ri7m0fl0pk3frgsnav1al4b6h4kwamhz4qh3av9b2";
+       version = "0.3.0";
+       sha256 = "1nrwrz54xg0v9v8f1caccpdav1d0nnjqy8r8wmj5cgf9y30jfzjf";
        libraryHaskellDepends = [ base-noprelude universum ];
        description = "A custom prelude used in Morley";
        license = stdenv.lib.licenses.agpl3Plus;
@@ -165696,8 +166253,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.7.1";
-       sha256 = "1yh49icsq68xbw9gmvqssy4piaqb97cy39jg4a20360j9sfr87dp";
+       version = "0.8.0";
+       sha256 = "1b2c39mgh66vkgzhz857m8mlb3kymxnfli0v3z9mrj39a75m6imz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific
@@ -166363,8 +166920,8 @@ self: {
      }:
      mkDerivation {
        pname = "ms-tds";
-       version = "0.4.0.0";
-       sha256 = "0smdr7inwix9hbllj5r217pa17i6ha0wbciqnq9cjsjs9wjnybhh";
+       version = "0.4.0.1";
+       sha256 = "1yjvbn6a50wvcibvi5na6x1d7864zyspqhljvr0dpcfrz3s2yc31";
        libraryHaskellDepends = [
          array base binary bytestring crypto-random data-default-class mtl
          network template-haskell text time tls uuid-types x509-store
@@ -167464,15 +168021,17 @@ self: {
      }) {};
 
   "multiset" = callPackage
-    ({ mkDerivation, base, containers, deepseq, doctest, Glob }:
+    ({ mkDerivation, base, checkers, containers, deepseq, doctest
+     , QuickCheck, tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "multiset";
-       version = "0.3.4.1";
-       sha256 = "05iynv54mgfwil7l81ni8mrhhb5vz3fdls13vm2m3dnwqgp7vzxh";
-       revision = "1";
-       editedCabalFile = "1ddnvzpa9h21p013dwzf0iv2fvvf8mba6vaccf4anamvwa327kcl";
+       version = "0.3.4.3";
+       sha256 = "1i0mjjdv8ayfars014nch5p3jlbl1wlr1bbkp7q2iknkllasxz3r";
        libraryHaskellDepends = [ base containers deepseq ];
-       testHaskellDepends = [ base doctest Glob ];
+       testHaskellDepends = [
+         base checkers doctest QuickCheck tasty tasty-quickcheck
+       ];
        description = "The Data.MultiSet container type";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -168046,8 +168605,8 @@ self: {
      }:
      mkDerivation {
        pname = "mustache";
-       version = "2.3.0";
-       sha256 = "1q3vadcvv2pxg6rpp92jq5zy784jxphdfpf6xn9y6wg9g3jn7201";
+       version = "2.3.1";
+       sha256 = "0j5kzlirirnj2lscxgc6r9j0if8s3pvxswjblma6yxpw6qyzk2xc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170136,8 +170695,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.6.2.1";
-       sha256 = "09l9m213x1v7cvrfr039hg2c1pa4dknyhj827h9n0w9pawj61r55";
+       version = "0.6.2.2";
+       sha256 = "08svb0k43aqycbms2cabng49dgsiwsjw10lqmjsm18iasgr53gk0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170899,8 +171458,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-arbitrary";
-       version = "0.4.0.7";
-       sha256 = "1bqdp7g40dxjin5530sb7mv9ga7qi86ppm4y41wfdyv26kl8lc7f";
+       version = "0.5.0.0";
+       sha256 = "1d3m0ycibbvnjbns4havp25x9i5ri6kirv579k1xnb82by4nkqap";
        libraryHaskellDepends = [
          base bytestring http-media http-types network-uri QuickCheck
        ];
@@ -170940,20 +171499,21 @@ self: {
 
   "network-bitcoin" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cookie, HTTP
-     , http-client, http-types, network, network-uri, QuickCheck, text
-     , time, unordered-containers, vector
+     , http-client, http-types, network, network-uri, QuickCheck, tasty
+     , tasty-quickcheck, text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "network-bitcoin";
-       version = "1.8.3";
-       sha256 = "1pllz4il53j9sf6xlxjl3ci3r1n348y6mg0vdy19xy19zy1rjz1q";
+       version = "1.9.1";
+       sha256 = "12ywzix3fpvlrd43v0q03lbm877pi2dz2x9w421sxvb6gvd2q7s0";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cookie HTTP http-client http-types
          network network-uri text time unordered-containers vector
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring cookie HTTP http-client http-types
-         network QuickCheck text time unordered-containers vector
+         network QuickCheck tasty tasty-quickcheck text time
+         unordered-containers vector
        ];
        description = "An interface to bitcoind";
        license = stdenv.lib.licenses.bsd3;
@@ -172619,8 +173179,8 @@ self: {
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.8";
-       sha256 = "0nggarlbfc8x5y7rp8n5fdzy3xipykxq4fk6irz1jsz4m6fbi9a4";
+       version = "0.2.9";
+       sha256 = "1rmmipa33a8nip6fn616ihdiqdax15niblzspfk8ckrz5fpj2476";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -174205,6 +174765,17 @@ self: {
        broken = true;
      }) {};
 
+  "numeric-domains" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numeric-domains";
+       version = "0.1.0.0";
+       sha256 = "0n5wcg2snpivbp6giqrcd1y97215y6n3hbgbnb6w2gi7qsmyyq10";
+       libraryHaskellDepends = [ base ];
+       description = "Numeric Domains";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "numeric-extras" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -174381,21 +174952,20 @@ self: {
      }) {};
 
   "numhask-array" = callPackage
-    ({ mkDerivation, adjunctions, base, deepseq, dimensions
-     , distributive, doctest, hedgehog, numhask-hedgehog
-     , numhask-prelude, protolude, singletons, vector
+    ({ mkDerivation, adjunctions, base, deepseq, distributive, doctest
+     , hedgehog, hmatrix, numhask, numhask-hedgehog, numhask-prelude
+     , protolude, vector
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.3.0.1";
-       sha256 = "02pcjnj1y3q053czra9697b4xgyq8dr9ynp7yz3lj9ksnn8dpx5n";
+       version = "0.5.0.0";
+       sha256 = "0gx2p7b7xb1x5nfp5szdvsbylqsci9bmmz5jmy86c4z13srxmkkq";
        libraryHaskellDepends = [
-         adjunctions base deepseq dimensions distributive numhask-prelude
-         protolude singletons vector
+         adjunctions base deepseq distributive hmatrix numhask
+         numhask-prelude protolude vector
        ];
        testHaskellDepends = [
-         adjunctions base dimensions doctest hedgehog numhask-hedgehog
-         numhask-prelude
+         base doctest hedgehog numhask-hedgehog numhask-prelude
        ];
        description = "n-dimensional arrays";
        license = stdenv.lib.licenses.bsd3;
@@ -175896,8 +176466,8 @@ self: {
     ({ mkDerivation, base, containers, doctest }:
      mkDerivation {
        pname = "op";
-       version = "0.3.0.0";
-       sha256 = "0as0nswa28mbw7qp1p1pjvvr4iv6zd81rka9g51fy2w52260lmpv";
+       version = "0.4.0.0";
+       sha256 = "17wng5pl4d92nkrmbzwi1c8l3cdh9ms50p6m7vvc4z1x4gnp9lf9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base containers doctest ];
        description = "Common operators encouraging large-scale easy reading";
@@ -178125,23 +178695,23 @@ self: {
      }) {};
 
   "overloaded" = callPackage
-    ({ mkDerivation, base, bytestring, containers, fin, generic-lens
-     , ghc, HUnit, lens, optics-core, record-hasfield, singleton-bool
-     , sop-core, split, syb, symbols, tasty, tasty-hunit, text, time
-     , vec
+    ({ mkDerivation, base, bin, bytestring, containers, fin
+     , generic-lens, ghc, HUnit, lens, optics-core, ral, record-hasfield
+     , singleton-bool, sop-core, split, syb, symbols, tasty, tasty-hunit
+     , text, time, vec
      }:
      mkDerivation {
        pname = "overloaded";
-       version = "0.1.3";
-       sha256 = "0yz94zzcwdw34c5v9qmqak9bwqz8gq1s80phf9rn8p0bg6a4l0h4";
+       version = "0.2";
+       sha256 = "1kp3vbdfwp9caicmj2k1qznbsn844pm75sy8ywwm86334f08vshk";
        libraryHaskellDepends = [
-         base bytestring containers fin ghc optics-core record-hasfield
-         sop-core split syb symbols text time vec
+         base bin bytestring containers fin ghc optics-core ral
+         record-hasfield sop-core split syb symbols text time vec
        ];
        testHaskellDepends = [
-         base bytestring containers fin generic-lens HUnit lens optics-core
-         record-hasfield singleton-bool sop-core symbols tasty tasty-hunit
-         text time vec
+         base bin bytestring containers fin generic-lens HUnit lens
+         optics-core ral record-hasfield singleton-bool sop-core symbols
+         tasty tasty-hunit text time vec
        ];
        doHaddock = false;
        description = "Overloaded pragmas as a plugin";
@@ -178823,25 +179393,25 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_9" = callPackage
+  "pandoc_2_9_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
      , case-insensitive, cmark-gfm, containers, criterion, data-default
      , deepseq, Diff, directory, doclayout, doctemplates, emojis
      , exceptions, executable-path, filepath, Glob, haddock-library
      , hslua, hslua-module-system, hslua-module-text, HsYAML, HTTP
-     , http-client, http-client-tls, http-types, ipynb, JuicyPixels, mtl
-     , network, network-uri, pandoc-types, parsec, process, QuickCheck
-     , random, safe, scientific, SHA, skylighting, skylighting-core
-     , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
-     , tasty-quickcheck, temporary, texmath, text, text-conversions
-     , time, unicode-transforms, unix, unordered-containers, vector
-     , weigh, xml, zip-archive, zlib
+     , http-client, http-client-tls, http-types, ipynb, jira-wiki-markup
+     , JuicyPixels, mtl, network, network-uri, pandoc-types, parsec
+     , process, QuickCheck, random, safe, scientific, SHA, skylighting
+     , skylighting-core, split, syb, tagsoup, tasty, tasty-golden
+     , tasty-hunit, tasty-lua, tasty-quickcheck, temporary, texmath
+     , text, text-conversions, time, unicode-transforms, unix
+     , unordered-containers, vector, weigh, xml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.9";
-       sha256 = "1j4n7r4rh22ba4m4h3psy2jm3cxfd6pxlbpw0z613z01g30mr90c";
+       version = "2.9.1";
+       sha256 = "1ywbsx8389vp4a85sxajdgj0vis4v8y6zkq87lla0s1lprk3am0a";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -178852,11 +179422,11 @@ self: {
          containers data-default deepseq directory doclayout doctemplates
          emojis exceptions filepath Glob haddock-library hslua
          hslua-module-system hslua-module-text HsYAML HTTP http-client
-         http-client-tls http-types ipynb JuicyPixels mtl network
-         network-uri pandoc-types parsec process random safe scientific SHA
-         skylighting skylighting-core split syb tagsoup temporary texmath
-         text text-conversions time unicode-transforms unix
-         unordered-containers vector xml zip-archive zlib
+         http-client-tls http-types ipynb jira-wiki-markup JuicyPixels mtl
+         network network-uri pandoc-types parsec process random safe
+         scientific SHA skylighting skylighting-core split syb tagsoup
+         temporary texmath text text-conversions time unicode-transforms
+         unix unordered-containers vector xml zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -178978,8 +179548,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.6.0";
-       sha256 = "0k1wvkjhlwgr8njsrjiivzyb1pbi17y6nxky4pb5wkkg57fd5847";
+       version = "0.3.6.1";
+       sha256 = "1fk06lg9hx5gdmjf4qsgl4p34y676v33l8yc0hyrdx81v8yicp5m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179111,8 +179681,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-include-code";
-       version = "1.4.0.0";
-       sha256 = "0s3dayslfpnivr5h6napcrdh35bay7797z8nxjhr7c78ni7gdax9";
+       version = "1.5.0.0";
+       sha256 = "07ah6f28sb68wdp3514jmxgh2bdvwqdn60ym8j0qbk98i9gsj0ax";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179122,7 +179692,7 @@ self: {
        executableHaskellDepends = [ base pandoc-types ];
        testHaskellDepends = [
          base hspec hspec-expectations pandoc-types tasty tasty-hspec
-         tasty-hunit
+         tasty-hunit text
        ];
        description = "A Pandoc filter for including code from source files";
        license = stdenv.lib.licenses.mpl20;
@@ -179449,8 +180019,8 @@ self: {
      }:
      mkDerivation {
        pname = "pango";
-       version = "0.13.6.1";
-       sha256 = "1b17nap158ml58ks0zsdqx6v7gbdwaha1m0rw4bh4if7h0ai9vxp";
+       version = "0.13.8.0";
+       sha256 = "1skyfj0phd5hzpk86lj7qx0g6n09b1cfijlf759p7v34f47g6w2s";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal filepath gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -180503,6 +181073,31 @@ self: {
        license = "GPL";
      }) {};
 
+  "parquet-hs" = callPackage
+    ({ mkDerivation, aeson, base, binary, binary-conduit, bytestring
+     , conduit, conduit-extra, containers, error-util, filepath
+     , generic-lens, hspec, http-client, http-conduit, http-types, lens
+     , lifted-async, monad-logger, mtl, pinch, process, QuickCheck, safe
+     , serialise, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "parquet-hs";
+       version = "0.1.0.0";
+       sha256 = "128fmwz2jnljrbj5zagw4wqqnv7zn0xs4cmaisp6qrxjsfjfiy2j";
+       libraryHaskellDepends = [
+         aeson base binary binary-conduit bytestring conduit conduit-extra
+         containers error-util generic-lens http-client http-conduit
+         http-types lens lifted-async monad-logger mtl pinch safe serialise
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base binary bytestring conduit filepath hspec monad-logger
+         mtl process QuickCheck text
+       ];
+       description = "Streaming Parquet reader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "parse-dimacs" = callPackage
     ({ mkDerivation, array, base, bytestring, parsec }:
      mkDerivation {
@@ -183370,24 +183965,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-iproute";
-       version = "0.2.3";
-       sha256 = "1amzxmwispqi29ln50mfj43i1srl53n5iz7lsq8rxhd1x8fa35gm";
-       revision = "1";
-       editedCabalFile = "1jly9db968q5j5ly75f77hwxrhky3s6xx8ydgsjn5cdr9rc4iz8k";
-       libraryHaskellDepends = [
-         aeson aeson-iproute base bytestring http-api-data iproute
-         path-pieces persistent text
-       ];
-       description = "Persistent instances for types in iproute";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "persistent-iproute_0_2_4" = callPackage
-    ({ mkDerivation, aeson, aeson-iproute, base, bytestring
-     , http-api-data, iproute, path-pieces, persistent, text
-     }:
-     mkDerivation {
-       pname = "persistent-iproute";
        version = "0.2.4";
        sha256 = "1lsprnlgcnj8v38cnbgf2vpj9ivgsvgi3yy3nh1gmvyj7maznkq5";
        libraryHaskellDepends = [
@@ -183396,7 +183973,6 @@ self: {
        ];
        description = "Persistent instances for types in iproute";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-map" = callPackage
@@ -184320,25 +184896,24 @@ self: {
        broken = true;
      }) {};
 
-  "pg-transact_0_2_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, exceptions, hspec
-     , hspec-discover, hspec-expectations-lifted, monad-control
+  "pg-transact_0_3_1_1" = callPackage
+    ({ mkDerivation, async, base, bytestring, exceptions, hspec
+     , hspec-expectations-lifted, monad-control, postgresql-libpq
      , postgresql-simple, tmp-postgres, transformers
      }:
      mkDerivation {
        pname = "pg-transact";
-       version = "0.2.1.0";
-       sha256 = "1wh4qf00ggyx6ff3llpcbnlbhn61c3yqqd3ljjglwv2bfjhrgajh";
+       version = "0.3.1.1";
+       sha256 = "1z101hbfan8aidq7lcnzzni4b7ji8sbbqx1yar6ykf6wmzmn2pcd";
        libraryHaskellDepends = [
          base bytestring exceptions monad-control postgresql-simple
          transformers
        ];
        testHaskellDepends = [
-         base bytestring exceptions hspec hspec-discover
-         hspec-expectations-lifted postgresql-simple tmp-postgres
+         async base bytestring exceptions hspec hspec-expectations-lifted
+         postgresql-libpq postgresql-simple tmp-postgres
        ];
-       testToolDepends = [ hspec-discover ];
-       description = "Another postgresql-simple transaction monad";
+       description = "A postgresql-simple transaction monad";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -188969,16 +189544,18 @@ self: {
      }) {inherit (pkgs) acl;};
 
   "posix-api" = callPackage
-    ({ mkDerivation, base, primitive, primitive-addr, primitive-offset
-     , primitive-unlifted, tasty, tasty-hunit
+    ({ mkDerivation, base, byteslice, primitive, primitive-addr
+     , primitive-offset, primitive-unlifted, systemd, tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "posix-api";
-       version = "0.3.2.0";
-       sha256 = "1ki45p31cc1zplzsi9kln85rm556rwk5yvwgsb75bcgqwg6xpcl8";
+       version = "0.3.3.0";
+       sha256 = "0a4npmhgnpq7ya21zijsxhyndr9swlknh6v7rn6y9qbva4q3gjx7";
        libraryHaskellDepends = [
-         base primitive primitive-addr primitive-offset primitive-unlifted
+         base byteslice primitive primitive-addr primitive-offset
+         primitive-unlifted
        ];
+       librarySystemDepends = [ systemd ];
        testHaskellDepends = [
          base primitive primitive-unlifted tasty tasty-hunit
        ];
@@ -188986,7 +189563,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {inherit (pkgs) systemd;};
 
   "posix-error-codes" = callPackage
     ({ mkDerivation, base }:
@@ -189779,8 +190356,6 @@ self: {
        ];
        description = "Parse postgres:// url into ConnectInfo";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgresql-syntax" = callPackage
@@ -190566,8 +191141,8 @@ self: {
      }:
      mkDerivation {
        pname = "predicate-typed";
-       version = "0.6.0.0";
-       sha256 = "0fk30pn759fg9v2k5gw51hk6vkp2vq4sh574zlqdk4vx6r2r5jrp";
+       version = "0.6.0.1";
+       sha256 = "1izg98ql496qn8dvn3blz2654bhy8901x7hfh0dxqqzrm1gi5bf4";
        libraryHaskellDepends = [
          aeson base binary bytestring comonad containers deepseq directory
          ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
@@ -191211,15 +191786,15 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_1_1_0" = callPackage
+  "pretty-simple_3_2_0_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.1.1.0";
-       sha256 = "073x8jwnar4p7615dk0x92d76in2xwsgpip3w3hgq948c4ydmv58";
+       version = "3.2.0.0";
+       sha256 = "0jbxyjiyshbc5q5avbmm5ms8n8m0zm540gl3x7vz8k22pcb65jv8";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -192669,21 +193244,26 @@ self: {
      }) {};
 
   "profunctor-optics" = callPackage
-    ({ mkDerivation, base, comonad, connections, containers
-     , distributive, doctest, ilist, mtl, newtype-generics
-     , profunctor-arrows, profunctors, rings, semigroupoids, tagged
-     , transformers, unliftio-core
+    ({ mkDerivation, adjunctions, base, comonad, connections
+     , containers, distributive, doctest, hedgehog, ilist, mtl
+     , newtype-generics, profunctor-arrows, profunctors, rings
+     , semigroupoids, tagged, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "profunctor-optics";
-       version = "0.0.0.2";
-       sha256 = "0xf7aikcbp1vgdd5bd4rf94w6iavwbxrxbr67prddqanv3jmjqn9";
+       version = "0.0.0.4";
+       sha256 = "0r3ixf0j1iass289mkxkjrmljxhybqk7bqz3acinf5qh52318kk5";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base comonad connections containers distributive ilist mtl
+         adjunctions base comonad connections distributive mtl
          newtype-generics profunctor-arrows profunctors rings semigroupoids
          tagged transformers unliftio-core
        ];
-       testHaskellDepends = [ base containers doctest mtl ];
+       executableHaskellDepends = [
+         adjunctions base containers doctest ilist mtl
+       ];
+       testHaskellDepends = [ base connections hedgehog ];
        description = "An optics library compatible with the typeclasses in 'profunctors'";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -195793,8 +196373,8 @@ self: {
      }:
      mkDerivation {
        pname = "qrcode-core";
-       version = "0.9.1";
-       sha256 = "1mklz3r4z2ifzsl061rqjhrnis1a1fyvaxlp6dws4y95dy4slm92";
+       version = "0.9.2";
+       sha256 = "17a21a65n3hm739q7kgvpd4wvqz3i5y9bdkl6072ch87j0baqmpy";
        libraryHaskellDepends = [
          base binary bytestring case-insensitive containers dlist primitive
          text vector
@@ -195854,8 +196434,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.5.1";
-       sha256 = "1pwqc5i6viyk3ik8vh2zd9k25vj9y1r9mmikxwzjhv6jwc8sb5pb";
+       version = "0.6.0";
+       sha256 = "1v355mfs67rh2rcn71rkai0c16y3aqcb7q33ykhrghcl7238ym9h";
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
@@ -195871,8 +196451,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.5.0";
-       sha256 = "087sspnaw39zcymkm0xzyzdbc4g96zlpa45b2i6mfshxi4g38af5";
+       version = "0.6.0";
+       sha256 = "0zak709bgc9r8bydj834hkzix9zripnhi5z792ryr3k7anmyy6fv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -195885,21 +196465,21 @@ self: {
      }) {};
 
   "qtah-generator" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, filepath
-     , haskell-src, hoppy-generator, hoppy-std, mtl, process
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, haskell-src, hoppy-generator, hoppy-std, mtl, process
      , transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.5.0";
-       sha256 = "0kbc3dpmkxxi2ms6a7dga02g19vq9fm0hz53y9x6iyfpnlpk1sy7";
+       version = "0.6.0";
+       sha256 = "0w7fsn2j5g5miv12gm3d0x52xypbshdmxza6imjnpz01kljhqhpm";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
-         base containers directory filepath haskell-src hoppy-generator
-         hoppy-std mtl process transformers
+         base bytestring containers directory filepath haskell-src
+         hoppy-generator hoppy-std mtl process transformers
        ];
        doHaddock = false;
        description = "Generator for Qtah Qt bindings";
@@ -195915,8 +196495,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.5.1";
-       sha256 = "082mz3j3bk7hlagwdw0y399r8jid2wf6xzsdd2wnc4n6z6w6p8gx";
+       version = "0.6.0";
+       sha256 = "1irinnq1iryphnnqg05l3icirvzkh5xm4cdwhqvshbin7i6gv0bs";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
@@ -199642,6 +200222,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "read-ctags" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hspec
+     , optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "read-ctags";
+       version = "0.1.0.0";
+       sha256 = "1w6f8p6v3sry42pg8zizfyagknfmpn47vzk3a2c2n2bv1ib0v1hf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers directory text
+       ];
+       executableHaskellDepends = [
+         base bytestring containers directory optparse-applicative text
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory hspec text
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "read-editor" = callPackage
     ({ mkDerivation, base, directory, process }:
      mkDerivation {
@@ -200893,8 +201495,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex";
-       version = "0.6.2.4";
-       sha256 = "1gm8w2ri16apy3b13i2f17pk1nsrsi0vbcrkckd1abbm4r4i16cd";
+       version = "0.6.3";
+       sha256 = "0nrmc86dinkxvfyj1wh57g816hzqxs583ipaqiq9gipadsa2jgcs";
        libraryHaskellDepends = [
          base bifunctors comonad constraints-extras containers data-default
          dependent-map dependent-sum exception-transformers haskell-src-exts
@@ -201011,8 +201613,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom";
-       version = "0.5.2.0";
-       sha256 = "01sqql44jcn7d9xcb00br99zgyghiyqzcmncfpz4dgik10dam1hv";
+       version = "0.5.3";
+       sha256 = "04xnalhrckz5idnx1d4d93nz8fnxnjsd03kciln36wwd895bcmrk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201074,8 +201676,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom-core";
-       version = "0.5.2.0";
-       sha256 = "1vqd6viqg9di9z0wchi3ffcia4spljf3dal8l21k7qhwcbz4g3jz";
+       version = "0.5.3";
+       sha256 = "0znymqld4d6fp8l14y0gn86nbffaw8b0ql0y7bj3vnx80crjc32j";
        libraryHaskellDepends = [
          aeson base bifunctors bimap blaze-builder bytestring constraints
          containers contravariant data-default dependent-map dependent-sum
@@ -203173,8 +203775,8 @@ self: {
        pname = "repa";
        version = "3.4.1.4";
        sha256 = "17m3wl4hvf04fxwm4fflhnv41yl9bm263hnbpxc8x6xqwifplq23";
-       revision = "2";
-       editedCabalFile = "16kyy7ck3yki0mlcap0bbiadcn18yn6x90m4s2prkasi9ip0pcs8";
+       revision = "3";
+       editedCabalFile = "17hxj42cm82sac42by78jgbjjn5r3qv7n4919llaq17a2k1np0sw";
        libraryHaskellDepends = [
          base bytestring ghc-prim QuickCheck template-haskell vector
        ];
@@ -203188,6 +203790,8 @@ self: {
        pname = "repa-algorithms";
        version = "3.4.1.3";
        sha256 = "1bhg1vr85j9mqm9lg1577dvlgzdbkh9f48h0ll6h03jfw7knyn6y";
+       revision = "1";
+       editedCabalFile = "0lvb1sn95qca9m1b8cy0a2j9gjzqm8g5v68ykglffjskv78d0jfm";
        libraryHaskellDepends = [ base repa vector ];
        description = "Algorithms using the Repa array library";
        license = stdenv.lib.licenses.bsd3;
@@ -203278,8 +203882,8 @@ self: {
        pname = "repa-examples";
        version = "3.4.1.2";
        sha256 = "1lqqnk3prvw1pr2wi4rhymb8ij6mjp9mcsvjcllnxv567mz9gr4d";
-       revision = "2";
-       editedCabalFile = "0aghk6pav63hx13dzmp9v9izq7zv4kdc0vbbv2wr14i234ghljh9";
+       revision = "3";
+       editedCabalFile = "149wg57xkbnqymcmbd7i20kj37zyz0a4qm9426nkrrhkvs1acx52";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -203338,8 +203942,8 @@ self: {
        pname = "repa-io";
        version = "3.4.1.1";
        sha256 = "1nm9kfin6fv016r02l74c9hf8pr1rz7s33i833cqpyw8m6bcmnxm";
-       revision = "3";
-       editedCabalFile = "027vn7an0hm3ysnzk19y0dbjpah0wpg96dgb55149x1310vwybxl";
+       revision = "4";
+       editedCabalFile = "1lswfxmfn31gm2ayqwns9q9kpbad69scxpq6ybyzxkb9jd0jx4bl";
        libraryHaskellDepends = [
          base binary bmp bytestring old-time repa vector
        ];
@@ -203386,6 +203990,8 @@ self: {
        pname = "repa-scalar";
        version = "4.2.3.3";
        sha256 = "1qjzrmz010gm50in0yja817r6wl0n2iybd00dsfpcspdaq91ahvb";
+       revision = "1";
+       editedCabalFile = "14p7m3fyl3h6asxcb3lh67f3ypw85109fxfag5aycdr39g5xa6rm";
        libraryHaskellDepends = [
          base bytestring double-conversion primitive time vector
        ];
@@ -207636,6 +208242,8 @@ self: {
        pname = "rvar";
        version = "0.2.0.3";
        sha256 = "1h3bii1pamkv7656280i6zx7fpdwgbn2ysfijpd2s65szlpsz2np";
+       revision = "1";
+       editedCabalFile = "1ifwwjlhc3l8ycjmmarw6v1nm7jxpgqw2ly0q35idlj0jc0nbxn6";
        libraryHaskellDepends = [
          base MonadPrompt mtl random-source transformers
        ];
@@ -207935,7 +208543,7 @@ self: {
        broken = true;
      }) {};
 
-  "safe-json_1_0_0" = callPackage
+  "safe-json_1_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, dlist
      , generic-arbitrary, hashable, quickcheck-instances, scientific
      , tasty, tasty-hunit, tasty-quickcheck, temporary, text, time
@@ -207943,8 +208551,8 @@ self: {
      }:
      mkDerivation {
        pname = "safe-json";
-       version = "1.0.0";
-       sha256 = "0i5wryhfiqdqxgzzk9ywnlh4y8hvanrm2mqa0niavf4jgvkkfalh";
+       version = "1.1.0";
+       sha256 = "18zsf2dccgf755a8g4ar3zc7ilmampsrvqa6f9p27zrayl7j87hw";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -209622,6 +210230,27 @@ self: {
        broken = true;
      }) {};
 
+  "schedule" = callPackage
+    ({ mkDerivation, async, base, checkers, containers, doctest, extra
+     , lens, primitive, safe, stm, system-time-monotonic, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "schedule";
+       version = "0.2.0.0";
+       sha256 = "02sfzvkz0r1lyqbsiba866jhcfb5f223z09zj437d31vayn6nzay";
+       libraryHaskellDepends = [
+         async base containers extra lens primitive safe stm
+         system-time-monotonic text time transformers
+       ];
+       testHaskellDepends = [
+         base checkers doctest primitive tasty tasty-hunit tasty-quickcheck
+         transformers
+       ];
+       description = "Pure deterministic scheduled computations";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "schedule-planner" = callPackage
     ({ mkDerivation, aeson, base, bytestring, composition, containers
      , HTTP, http-types, mtl, options, text, text-icu, transformers, wai
@@ -209698,21 +210327,21 @@ self: {
   "schemas" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bifunctors, bytestring
      , free, generic-lens, generics-sop, hashable, hspec, lens
-     , lens-aeson, pretty-simple, profunctors, QuickCheck, scientific
-     , text, transformers, unordered-containers, vector
+     , lens-aeson, mtl, pretty-simple, profunctors, QuickCheck
+     , scientific, text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "schemas";
-       version = "0.3.0.2";
-       sha256 = "1rpsnfa98ckiaz5av9m2x6p96a5ilayry45nsplbrf70xaawz4nq";
+       version = "0.4.0.0";
+       sha256 = "1i8sapi31dwlhjvkhgcznd1mfw1h86hgg310x6zkz2m1wkazy5yr";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring free generics-sop hashable lens
-         lens-aeson profunctors scientific text transformers
+         lens-aeson mtl profunctors scientific text transformers
          unordered-containers vector
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring generic-lens generics-sop hspec
-         lens pretty-simple QuickCheck text transformers
+         lens mtl pretty-simple QuickCheck text transformers
          unordered-containers
        ];
        description = "schema guided serialization";
@@ -211238,6 +211867,30 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {inherit (pkgs) secp256k1;};
 
+  "secp256k1-haskell_0_1_6" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, cereal
+     , entropy, hashable, hspec, hspec-discover, HUnit, libsecp256k1
+     , mtl, QuickCheck, string-conversions
+     }:
+     mkDerivation {
+       pname = "secp256k1-haskell";
+       version = "0.1.6";
+       sha256 = "1xasiii9g6ypn9y89q7ramkgz7vx87fr21qqbh1657my4aaipv03";
+       libraryHaskellDepends = [
+         base base16-bytestring bytestring cereal entropy hashable
+         QuickCheck string-conversions
+       ];
+       libraryPkgconfigDepends = [ libsecp256k1 ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring cereal 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;
+     }) {libsecp256k1 = null;};
+
   "secp256k1-legacy" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, Cabal, cereal
      , cryptohash, entropy, HUnit, mtl, QuickCheck, string-conversions
@@ -211722,6 +212375,8 @@ self: {
        pname = "semialign-extras";
        version = "0.1.0.0";
        sha256 = "0wnaspwfj9rm7g9mz2q9xad5a9rvkfsrjb5lir64csppy3p11276";
+       revision = "1";
+       editedCabalFile = "0cz85cbv6qiv1rvlhnxxlibfys2qj5bfsjwwhmnkq91wm69scwpy";
        libraryHaskellDepends = [
          base lens semialign semialign-indexed these witherable
        ];
@@ -214991,6 +215646,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-to-elm" = callPackage
+    ({ mkDerivation, aeson, base, bound, elm-syntax, haskell-to-elm
+     , http-types, protolude, servant, text
+     }:
+     mkDerivation {
+       pname = "servant-to-elm";
+       version = "0.2.0.0";
+       sha256 = "0kj42y6jb5cqylkvj0iwm857vliagfgbh7rgyzbrgz834r7n5cri";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bound elm-syntax haskell-to-elm http-types protolude
+         servant text
+       ];
+       testHaskellDepends = [
+         aeson base bound elm-syntax haskell-to-elm http-types protolude
+         servant text
+       ];
+       description = "Automatically generate Elm clients for Servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-tracing" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, bytestring-lexing
      , containers, hashable, http-api-data, http-client, HUnit
@@ -215219,8 +215896,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.9.4";
-       sha256 = "11svl9km810xw4vbn3vd9jqnv9fglf5jqfyfshnjachiz38fdsih";
+       version = "0.10.0";
+       sha256 = "0ja15985r9jywlkc85r3qchi6i9mbkyjh3b0fkn6vwc8gh644nrk";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -216255,14 +216932,15 @@ self: {
 
   "shake" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, directory
-     , extra, filepath, filepattern, hashable, heaps, js-dgtable
-     , js-flot, js-jquery, primitive, process, QuickCheck, random, time
-     , transformers, unix, unordered-containers, utf8-string
+     , extra, file-embed, filepath, filepattern, hashable, heaps
+     , js-dgtable, js-flot, js-jquery, primitive, process, QuickCheck
+     , random, template-haskell, time, transformers, unix
+     , unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "shake";
-       version = "0.18.3";
-       sha256 = "0ywcdzxly8zvz2p3v5b3lp5bnkwsqxvdas7ysrhgxbhi3bnjvzjf";
+       version = "0.18.4";
+       sha256 = "0vpgs6f365p1s09h30g2a6qy4y0rxi3pyxcg14kiag9k504af9i0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -216272,9 +216950,10 @@ self: {
          random time transformers unix unordered-containers utf8-string
        ];
        executableHaskellDepends = [
-         base binary bytestring deepseq directory extra filepath filepattern
-         hashable heaps js-dgtable js-flot js-jquery primitive process
-         random time transformers unix unordered-containers utf8-string
+         base binary bytestring deepseq directory extra file-embed filepath
+         filepattern hashable heaps js-dgtable js-flot js-jquery primitive
+         process random template-haskell time transformers unix
+         unordered-containers utf8-string
        ];
        testHaskellDepends = [
          base binary bytestring deepseq directory extra filepath filepattern
@@ -216320,8 +216999,8 @@ self: {
      }:
      mkDerivation {
        pname = "shake-cabal";
-       version = "0.2.1.1";
-       sha256 = "0d3c1v7pj568fj65fz7dd4h72wpnzz75n1k974nmjbx12vphfd1i";
+       version = "0.2.2.1";
+       sha256 = "1vyz95qa5f6k0lqf24w60dmlszs1sv0sqv2p0sncn8ll7g785sx1";
        libraryHaskellDepends = [
          base binary Cabal composition-prelude deepseq directory filepath
          hashable shake
@@ -217422,6 +218101,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "shortcut-links_0_5_0_0" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "shortcut-links";
+       version = "0.5.0.0";
+       sha256 = "0y5q3m5sqwwhahq8fx1alc2531jfgr4nng8yfpib8sg57n0wggwf";
+       libraryHaskellDepends = [ base text ];
+       description = "Link shortcuts for use in text markup";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "shorten-strings" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -218056,23 +218747,11 @@ self: {
     ({ mkDerivation, base, directory, filepath, process, unix }:
      mkDerivation {
        pname = "simple-cmd";
-       version = "0.2.0.1";
-       sha256 = "0kd0kr27q72ay5jzrnyqnbbfl4q1lyrlq13s74iphxx4s2yzn03p";
-       libraryHaskellDepends = [ base directory filepath process unix ];
-       description = "Simple String-based process commands";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "simple-cmd_0_2_1" = callPackage
-    ({ mkDerivation, base, directory, filepath, process, unix }:
-     mkDerivation {
-       pname = "simple-cmd";
        version = "0.2.1";
        sha256 = "1b35hsxr63n3nbpjdf7ailsmp4yk6k8nscx8xxv453v0r3v89hss";
        libraryHaskellDepends = [ base directory filepath process unix ];
        description = "Simple String-based process commands";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "simple-cmd-args" = callPackage
@@ -220112,8 +220791,8 @@ self: {
      }:
      mkDerivation {
        pname = "slick";
-       version = "1.0.1.0";
-       sha256 = "0zmg8k12dd8apjd6bjjhf5vdfc927pq372r5gvyjx5rmrfkcwx4l";
+       version = "1.0.1.1";
+       sha256 = "1n1a7jpn37dzfmk9z51d6yhg2iaraqw55qnlap0d6zk1lnc3drib";
        libraryHaskellDepends = [
          aeson base bytestring directory extra mustache pandoc shake text
          unordered-containers
@@ -221341,8 +222020,8 @@ self: {
        pname = "snap-server";
        version = "1.1.1.1";
        sha256 = "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5";
-       revision = "2";
-       editedCabalFile = "12yr0yc7xqxsia84756qalr96fa2lz0sd3mfww2i8784ndlbkfwf";
+       revision = "3";
+       editedCabalFile = "1xma33r1by1q79qqbb70lwf4d846qlqs0f22rzrd3cdzkzcf9qf5";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -223232,24 +223911,26 @@ self: {
      }) {};
 
   "souffle-haskell" = callPackage
-    ({ mkDerivation, base, hspec, mtl, template-haskell
-     , type-errors-pretty
+    ({ mkDerivation, base, hspec, mtl, souffle, template-haskell, text
+     , type-errors-pretty, vector
      }:
      mkDerivation {
        pname = "souffle-haskell";
-       version = "0.0.1";
-       sha256 = "1sz5xaw24fknq4y9a9cpp36h6fm46ipclp3nwmpqpnc5svsslgbz";
+       version = "0.1.0";
+       sha256 = "0m8p9fx4avv4kf4hbr248rk9k3vixzkx4gqmcslfra3d79akjyad";
        libraryHaskellDepends = [
-         base mtl template-haskell type-errors-pretty
+         base mtl template-haskell text type-errors-pretty vector
        ];
+       libraryToolDepends = [ souffle ];
        testHaskellDepends = [
-         base hspec mtl template-haskell type-errors-pretty
+         base hspec mtl template-haskell text type-errors-pretty vector
        ];
+       testToolDepends = [ souffle ];
        description = "Souffle Datalog bindings for Haskell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {inherit (pkgs) souffle;};
 
   "sound-collage" = callPackage
     ({ mkDerivation, array, base, Cabal, carray, containers, fft
@@ -225907,8 +226588,6 @@ self: {
        ];
        description = "Convert stack projects to cabal.project + cabal.project.freeze";
        license = stdenv.lib.licenses.gpl3Plus;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "stack2nix" = callPackage
@@ -227066,7 +227745,7 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "stb-image-redux" = callPackage
+  "stb-image-redux_0_2_1_2" = callPackage
     ({ mkDerivation, base, hspec, vector }:
      mkDerivation {
        pname = "stb-image-redux";
@@ -227080,6 +227759,20 @@ self: {
        broken = true;
      }) {};
 
+  "stb-image-redux" = callPackage
+    ({ mkDerivation, base, hspec, vector }:
+     mkDerivation {
+       pname = "stb-image-redux";
+       version = "0.2.1.3";
+       sha256 = "01xm1vlyfmnnvr5vy9ry7cjwv9ffip0s4zlxcyvfnsgja08l5ni4";
+       libraryHaskellDepends = [ base vector ];
+       testHaskellDepends = [ base hspec vector ];
+       description = "Image loading and writing microlibrary";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "stb-truetype" = callPackage
     ({ mkDerivation, array, base, bytestring, containers }:
      mkDerivation {
@@ -228633,8 +229326,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-events";
-       version = "1.0.0";
-       sha256 = "12rbw1gvcfl2svlsm7x1v01j9bk0fdh6x7j1c0v6a9xjmwq2bgv6";
+       version = "1.0.1";
+       sha256 = "0cgd3lvxb91jd1nkw4vci5zjp6s6q545cqgd9fq6i4mxrgn7ky7h";
        libraryHaskellDepends = [
          attoparsec base binary bytestring http-client streaming
          streaming-attoparsec streaming-bytestring wai-extra
@@ -229045,17 +229738,16 @@ self: {
      }) {};
 
   "strelka-core" = callPackage
-    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
-     , hashable, mtl, semigroups, text, transformers
-     , unordered-containers
+    ({ mkDerivation, base, bytestring, hashable, mmorph, mtl, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "strelka-core";
-       version = "0.3.0.1";
-       sha256 = "0hksf6p2pjvlvpgyndrcza16n0zyjaykqxzwy0igvylkwg1684qy";
+       version = "0.3.1";
+       sha256 = "1gy382layyir0cy96igf5kyfsjzvqpb4v8bca5vl911rwmp5095v";
        libraryHaskellDepends = [
-         base base-prelude bifunctors bytestring hashable mtl semigroups
-         text transformers unordered-containers
+         base bytestring hashable mmorph mtl text transformers
+         unordered-containers
        ];
        description = "Core components of \"strelka\"";
        license = stdenv.lib.licenses.mit;
@@ -229388,6 +230080,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-interpolate_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, formatting
+     , haskell-src-meta, hspec, interpolate, interpolatedstring-perl6
+     , neat-interpolation, QuickCheck, quickcheck-instances
+     , quickcheck-text, quickcheck-unicode, random-shuffle
+     , template-haskell, text, text-conversions, unordered-containers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "string-interpolate";
+       version = "0.2.0.0";
+       sha256 = "084mkh9xx9dcy7j92kca6rv580v8223n7xgm9csy51mn0h2lg6wq";
+       libraryHaskellDepends = [
+         base bytestring haskell-src-meta template-haskell text
+         text-conversions utf8-string
+       ];
+       testHaskellDepends = [
+         base bytestring hspec QuickCheck quickcheck-instances
+         quickcheck-text quickcheck-unicode random-shuffle text
+         unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion formatting interpolate
+         interpolatedstring-perl6 neat-interpolation QuickCheck text
+       ];
+       description = "Haskell string/text/bytestring interpolation that just works";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "string-isos" = callPackage
     ({ mkDerivation, base, bytestring, mono-traversable, safe, text
      , type-iso
@@ -230583,23 +231305,49 @@ self: {
        broken = true;
      }) {};
 
+  "summoner_1_4_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
+     , directory, filepath, generic-deriving, gitrev, hedgehog, hspec
+     , neat-interpolation, optparse-applicative, process, relude
+     , shellmet, text, time, tomland, tree-diff
+     }:
+     mkDerivation {
+       pname = "summoner";
+       version = "1.4.0.0";
+       sha256 = "0niakfpnk86n69n7kazlv2z00g211b9lgp2b8qphlr4xyz3b7fn0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring containers directory filepath
+         generic-deriving gitrev neat-interpolation optparse-applicative
+         process relude shellmet text time tomland
+       ];
+       executableHaskellDepends = [ base relude ];
+       testHaskellDepends = [
+         base directory filepath hedgehog hspec neat-interpolation relude
+         text tomland tree-diff
+       ];
+       description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "summoner-tui" = callPackage
-    ({ mkDerivation, base, base-noprelude, brick, directory, filepath
-     , microlens, microlens-th, relude, summoner, text, vty
+    ({ mkDerivation, base, brick, directory, filepath, microlens
+     , microlens-th, relude, summoner, text, vty
      }:
      mkDerivation {
        pname = "summoner-tui";
-       version = "0.1.0";
-       sha256 = "0ic9faw55qjljwz8r0nz8jmdw2pcc40nqc0zp07hshqh8qbiswl9";
-       revision = "1";
-       editedCabalFile = "0rjnrhh62m2jy74dqdiywkk2gqs1dds97h55qxc50qysdiiwmmal";
+       version = "1.4.0.0";
+       sha256 = "0vz4nd5wwjdk8n9n1lwa5b8xs863fkkcq56rwy0fifp1xr4184si";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base-noprelude brick directory filepath microlens microlens-th
-         relude summoner text vty
+         base brick directory filepath microlens microlens-th relude
+         summoner text vty
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [ base relude ];
        description = "Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI";
        license = stdenv.lib.licenses.mpl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -231283,8 +232031,8 @@ self: {
      }:
      mkDerivation {
        pname = "svgcairo";
-       version = "0.13.2.0";
-       sha256 = "1h3phyq9g7lmw0mf75hlccvixgwffvkfnlyy1g34hwh9i5nj0aqw";
+       version = "0.13.2.1";
+       sha256 = "19jq5nf3v6774d0imbz5dkajriqx3fa93zvxjyqh1nm5birczaj8";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [ base cairo glib mtl text ];
@@ -234375,8 +235123,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskwarrior";
-       version = "0.1.1.0";
-       sha256 = "1vr25n4q4rb5z760dpd247h3z6r8ydqgg5z5hihmps1vhazvxa8c";
+       version = "0.1.2.0";
+       sha256 = "1kmmlb3d9bfc47lvlv8v3zxp3cymv3v5i2m86m4iglhg0x6lyawp";
        libraryHaskellDepends = [
          aeson base bytestring process random string-interpolate text time
          unordered-containers uuid
@@ -234841,8 +235589,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.15";
-       sha256 = "008pwf3mqn18vxzxym6zbfm7kf4g415g3722r41vdbh972xkz3w2";
+       version = "1.1.16";
+       sha256 = "1xrm7z5dhg7zfpq7xr1pdwqsgrvxsb5r5ia063lcxlxk2dizrib2";
        libraryHaskellDepends = [
          base containers mtl optparse-applicative split stm tagged tasty
          transformers
@@ -235105,24 +235853,24 @@ self: {
      }) {};
 
   "tcod-haskell" = callPackage
-    ({ mkDerivation, base, bytestring, containers, inline-c, repa, sdl2
-     , tcod, vector
+    ({ mkDerivation, base, bytestring, containers, inline-c, libtcod
+     , repa, sdl2, vector
      }:
      mkDerivation {
        pname = "tcod-haskell";
-       version = "0.2.0.0";
-       sha256 = "131qdd7h2890as35lfb3kx37j3vrz33ajxp5n4cl65rdrdk5vfxc";
+       version = "0.3.0.0";
+       sha256 = "08pcjzc2kc6aaba7n2j3sbglqpcml47s0mpgfgkbngrnzzs7hrj7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring containers inline-c repa sdl2 vector
        ];
-       librarySystemDepends = [ tcod ];
+       libraryPkgconfigDepends = [ libtcod ];
        description = "Bindings to libtcod roguelike engine";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {tcod = null;};
+     }) {inherit (pkgs) libtcod;};
 
   "tconfig" = callPackage
     ({ mkDerivation, base, containers }:
@@ -236514,8 +237262,8 @@ self: {
      }:
      mkDerivation {
        pname = "tesla";
-       version = "0.1.0.0";
-       sha256 = "1asifxkc73n8g30qmr1nr83vpvgx8smi505322n9sknlb1hadgms";
+       version = "0.1.0.1";
+       sha256 = "0rk1i9pl6x6f58hbij287aaab7ac3iy3ngs2bqb2990zqfh12ir4";
        libraryHaskellDepends = [
          aeson base bytestring casing containers generic-deriving lens
          lens-aeson mtl template-haskell text time vector wreq
@@ -239453,6 +240201,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "threepenny-gui_0_8_3_1" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , data-default, deepseq, exceptions, file-embed, filepath, hashable
+     , safe, snap-core, snap-server, stm, template-haskell, text
+     , transformers, unordered-containers, vault, vector, websockets
+     , websockets-snap
+     }:
+     mkDerivation {
+       pname = "threepenny-gui";
+       version = "0.8.3.1";
+       sha256 = "08jmnyaskbfzwzyghs9ccmq6rdfxcgw0si7p6kc5ppi86gxdr5sl";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring containers data-default deepseq
+         exceptions file-embed filepath hashable safe snap-core snap-server
+         stm template-haskell text transformers unordered-containers vault
+         vector websockets websockets-snap
+       ];
+       description = "GUI framework that uses the web browser as a display";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "threepenny-gui-contextmenu" = callPackage
     ({ mkDerivation, base, threepenny-gui }:
      mkDerivation {
@@ -239650,8 +240423,8 @@ self: {
      }:
      mkDerivation {
        pname = "thumbnail-polish";
-       version = "0.0.1.0";
-       sha256 = "09b5689anqbll8x7mwcwbcm5qwsxvayglfk3k3p55jwp142z75ir";
+       version = "0.0.1.1";
+       sha256 = "1bl45s6cb5pak3g5w3p98n7dipg1b8fapq7y5radzlwkgjchp600";
        libraryHaskellDepends = [
          base bytestring data-default directory filepath friday friday-devil
          nonce resourcet text
@@ -239836,6 +240609,28 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "tidal_1_4_6" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, clock, colour
+     , containers, criterion, deepseq, hosc, microspec, mwc-random
+     , network, parsec, primitive, random, text, transformers, vector
+     , weigh
+     }:
+     mkDerivation {
+       pname = "tidal";
+       version = "1.4.6";
+       sha256 = "1mgyss58kwvdp39qznqxkks8vvyq5w802g60rvmc26ipilhm1rd9";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bifunctors bytestring clock colour containers deepseq hosc
+         mwc-random network parsec primitive random text transformers vector
+       ];
+       testHaskellDepends = [ base containers microspec parsec ];
+       benchmarkHaskellDepends = [ base criterion weigh ];
+       description = "Pattern language for improvised music";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tidal-midi" = callPackage
     ({ mkDerivation, base, containers, PortMidi, tidal, time
      , transformers
@@ -241448,7 +242243,7 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_1_31_0_1" = callPackage
+  "tmp-postgres_1_34_0_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, base64-bytestring
      , bytestring, containers, criterion, cryptohash-sha1, deepseq
      , directory, generic-monoid, hspec, mtl, network, port-utils
@@ -241457,8 +242252,8 @@ self: {
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "1.31.0.1";
-       sha256 = "0nlg0hi0rcfk77jm927i1w63mh4x9y1p4j3fqbd13c2a6pg084vw";
+       version = "1.34.0.0";
+       sha256 = "0845bjp1vgpkms865p311zv758z1i1y8874s1gmjn0c8jwgi48cs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -241472,7 +242267,7 @@ self: {
          temporary
        ];
        testHaskellDepends = [
-         base containers directory generic-monoid hspec mtl network
+         async base containers directory generic-monoid hspec mtl network
          port-utils postgres-options postgresql-simple process temporary
          unix
        ];
@@ -241731,6 +242526,31 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "token-search" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, hashable, hspec
+     , process, streaming-commons, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "token-search";
+       version = "0.1.0.0";
+       sha256 = "1df0yvmwskhw1pr9wxxlhp6p74y1nfxxadaqdjvgfd2sz2kb4v4l";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring conduit hashable process streaming-commons text
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring conduit hashable process streaming-commons
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit hashable hspec process streaming-commons
+         text unordered-containers
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tokenify" = callPackage
     ({ mkDerivation, base, containers, text }:
      mkDerivation {
@@ -242021,6 +242841,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tonatona_0_1_1_0" = callPackage
+    ({ mkDerivation, base, doctest, Glob, rio, tonaparser }:
+     mkDerivation {
+       pname = "tonatona";
+       version = "0.1.1.0";
+       sha256 = "17hd93m2i79pb39z00x0sdvhfds3b5fgyhld8pr64rlnr9wm039l";
+       libraryHaskellDepends = [ base rio tonaparser ];
+       testHaskellDepends = [ base doctest Glob rio tonaparser ];
+       description = "meta application framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tonatona-google-server-api" = callPackage
     ({ mkDerivation, base, doctest, Glob, google-server-api
      , monad-logger, persistent, persistent-sqlite, resource-pool
@@ -243657,8 +244490,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.7.1.0";
-       sha256 = "1xbgii27xn858373nly4q73y1ghrpv069pxjd5bc30rff611rqvz";
+       version = "0.7.2.0";
+       sha256 = "1gq30qjywg6cgbzgxxfngkn5c4kbddnij7wdvz8x7k1yb13ra0hd";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -243671,18 +244504,28 @@ self: {
      }) {};
 
   "tree-sitter-go" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.3.0.0";
-       sha256 = "07r8dlx8r3g1sdc23w544clb658wiw5rjl33m967li5sq7g1w1aj";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0i469134jc1i665nr5j3z3al8lgsv74mm5x7rk4gm159kpfm1z1r";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 Go";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-haskell" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
@@ -243782,46 +244625,76 @@ self: {
      }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.3.1.0";
-       sha256 = "0kndnmnhfff4d936irvsc545x3npxqspf21qwwqwn4c5n3ispv2p";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "1y26956bryax1n17yf49hqczcig1qd5fk5j39arj93464x142ba9";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 Ruby";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-tsx" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.3.0.0";
-       sha256 = "029dapll3jw4m0fxmbxn3nj4jgi8j777ajyc8zx8m2f12zly3y5i";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0q5v1fm9ia83074gkamz06hlcmdkd4vabjfrjqcra7mrvrj1pqa2";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 TSX";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-typescript" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.3.0.0";
-       sha256 = "0gkhbsmrjkf6q4bwlhws2zmnkhjval7qrbvqlcnmmvx384aiis72";
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       version = "0.4.0.0";
+       sha256 = "0sbvsfipwf2j809kkjcgbqq4k44h69x9dl07dvngjyfimkccv758";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base semantic-source template-haskell 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 TypeScript";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-traversals" = callPackage
     ({ mkDerivation, base, containers, doctest, mtl }:
@@ -244571,12 +245444,12 @@ self: {
      }:
      mkDerivation {
        pname = "ttc";
-       version = "0.1.0.1";
-       sha256 = "12c781fsa1i2iw03ysdh5fpg0912w9kmzgixzq16kb4mdb0crq30";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0.0";
+       sha256 = "1vl3fp0d9v674gg6zbmafvrb97zqxcjlpp5j77msjn1kl7ki6xs7";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
-       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit template-haskell text
+       ];
        description = "Textual Type Classes";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -246898,8 +247771,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.7.6.1";
-       sha256 = "1sc74y1nqydshrycf309636f49h0nbc5bfiix991nxrv9grwslpi";
+       version = "0.7.6.2";
+       sha256 = "0nhb8v17ycjjldcvhyjc1qk7r4hqhqdw6gw9fp0mbvn5cbpi0xrm";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -247736,6 +248609,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unboxed-references" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "unboxed-references";
+       version = "0.1.0";
+       sha256 = "0qdaf0xxc3a44a7mrfiyz9df8hnaj7bsdvdglsqz8f5andfy4ix9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base vector ];
+       executableHaskellDepends = [ base vector ];
+       description = "A library for reference cells backed by unboxed-vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unboxing-vector" = callPackage
     ({ mkDerivation, base, deepseq, HUnit, mono-traversable, primitive
      , should-not-typecheck, vector
@@ -248097,6 +248984,20 @@ self: {
        broken = true;
      }) {};
 
+  "unicode-show_0_1_0_4" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "unicode-show";
+       version = "0.1.0.4";
+       sha256 = "158vnv6d7s1ahm3fr5s8ns585bcds8pf19rsglsyfk33qps3il9i";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "print and show in unicode";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "unicode-symbols" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -250371,6 +251272,19 @@ self: {
        broken = true;
      }) {};
 
+  "utf" = callPackage
+    ({ mkDerivation, base, gauge, util }:
+     mkDerivation {
+       pname = "utf";
+       version = "0.0.0.0";
+       sha256 = "0j441d8k4299798d4w78vbxvs3qh9w124zwl0f91rmydw9q4hg37";
+       libraryHaskellDepends = [ base util ];
+       testHaskellDepends = [ base ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "UTF-8";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "utf8-env" = callPackage
     ({ mkDerivation, base, mtl, utf8-string }:
      mkDerivation {
@@ -250445,13 +251359,25 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "util";
-       version = "0.1.14.1";
-       sha256 = "17y07674dkhgq8yxrdfqj3ycaw5232rc1dnfh7r0v4ca2fyhx5a8";
+       version = "0.1.15.0";
+       sha256 = "0ybjl0mibvdmqppknypljaajsjx7ls4js6yqh0viinrwq8ayf0wj";
        libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "util_0_1_17_0" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "util";
+       version = "0.1.17.0";
+       sha256 = "1wyjxrnzianif6msk7qvib92lksy66hx4rkdb7sda0a4h704960c";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "util-exception" = callPackage
     ({ mkDerivation, base, basic, control, lifted-base-tf, util }:
      mkDerivation {
@@ -251076,8 +252002,8 @@ self: {
      }:
      mkDerivation {
        pname = "vado";
-       version = "0.0.11";
-       sha256 = "1cx8qdzfg2wn6q6q3vhkh6lmwqfkyf8ypvbbv6kyjai1smb1qfac";
+       version = "0.0.12";
+       sha256 = "0qirhdzbcx5mqlbgh24ckcmivi38hqr53im9g6cydzslnk7ys41w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -252542,8 +253468,8 @@ self: {
      }:
      mkDerivation {
        pname = "venzone";
-       version = "1.0.0.4";
-       sha256 = "1jqhv6xi0yn970h0wlzhlhrfwjr44drpwvys9kvfi4di7cg4pc74";
+       version = "1.0.0.5";
+       sha256 = "1f8v5xhw6ak6qckrb96rjfpn7h8lm3cq7p0w0k54mrg5ixm4paba";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -252691,23 +253617,24 @@ self: {
     ({ mkDerivation, alex, array, base, binary, blaze-html, bytestring
      , Cabal, cabal-doctest, criterion, cryptonite, deepseq, DRBG
      , exceptions, fgl, fgl-visualize, filepath, gitrev, hedgehog, lens
-     , lifted-base, memory, monad-control, optparse-applicative, parsec
-     , prettyprinter, random, recursion-schemes, shakespeare, shelly
-     , statistics, tasty, tasty-hedgehog, tasty-hunit, template-haskell
-     , text, time, tomland, transformers, transformers-base
-     , unordered-containers, vector
+     , lifted-base, memory, monad-control, mtl, optparse-applicative
+     , parsec, prettyprinter, random, recursion-schemes, shakespeare
+     , shelly, statistics, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, time, tomland, transformers
+     , transformers-base, unordered-containers, vector
      }:
      mkDerivation {
        pname = "verismith";
-       version = "0.4.0.0";
-       sha256 = "1f2yzspw12slmhywvdnqfwzxn3v6qvzwgjm7lsjx72lb3611w4z3";
+       version = "0.6.0.2";
+       sha256 = "1rjcsdizzhc1lr2mfh0r6dhhabnbz1gjva7xkr3z3mqzsqp9jm5f";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base binary blaze-html bytestring cryptonite deepseq DRBG
          exceptions fgl fgl-visualize filepath gitrev hedgehog lens
-         lifted-base memory monad-control optparse-applicative parsec
+         lifted-base memory monad-control mtl optparse-applicative parsec
          prettyprinter random recursion-schemes shakespeare shelly
          statistics template-haskell text time tomland transformers
          transformers-base unordered-containers vector
@@ -255875,40 +256802,6 @@ self: {
 
   "warp" = callPackage
     ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
-     , bytestring, case-insensitive, containers, directory, doctest
-     , gauge, ghc-prim, hashable, hspec, http-client, http-date
-     , http-types, http2, HUnit, iproute, lifted-base, network, process
-     , QuickCheck, simple-sendfile, stm, streaming-commons, text, time
-     , time-manager, transformers, unix, unix-compat, vault, wai, word8
-     }:
-     mkDerivation {
-       pname = "warp";
-       version = "3.2.28";
-       sha256 = "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7";
-       libraryHaskellDepends = [
-         array async auto-update base bsb-http-chunked bytestring
-         case-insensitive containers ghc-prim hashable http-date http-types
-         http2 iproute network simple-sendfile stm streaming-commons text
-         time-manager unix unix-compat vault wai word8
-       ];
-       testHaskellDepends = [
-         array async auto-update base bsb-http-chunked bytestring
-         case-insensitive containers directory doctest ghc-prim hashable
-         hspec http-client http-date http-types http2 HUnit iproute
-         lifted-base network process QuickCheck simple-sendfile stm
-         streaming-commons text time time-manager transformers unix
-         unix-compat vault wai word8
-       ];
-       benchmarkHaskellDepends = [
-         auto-update base bytestring containers gauge hashable http-date
-         http-types network time-manager unix unix-compat
-       ];
-       description = "A fast, light-weight web server for WAI applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "warp_3_3_4" = 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
      , http2, HUnit, iproute, lifted-base, network, process, QuickCheck
@@ -255917,8 +256810,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.4";
-       sha256 = "0v9r892xgzaf260fsk2gx747ipkf9b2c1fsjgynwy355xrip8z06";
+       version = "3.3.5";
+       sha256 = "09kd8p61xxwi3jnx7y6idjr03cblfzysssvzcvvv7mfcqr5sf165";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -255938,7 +256831,6 @@ self: {
        ];
        description = "A fast, light-weight web server for WAI applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "warp-dynamic" = callPackage
@@ -256016,8 +256908,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp-tls";
-       version = "3.2.8";
-       sha256 = "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y";
+       version = "3.2.9";
+       sha256 = "1bwd6fi0pfcszz7f7r41bjxmx1vq0594088l3hbj0s23m4lxzhs1";
        libraryHaskellDepends = [
          base bytestring cryptonite data-default-class network
          streaming-commons tls tls-session-manager wai warp
@@ -256489,31 +257381,29 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, bifunctors, box, clay
      , foldl, generic-lens, interpolatedstring-perl6, javascript-bridge
      , JuicyPixels, language-javascript, lens, lucid, lucid-svg, mmorph
-     , mtl, optparse-generic, protolude, scotty, streaming, tasty
-     , tasty-hspec, text, text-format, transformers
-     , unordered-containers, wai, wai-extra, wai-middleware-static
+     , mtl, optparse-generic, scotty, streaming, tasty, tasty-hspec
+     , text, text-format, transformers, unordered-containers, wai
+     , wai-extra, wai-middleware-static
      }:
      mkDerivation {
        pname = "web-rep";
-       version = "0.1.3";
-       sha256 = "174q9zaznsy5v9zypxxf6c5xi5syyhdzmwgi07siqp07in8w1jvf";
+       version = "0.2.0";
+       sha256 = "0mxsqx9gigi70xj372qrwsfahy1ra17jhagvrv6y7pzzl3g0rfws";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors box clay foldl generic-lens
          interpolatedstring-perl6 javascript-bridge JuicyPixels
-         language-javascript lens lucid lucid-svg mmorph mtl protolude
-         scotty streaming text text-format transformers unordered-containers
+         language-javascript lens lucid lucid-svg mmorph mtl scotty
+         streaming text text-format transformers unordered-containers
          wai-middleware-static
        ];
        executableHaskellDepends = [
-         attoparsec base box lens lucid optparse-generic protolude scotty
-         text wai wai-extra wai-middleware-static
-       ];
-       testHaskellDepends = [
-         base lens lucid protolude tasty tasty-hspec text
+         attoparsec base box lens lucid optparse-generic scotty text wai
+         wai-extra wai-middleware-static
        ];
-       description = "representations of a web pag";
+       testHaskellDepends = [ base lens lucid tasty tasty-hspec text ];
+       description = "representations of a web page";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -257179,8 +258069,8 @@ self: {
     ({ mkDerivation, base, Cabal, gtk2hs-buildtools, webkitgtk }:
      mkDerivation {
        pname = "webkit2gtk3-javascriptcore";
-       version = "0.14.3.0";
-       sha256 = "1gsa7lvv0xidy4i9d8bjqc0hpbzx1vvp9npzj2q8x1l68f9vjj5j";
+       version = "0.14.4.0";
+       sha256 = "0njp5m8m9qz7ra9z8ni103bnicfshiixxy44na8m3mzjqrchczww";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [ base ];
        libraryPkgconfigDepends = [ webkitgtk ];
@@ -258233,20 +259123,37 @@ self: {
   "witherable" = callPackage
     ({ mkDerivation, base, base-orphans, containers, hashable, lens
      , monoidal-containers, transformers, transformers-compat
-     , unordered-containers, vector
+     , unordered-containers, vector, witherable-class
      }:
      mkDerivation {
        pname = "witherable";
-       version = "0.3.4";
-       sha256 = "19qkb8ww3vp446jr1yd4x4wxqm725lc6n2f3d1n3hb925x2djcd6";
+       version = "0.3.5";
+       sha256 = "13r4g5fg3fgl3zall0daljivnk4gm1lm2s8qir1izwkmq25081wb";
        libraryHaskellDepends = [
          base base-orphans containers hashable lens monoidal-containers
          transformers transformers-compat unordered-containers vector
+         witherable-class
        ];
        description = "filterable traversable";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "witherable-class" = callPackage
+    ({ mkDerivation, base, base-orphans, containers, hashable
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "witherable-class";
+       version = "0";
+       sha256 = "0jb8yq9i0rlbmcd5rbg95m2w26zbmi7iwph5v7wghiari751r2bp";
+       libraryHaskellDepends = [
+         base base-orphans containers hashable transformers
+         unordered-containers vector
+       ];
+       description = "Witherable = Traversable + Filterable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "witness" = callPackage
     ({ mkDerivation, base, constraints, semigroupoids, transformers }:
      mkDerivation {
@@ -260137,8 +261044,8 @@ self: {
      }:
      mkDerivation {
        pname = "xcffib";
-       version = "0.8.1";
-       sha256 = "183f7rpckhr3cipwci6hfhrfilqq5jijkwp98r5wi0l43inj29jc";
+       version = "0.9.0";
+       sha256 = "0nxy4dfwz1wgj6dvg1jp3k4zblwpgiydmv7p20s5scyzgii8jsfk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -263101,8 +264008,8 @@ self: {
      }:
      mkDerivation {
        pname = "yarn-lock";
-       version = "0.6.1";
-       sha256 = "19lkg7qj6m9afy6v6bkkcczz7yp8fsn7q2bpbcnyc06cnkn6hcdn";
+       version = "0.6.2";
+       sha256 = "06wha8cm7hw83d32fq5r8mpzh5pwmf67dxsw8qxqw26qy8pnby96";
        libraryHaskellDepends = [
          base containers either megaparsec protolude text
        ];
@@ -263118,36 +264025,37 @@ self: {
      }) {};
 
   "yarn2nix" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, async-pool, base
-     , bytestring, containers, data-fix, directory, filepath, hnix, mtl
-     , neat-interpolation, optparse-applicative, process, protolude
+    ({ mkDerivation, aeson, async-pool, base, bytestring, containers
+     , data-fix, directory, filepath, hnix, mtl, neat-interpolation
+     , optparse-applicative, prettyprinter, process, protolude
      , regex-tdfa, regex-tdfa-text, stm, tasty, tasty-hunit
      , tasty-quickcheck, tasty-th, text, transformers, unix
      , unordered-containers, yarn-lock
      }:
      mkDerivation {
        pname = "yarn2nix";
-       version = "0.7.0";
-       sha256 = "0rna9z1vm05f99a0dkvvv893als9x2zjifzc4gphwylgkih7d826";
+       version = "0.8.0";
+       sha256 = "05xwpjyi37qlwfj954zpn6f4iwyvy6hsgc8h5vpckbnnp8ak1ndw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl process protolude regex-tdfa
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl prettyprinter process protolude regex-tdfa
          regex-tdfa-text stm text transformers unordered-containers
          yarn-lock
        ];
        executableHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl optparse-applicative process protolude
-         regex-tdfa regex-tdfa-text stm text transformers unix
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl optparse-applicative prettyprinter process
+         protolude regex-tdfa regex-tdfa-text stm text transformers unix
          unordered-containers yarn-lock
        ];
        testHaskellDepends = [
-         aeson ansi-wl-pprint async-pool base bytestring containers data-fix
-         directory filepath hnix mtl neat-interpolation process protolude
-         regex-tdfa regex-tdfa-text stm tasty tasty-hunit tasty-quickcheck
-         tasty-th text transformers unordered-containers yarn-lock
+         aeson async-pool base bytestring containers data-fix directory
+         filepath hnix mtl neat-interpolation prettyprinter process
+         protolude regex-tdfa regex-tdfa-text stm tasty tasty-hunit
+         tasty-quickcheck tasty-th text transformers unordered-containers
+         yarn-lock
        ];
        description = "Convert yarn.lock files to nix expressions";
        license = stdenv.lib.licenses.mit;
@@ -266318,8 +267226,8 @@ self: {
        pname = "yoctoparsec";
        version = "0.1.0.0";
        sha256 = "0p9kw60glcgrjfx04x3innn3rqnh12yrv4wh0a0fivcx8b9kj1yp";
-       revision = "2";
-       editedCabalFile = "149a34hpbm6fkkmck70wgqg6792yl91kjirpwf6wdkkr4ga0v514";
+       revision = "3";
+       editedCabalFile = "1yvbslg8y6kvagdjnm0wbknlf1pigqlk8hiqpvmicmqgaiaaxlb7";
        libraryHaskellDepends = [ base free mtl ];
        description = "A truly tiny monadic parsing library";
        license = stdenv.lib.licenses.mit;
@@ -266576,13 +267484,13 @@ self: {
      }) {};
 
   "yx" = callPackage
-    ({ mkDerivation, array, base, bytestring, hspec, lattices }:
+    ({ mkDerivation, array, base, bytestring, hspec, lattices, mtl }:
      mkDerivation {
        pname = "yx";
-       version = "0.0.3.0";
-       sha256 = "068xdmi5dn00cx58qrc5hx6vz6byvnh5cp803j7inlynziw3fcgz";
-       libraryHaskellDepends = [ array base bytestring lattices ];
-       testHaskellDepends = [ array base bytestring hspec ];
+       version = "0.0.4.1";
+       sha256 = "0mkizcy996q7vm1d2izcxym8aw3dnzyz5nsrmbcchf0ywijw7xzi";
+       libraryHaskellDepends = [ array base bytestring lattices mtl ];
+       testHaskellDepends = [ array base bytestring hspec mtl ];
        description = "Row-major coordinates";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -267257,18 +268165,20 @@ self: {
      }) {};
 
   "zinza" = callPackage
-    ({ mkDerivation, base, bytestring, containers, parsec, tasty
-     , tasty-golden, tasty-hunit, text, transformers
+    ({ mkDerivation, base, bytestring, containers, parsec, QuickCheck
+     , quickcheck-instances, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, text, transformers
      }:
      mkDerivation {
        pname = "zinza";
-       version = "0.1";
-       sha256 = "0p7m15qkp7lsdhckkj2xz7ck54kkaz8pw0gz9dddll57mqjyy6zk";
+       version = "0.2";
+       sha256 = "1sy4chm8zan0ixgvvq4vm3fzvhqykn315l333al84768nly9rjv8";
        libraryHaskellDepends = [
          base containers parsec text transformers
        ];
        testHaskellDepends = [
-         base bytestring containers tasty tasty-golden tasty-hunit
+         base bytestring containers QuickCheck quickcheck-instances tasty
+         tasty-golden tasty-hunit tasty-quickcheck
        ];
        description = "Typed templates with jinja like syntax";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -267304,6 +268214,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zip_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
+     , cereal, conduit, conduit-extra, containers, digest, directory
+     , dlist, exceptions, filepath, hspec, monad-control, mtl
+     , QuickCheck, resourcet, temporary, text, time, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "zip";
+       version = "1.3.0";
+       sha256 = "1wcx48fqvhj823sqgr61rv692hlld3ckp2vyahd8wk3h590sncni";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring bzlib-conduit case-insensitive cereal conduit
+         conduit-extra containers digest directory dlist exceptions filepath
+         monad-control mtl resourcet text time transformers
+         transformers-base
+       ];
+       executableHaskellDepends = [ base filepath ];
+       testHaskellDepends = [
+         base bytestring conduit containers directory dlist exceptions
+         filepath hspec QuickCheck temporary text time transformers
+       ];
+       description = "Operations on zip archives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zip-archive" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , digest, directory, filepath, HUnit, mtl, pretty, process
diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix
index 0bb930a8bb3..0f620d46ccc 100644
--- a/pkgs/development/haskell-modules/hoogle.nix
+++ b/pkgs/development/haskell-modules/hoogle.nix
@@ -23,7 +23,8 @@
 # This will build mmorph and monadControl, and have the hoogle installation
 # refer to their documentation via symlink so they are not garbage collected.
 
-{ lib, stdenv, hoogle, writeText, ghc
+{ lib, stdenv, buildPackages
+, hoogle, writeText, ghc
 , packages
 }:
 
@@ -53,7 +54,7 @@ let
     (map (lib.getOutput "doc") packages);
 
 in
-stdenv.mkDerivation {
+buildPackages.stdenv.mkDerivation {
   name = "hoogle-local-0.1";
   buildInputs = [ghc hoogle];
 
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index c292eeec128..9a2ff6f4a2a 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -8,12 +8,12 @@
 self: super: {
 
   multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
-    + "to haskell-ci, which is now on hackage");
+    + " to haskell-ci, which is now on hackage");
 
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
 
   # spago is not released to Hackage.
   # https://github.com/spacchetti/spago/issues/512
-  spago = self.callPackage ../tools/purescript/spago { };
+  spago = self.callPackage ../tools/purescript/spago/spago.nix { };
 }
diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix
index b7e98af2109..a1186557101 100644
--- a/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -10,7 +10,7 @@
 } @ args:
 
 let
-  inherit (stdenv.lib) getVersion versionAtLeast;
+  inherit (stdenv.lib) getVersion versionAtLeast optional;
 
 in
   assert versionAtLeast (getVersion erlang) minimumOTPVersion;
@@ -29,9 +29,7 @@ in
 
     inherit debugInfo;
 
-    buildFlags = if debugInfo
-      then "ERL_COMPILER_OPTIONS=debug_info"
-      else "";
+    buildFlags = optional debugInfo "ERL_COMPILER_OPTIONS=debug_info";
 
     preBuild = ''
       # The build process uses ./rebar. Link it to the nixpkgs rebar
diff --git a/pkgs/development/interpreters/evcxr/default.nix b/pkgs/development/interpreters/evcxr/default.nix
index c4259091f7b..1cc63788555 100644
--- a/pkgs/development/interpreters/evcxr/default.nix
+++ b/pkgs/development/interpreters/evcxr/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "evcxr";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "evcxr";
     rev = "v${version}";
-    sha256 = "13fs9fgvdf8bh6vc8xs8qhil0a1qhm4gvv0ici37xh8a94ngsn7h";
+    sha256 = "1yzvqf93zz3ncck4dyq2kayp408lm3h6fx0fb212j7h70mlzx984";
   };
 
   cargoSha256 = "0g17g12isah4nkqp9i299qr1sz19k4czcc43rm1wbs0y9szaqvwc";
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 89979e18bdc..1f3b63625c0 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -144,7 +144,7 @@ let
         substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
           --replace "${libcInc}" /no-such-path \
           --replace "${
-              if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path"
+              if stdenv.hasCC then stdenv.cc.cc else "/no-such-path"
             }" /no-such-path \
           --replace "${stdenv.cc}" /no-such-path \
           --replace "$man" /no-such-path
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index de980f1ca68..e6b3dff433b 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -234,9 +234,6 @@ in with passthru; stdenv.mkDerivation ({
         ln -s $out/lib/${libPrefix}/pdb.py $out/bin/pdb${sourceVersion.major}.${sourceVersion.minor}
         ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
 
-        # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-        echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
         rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev
 
         # Determinism: Windows installers were not deterministic.
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 43d2d159e36..e75bd0a0987 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -208,9 +208,6 @@ in with passthru; stdenv.mkDerivation {
 
     ln -s "$out/include/${executable}m" "$out/include/${executable}"
 
-    # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-    echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
     # Determinism: Windows installers were not deterministic.
     # We're also not interested in building Windows installers.
     find "$out" -name 'wininst*.exe' | xargs -r rm -f
diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix
index 8154a87f667..b220bfa0f93 100644
--- a/pkgs/development/interpreters/python/pypy/default.nix
+++ b/pkgs/development/interpreters/python/pypy/default.nix
@@ -137,9 +137,6 @@ in with passthru; stdenv.mkDerivation rec {
     # verify cffi modules
     $out/bin/${executable} -c ${if isPy3k then "'import tkinter;import sqlite3;import curses;import lzma'" else "'import Tkinter;import sqlite3;import curses'"}
 
-    # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-    echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-
     # Include a sitecustomize.py file
     cp ${../sitecustomize.py} $out/lib/${libPrefix}/${sitePackages}/sitecustomize.py
   '';
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index 23191b0e6d3..e7f01856ef5 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "quickjs";
-  version = "2019-10-27";
+  version = "2019-12-21";
 
   src = fetchurl {
     url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0xm16ja3c0k80jy0xkx0f40r44v2lgx2si4dnaw2w7c5nx7cmkai";
+    sha256 = "13hlx6qwrrxmlvvqcr3irxba6zmf05cf54l32vj50wc66s1qd41p";
   };
 
   makeFlags = [ "prefix=${placeholder ''out''}" ];
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 04752fd2951..8d429987ad8 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom, wafHook }:
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, sratom, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lilv";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ lv2 python serd sord sratom ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
+  buildInputs = [ lv2 serd sord sratom ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/lilv;
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index 50593cab647..ad450b53d12 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python, wafHook }:
+{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python3, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lv2";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ gtk2 libsndfile python ];
+  buildInputs = [ gtk2 libsndfile python3 ];
 
   meta = with stdenv.lib; {
     homepage = http://lv2plug.in;
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index 21d6cdfb5d4..d7353af0d3d 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, wafHook }:
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "sratom";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ lv2 python serd sord ];
+  nativeBuildInputs = [ pkgconfig wafHook python3 ];
+  buildInputs = [ lv2 serd sord ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sratom;
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
index aa7b2ee9a05..362607eed18 100644
--- a/pkgs/development/libraries/epoxy/default.nix
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python3
 , libGL, libX11
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python3 ];
   buildInputs = [ libGL libX11 ];
 
   preConfigure = optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index e884bb41e20..763caa811e3 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,11 +1,19 @@
-{ stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst-plugins-base
-, gst-python, gupnp-igd, gobject-introspection
-, gst-plugins-good, gst-plugins-bad, gst-libav
+{ stdenv
+, fetchurl
+, fetchpatch
+, libnice
+, pkgconfig
+, autoreconfHook
+, gstreamer
+, gst-plugins-base
+, gupnp-igd
+, gobject-introspection
+, gst-plugins-good
+, gst-plugins-bad
+, gst-libav
 }:
 
-let
-  inherit (pythonPackages) python pygobject2;
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "farstream-0.2.8";
 
   outputs = [ "out" "dev" ];
@@ -15,17 +23,36 @@ in stdenv.mkDerivation rec {
     sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
   };
 
-  buildInputs = [ libnice python pygobject2 gupnp-igd libnice ];
+  patches = [
+    # Python has not been used for ages
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/farstream/farstream/commit/73891c28fa27d5e65a71762e826f13747d743588.patch";
+      sha256 = "19pw1m8xhxyf5yhl6k898w240ra2k0m28gfv858x70c4wl786lrn";
+    })
+  ];
+
+  buildInputs = [
+    libnice
+    gupnp-igd
+    libnice
+  ];
 
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    gobject-introspection
+  ];
 
   propagatedBuildInputs = [
-    gstreamer gst-plugins-base gst-python
-    gst-plugins-good gst-plugins-bad gst-libav
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-libav
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://www.freedesktop.org/wiki/Software/Farstream;
+    homepage = "https://www.freedesktop.org/wiki/Software/Farstream";
     description = "Audio/Video Communications Framework formely known as farsight";
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index 759fba65587..6c16b55dfe8 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (rec {
   version = branch;
-  branch = "3.4.6";
-  sha256 = "1s20wzgxxrm56gckyb8cf1lh36hdnkdxvmmnnvdxvia4zb3grf1b";
+  branch = "3.4.7";
+  sha256 = "0hj91gjps92f4w3yyqss89yrs6s75574hbj5gz9g5affd6294yhc";
   darwinFrameworks = [ Cocoa CoreMedia ];
 } // args)
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index 4cff2245740..611c9faa851 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, python, pkgconfig, glib }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib }:
 
 stdenv.mkDerivation (rec {
   name = "gamin-0.1.10";
@@ -10,13 +10,13 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ python glib ];
+  buildInputs = [ glib ];
 
   # `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from
   # <sys/socket.h> with Glibc 2.9.
   configureFlags = [
     "--disable-debug"
-    "--with-python=${python}"
+    "--without-python" # python3 not supported
     "CPPFLAGS=-D_GNU_SOURCE"
   ];
 
@@ -44,4 +44,3 @@ stdenv.mkDerivation (rec {
     sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
   '';
 })
-
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index c3f62a5df94..0b5e0af84ba 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
     cd ../build
   '';
 
-  cmakeFlags = ''
-    -DGDCM_BUILD_APPLICATIONS=ON
-    -DGDCM_BUILD_SHARED_LIBS=ON
-    -DGDCM_USE_VTK=ON
-  '';
+  cmakeFlags = [
+    "-DGDCM_BUILD_APPLICATIONS=ON"
+    "-DGDCM_BUILD_SHARED_LIBS=ON"
+    "-DGDCM_USE_VTK=ON"
+  ];
 
   enableParallelBuilding = true;
   buildInputs = [ cmake vtk ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices darwin.apple_sdk.frameworks.Cocoa ];
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
index ca7163af49b..1bdf557f399 100644
--- a/pkgs/development/libraries/gegl/4.0.nix
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -57,6 +57,12 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.gnome.org/GNOME/gegl/commit/2bc06bfedee4fb25f6a966c8235b75292e24e55f.patch";
       sha256 = "1psls61wsrdq5pzpvj22mrm46lpzrw3wkx6li7dv6fyb65wz2n4d";
     })
+
+    # Fix test timeout. Downstream debian patch.
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gegl/raw/9b7520b38d87cd8ad4b39bf0b8c62d011da25169/debian/patches/increase_test_timeout.patch";
+      sha256 = "1prc1h1aipjd9db0i1j7nzga4zvk3vl8qsjpz1jzv1wwvz02isly";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 514d21def1e..2d89355cffe 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, python
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, python3
 , zlib, libssh2, openssl, http-parser, curl
 , libiconv, Security
 }:
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
 
-  nativeBuildInputs = [ cmake python pkgconfig ];
+  nativeBuildInputs = [ cmake python3 pkgconfig ];
 
   buildInputs = [ zlib libssh2 openssl http-parser curl ]
     ++ stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 2fa76b2e085..abcd3abaf30 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.25.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
+  version = "1.26.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "02nbmbk1xpibjzvbhi8xpazmwry46ki24vks1sh2p0aqwy4hv6yb";
+    sha256 = "1fxydarl00vbhd9q153qn4ax1yc6xrd8wij6bfy9j8chipw1bgir";
     fetchSubmodules = true;
   };
   patches = [
     # Fix build on armv6l (https://github.com/grpc/grpc/pull/21341)
     (fetchpatch {
-      url = "https://github.com/grpc/grpc/commit/ffb8a278389c8e3403b23a9897b65a7390c34645.patch";
-      sha256 = "1lc12a3gccg9wxqhnwgldlj3zmlm6lxg8dssvvj1x7hf655kw3w3";
+      url = "https://github.com/grpc/grpc/commit/198d221e775cf73455eeb863672e7a6274d217f1.patch";
+      sha256 = "11k35w6ffvl192rgzzj2hzyzjhizdgk7i56zdkx6v60zxnyfn7yq";
     })
   ];
 
diff --git a/pkgs/development/libraries/gsmlib/default.nix b/pkgs/development/libraries/gsmlib/default.nix
new file mode 100644
index 00000000000..88bec83e624
--- /dev/null
+++ b/pkgs/development/libraries/gsmlib/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+stdenv.mkDerivation rec {
+  pname = "gsmlib";
+  version = "unstable-2017-10-06";
+  src = fetchFromGitHub {
+    owner = "x-logLT";
+    repo = "gsmlib";
+    rev = "4f794b14450132f81673f7d3570c5a859aecf7ae";
+    sha256 = "16v8aj914ac1ipf14a867ljib3gy7fhzd9ypxnsg9l0zi8mm3ml5";
+  };
+  nativeBuildInputs = [ autoreconfHook ];
+  meta = with stdenv.lib; {
+    description = "Library to access GSM mobile phones through GSM modems";
+    homepage = "https://github.com/x-logLT/gsmlib";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 136dd1e1712..a7c2bcf838e 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -3,7 +3,7 @@
 , meson
 , ninja
 , pkgconfig
-, python
+, python3
 , gst-plugins-base
 , orc
 , bzip2
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig
-    python
+    python3
     meson
     ninja
     gettext
diff --git a/pkgs/development/libraries/gtk-layer-shell/default.nix b/pkgs/development/libraries/gtk-layer-shell/default.nix
new file mode 100644
index 00000000000..c00e8035f18
--- /dev/null
+++ b/pkgs/development/libraries/gtk-layer-shell/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkgconfig
+, wayland
+, gtk3
+, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gtk-layer-shell";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "wmww";
+    repo = "gtk-layer-shell";
+    rev = "v${version}";
+    sha256 = "1fwvlbwp5w1zly6mksvlzbx18ikq4bh7pdj9q0k94qlj6x2zdwg8";
+  };
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig
+  ];
+
+  buildInputs = [
+    wayland gtk3 gobject-introspection
+  ];
+
+  mesonFlags = [
+    "-Dout=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library to create panels and other desktop components for Wayland using the Layer Shell protocol";
+    license = licenses.mit;
+    maintainers = with maintainers; [ eonpatapon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 9cc079d6103..18640e923e8 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -1,17 +1,20 @@
-{ fetchurl, stdenv, glib, pkgconfig, gettext }:
+{ fetchurl, stdenv, pkgconfig, autoreconfHook, gettext, glib }:
 
 
 stdenv.mkDerivation rec {
   pname = "gts";
   version = "0.7.6";
 
+  outputs = [ "bin" "dev" "out" ];
+
   src = fetchurl {
     url = "mirror://sourceforge/gts/${pname}-${version}.tar.gz";
     sha256 = "07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gettext ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ gettext ];
+  propagatedBuildInputs = [ glib ];
 
   doCheck = false; # fails with "permission denied"
 
diff --git a/pkgs/development/libraries/jbig2dec/default.nix b/pkgs/development/libraries/jbig2dec/default.nix
index 35fbdfe488a..2dff3bafdd3 100644
--- a/pkgs/development/libraries/jbig2dec/default.nix
+++ b/pkgs/development/libraries/jbig2dec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, autoconf }:
+{ stdenv, fetchurl, python3, autoconf }:
 
 stdenv.mkDerivation rec {
   name = "jbig2dec-0.17";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoconf ];
 
-  checkInputs = [ python ];
+  checkInputs = [ python3 ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/libctb/default.nix b/pkgs/development/libraries/libctb/default.nix
new file mode 100644
index 00000000000..161c7c98c63
--- /dev/null
+++ b/pkgs/development/libraries/libctb/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  pname = "libctb";
+  version = "0.16";
+  src = fetchurl {
+    url = "https://iftools.com/download/files/legacy/${pname}-${version}.tar.gz";
+    sha256 = "027wh89d0qyly3d9m6rg4x7x1gqz3y3cnxlgk0k8xgygcrm05c0w";
+  };
+  patches = [
+    ./include-kbhit.patch
+  ];
+  sourceRoot = "${pname}-${version}/build";
+  makeFlags = [
+    "prefix=$(out)"
+  ];
+  meta = with stdenv.lib; {
+    description = "Communications toolbox";
+    homepage = "https://iftools.com";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/pkgs/development/libraries/libctb/include-kbhit.patch b/pkgs/development/libraries/libctb/include-kbhit.patch
new file mode 100644
index 00000000000..76b4e38fadb
--- /dev/null
+++ b/pkgs/development/libraries/libctb/include-kbhit.patch
@@ -0,0 +1,13 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index e39a687..026f9c4 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -140,7 +140,7 @@ all: ../lib/libctb$(LIBFLAG)$(GPIBFLAG)-0.16.a ../lib/libctb$(LIBFLAG)$(GPIBFLAG
+
+ install: install_ctb_lib install_ctb_dll
+ 	$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16
+-	for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
++	for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h kbhit.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
+ 	if test ! -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f` ; then \
+ 	$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f`; \
+ 	fi; \
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 72c3ca0e2b0..6b4be0db414 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   buildInputs = [ qt4 ];
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DWITH_DOC=OFF";
+  cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 2ae4eec99ec..279dcb6bc83 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase ];
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DWITH_DOC=OFF";
+  cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
   meta = with stdenv.lib; {
     homepage = https://launchpad.net/libdbusmenu-qt;
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index a7bfe7f17a2..770e95472ea 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig, intltool
 , glib, dbus-glib, json-glib
-, gobject-introspection, vala, gnome-doc-utils
+, gobject-introspection, vala
 , gtkVersion ? null, gtk2 ? null, gtk3 ? null }:
 
 with lib;
@@ -18,11 +18,10 @@ stdenv.mkDerivation rec {
     sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
   };
 
-  nativeBuildInputs = [ vala pkgconfig intltool ];
+  nativeBuildInputs = [ vala pkgconfig intltool gobject-introspection ];
 
   buildInputs = [
     glib dbus-glib json-glib
-    gobject-introspection gnome-doc-utils
   ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 47d99f3d6c6..7a61437b5ee 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "libevdev";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0";
   };
 
-  buildInputs = [ python ];
+  buildInputs = [ python3 ];
 
   meta = with stdenv.lib; {
     description = "Wrapper library for evdev devices";
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index 5df1246a0eb..c2a5cfbed74 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python2, pkgconfig, libX11, libXext, xorgproto, addOpenGLRunpath }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python3, pkgconfig, libX11, libXext, xorgproto, addOpenGLRunpath }:
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1hyywwjsmvsd7di603f7iznjlccqlc7yvz0j59gax7bljm9wb6ni";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig python3 addOpenGLRunpath ];
   buildInputs = [ libX11 libXext xorgproto ];
 
   # The following 3 patches should be removed once libglvnd >1.2.0 is released
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 69c236d7220..c02bc7f0ed3 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -39,6 +39,7 @@ in stdenv.mkDerivation (rec {
     sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) ''
     ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
+    ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
   '' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
     ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
diff --git a/pkgs/development/libraries/libgroove/default.nix b/pkgs/development/libraries/libgroove/default.nix
index 511af0b613b..bea3c85260c 100644
--- a/pkgs/development/libraries/libgroove/default.nix
+++ b/pkgs/development/libraries/libgroove/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/andrewrk/libgroove;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrewrk ma27 ];
+    maintainers = with maintainers; [ andrewrk ];
   };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 89a72bba872..a60d3a16533 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
-, python, perl, gdk-pixbuf, libiconv, libintl, gnome3 }:
+, perl, gdk-pixbuf, libiconv, libintl, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool libintl ];
 
-  buildInputs = [ gettext bzip2 zlib python ];
+  buildInputs = [ gettext bzip2 zlib ];
   checkInputs = [ perl ];
 
   propagatedBuildInputs = [ libxml2 glib gdk-pixbuf libiconv ];
diff --git a/pkgs/development/libraries/libnabo/default.nix b/pkgs/development/libraries/libnabo/default.nix
index 9414ebdcc2a..4c3ceee1e56 100644
--- a/pkgs/development/libraries/libnabo/default.nix
+++ b/pkgs/development/libraries/libnabo/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "
-    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
-  ";
+  cmakeFlags = [
+    "-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3"
+  ];
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/libraries/libpointmatcher/default.nix b/pkgs/development/libraries/libpointmatcher/default.nix
index cd841a9d8f8..20b2988417c 100644
--- a/pkgs/development/libraries/libpointmatcher/default.nix
+++ b/pkgs/development/libraries/libpointmatcher/default.nix
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "
-    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
-  ";
+  cmakeFlags = [
+    "-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3"
+  ];
 
   doCheck = true;
   checkPhase = ''
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index c9b08079c38..8d4febcde28 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -11,7 +11,6 @@
 , gsettings-desktop-schemas
 , glib
 , makeWrapper
-, python2
 , python3
 , SystemConfiguration
 , CoreFoundation
@@ -29,7 +28,7 @@ stdenv.mkDerivation rec {
     sha256 = "10swd3x576pinx33iwsbd4h15fbh2snmfxzcmab4c56nb08qlbrs";
   };
 
-  outputs = [ "out" "dev" "py2" "py3" ];
+  outputs = [ "out" "dev" "py3" ];
 
   nativeBuildInputs = [
     pkgconfig
@@ -39,7 +38,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pcre
-    python2
     python3
     zlib
   ] ++ (if stdenv.hostPlatform.isDarwin then [
@@ -55,7 +53,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DWITH_MOZJS=ON"
-    "-DPYTHON2_SITEPKG_DIR=${placeholder "py2"}/${python2.sitePackages}"
+    "-DWITH_PYTHON2=OFF"
     "-DPYTHON3_SITEPKG_DIR=${placeholder "py3"}/${python3.sitePackages}"
   ];
 
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 5a7fb3395eb..d81f3f82001 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     echo 'INSTALL(DIRECTORY include DESTINATION .)' >> CMakeLists.txt
   '';
 
-  cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
+  cmakeFlags = [ "-DLIBTCOD_SAMPLES=OFF" ];
 
   buildInputs = [ cmake SDL libGLU libGL upx zlib ];
 
diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix
index 9408b0c4587..b088ba198b2 100644
--- a/pkgs/development/libraries/libxklavier/default.nix
+++ b/pkgs/development/libraries/libxklavier/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a";
   };
 
+  patches = [ ./honor-XKB_CONFIG_ROOT.patch ];
+
   outputs = [ "out" "dev" "devdoc" ];
 
   # TODO: enable xmodmap support, needs xmodmap DB
diff --git a/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch b/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch
new file mode 100644
index 00000000000..93b768eeb20
--- /dev/null
+++ b/pkgs/development/libraries/libxklavier/honor-XKB_CONFIG_ROOT.patch
@@ -0,0 +1,89 @@
+From 999a419f4b36764a7269650a7f965d48bd4b73f7 Mon Sep 17 00:00:00 2001
+From: Louis Bettens <louis@bettens.info>
+Date: Sat, 28 Dec 2019 14:30:58 +0100
+Subject: [PATCH] honor $XKB_CONFIG_ROOT
+
+---
+ libxklavier/xklavier_config_xkb.c | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c
+index baec569..00e8de5 100644
+--- a/libxklavier/xklavier_config_xkb.c
++++ b/libxklavier/xklavier_config_xkb.c
+@@ -45,6 +45,18 @@
+ #define XK_XKB_KEYS
+ #include <X11/keysymdef.h>
+ 
++static const gchar *
++xkl_xkb_get_base_path(void)
++{
++	const gchar *base_path;
++
++	base_path = g_getenv ("XKB_CONFIG_ROOT");
++	if (!base_path)
++		base_path = XKB_BASE;
++
++	return base_path;
++}
++
+ #ifdef LIBXKBFILE_PRESENT
+ static XkbRF_RulesPtr xkl_rules;
+ 
+@@ -65,7 +77,8 @@ xkl_rules_set_load(XklEngine * engine)
+ 
+ 	locale = setlocale(LC_ALL, NULL);
+ 
+-	g_snprintf(file_name, sizeof file_name, XKB_BASE "/rules/%s", rf);
++	g_snprintf(file_name, sizeof file_name, "%s/rules/%s",
++		   xkl_xkb_get_base_path(), rf);
+ 	xkl_debug(160, "Loading rules from [%s]\n", file_name);
+ 
+ 	rules_set = XkbRF_Load(file_name, locale, True, True);
+@@ -98,10 +111,14 @@ gboolean
+ xkl_xkb_load_config_registry(XklConfigRegistry * config,
+ 			     gboolean if_extras_needed)
+ {
+-	return xkl_config_registry_load_helper(config,
++	const gchar *rules_path = g_strdup_printf("%s/rules",
++					  xkl_xkb_get_base_path());
++	gboolean ok = xkl_config_registry_load_helper(config,
+ 					       XKB_DEFAULT_RULESET,
+-					       XKB_BASE "/rules",
++					       rules_path,
+ 					       if_extras_needed);
++	g_free(rules_path);
++	return ok;
+ }
+ 
+ #ifdef LIBXKBFILE_PRESENT
+@@ -249,6 +266,7 @@ xkl_config_get_keyboard(XklEngine * engine,
+ 		pid_t cpid, pid;
+ 		int status = 0;
+ 		FILE *tmpxkb;
++		const gchar *opt_I;
+ 
+ 		xkl_debug(150, "tmp XKB/XKM file names: [%s]/[%s]\n",
+ 			  xkb_fn, xkm_fn);
+@@ -296,14 +314,16 @@ xkl_config_get_keyboard(XklEngine * engine,
+ 				break;
+ 			case 0:
+ 				/* child */
++				opt_I = g_strdup_printf("-I%s", xkl_xkb_get_base_path());
+ 				xkl_debug(160, "Executing %s\n", XKBCOMP);
+ 				xkl_debug(160, "%s %s %s %s %s %s %s %s\n",
+ 					  XKBCOMP, XKBCOMP, "-w0", "-I",
+-					  "-I" XKB_BASE, "-xkm", xkb_fn,
++					  opt_I, "-xkm", xkb_fn,
+ 					  xkm_fn);
+ 				execl(XKBCOMP, XKBCOMP, "-w0", "-I",
+-				      "-I" XKB_BASE, "-xkm", xkb_fn,
++				      opt_I, "-xkm", xkb_fn,
+ 				      xkm_fn, NULL);
++				g_free(opt_I);
+ 				xkl_debug(0, "Could not exec %s: %d\n",
+ 					  XKBCOMP, errno);
+ 				exit(1);
+-- 
+2.24.1
+
diff --git a/pkgs/development/libraries/openzwave/default.nix b/pkgs/development/libraries/openzwave/default.nix
index 3d5988f8114..a9dbcf9ffb2 100644
--- a/pkgs/development/libraries/openzwave/default.nix
+++ b/pkgs/development/libraries/openzwave/default.nix
@@ -3,7 +3,7 @@
 , systemd }:
 
 let
-  version = "2018-11-13";
+  version = "2019-12-08";
 
 in stdenv.mkDerivation {
   pname = "openzwave";
@@ -14,8 +14,8 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "home-assistant";
     repo = "open-zwave";
-    rev = "0679daef6aa5a39e2441a68f7b45cfe022c4d961";
-    sha256 = "1d13maj93i6h792cbvqpx43ffss44dxmvbwj2777vzvvjib8m4n8";
+    rev = "2cd2137025c529835e4893a7b87c3d56605b2681";
+    sha256 = "04g8fb4f4ihakvvsmzcnncgfdd2ikmki7s22i9c6layzdwavbwf1";
   };
 
   nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkgconfig which ];
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index d9267827e77..20723322c1d 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -52,10 +52,6 @@ stdenv.mkDerivation rec {
     qtx11extras
   ];
 
-  # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
-  # if DESTDIR is unset
-  DESTDIR="/";
-
   nativeBuildInputs = [
     cmake
     pkgconfig
diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix
index b047322c35e..e238ca790be 100644
--- a/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/pkgs/development/libraries/prometheus-cpp/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     "-DUSE_THIRDPARTY_LIBRARIES=OFF"
     "-DCIVETWEB_INCLUDE_DIR=${civetweb.dev}/include"
     "-DCIVETWEB_CXX_LIBRARY=${civetweb}/lib/libcivetweb${stdenv.targetPlatform.extensions.sharedLibrary}"
+    "-DBUILD_SHARED_LIBS=ON"
   ];
 
   NIX_LDFLAGS = [ "-ldl" ];
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 3dbdb2a9770..c7cb6d509dc 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -2,7 +2,7 @@
   stdenv, lib,
   src, patches, version, qtCompatVersion,
 
-  coreutils, bison, flex, gdb, gperf, lndir, perl, pkgconfig, python2,
+  coreutils, bison, flex, gdb, gperf, lndir, perl, pkgconfig, python3,
   which,
   # darwin support
   darwin, libiconv,
@@ -75,7 +75,8 @@ stdenv.mkDerivation {
     );
 
   buildInputs =
-    lib.optionals (!stdenv.isDarwin)
+    [ python3 ]
+    ++ lib.optionals (!stdenv.isDarwin)
     (
       [ libinput ]
       ++ lib.optional withGtk3 gtk3
@@ -86,7 +87,7 @@ stdenv.mkDerivation {
     ++ lib.optional (postgresql != null) postgresql;
 
   nativeBuildInputs =
-    [ bison flex gperf lndir perl pkgconfig python2 which ];
+    [ bison flex gperf lndir perl pkgconfig which ];
 
   propagatedNativeBuildInputs = [ lndir ];
 
diff --git a/pkgs/development/libraries/science/biology/mirtk/default.nix b/pkgs/development/libraries/science/biology/mirtk/default.nix
index e6c58b96e5c..fb93961e1bc 100644
--- a/pkgs/development/libraries/science/biology/mirtk/default.nix
+++ b/pkgs/development/libraries/science/biology/mirtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python, vtk, zlib }:
+{ stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python, vtk, zlib, tbb }:
 
 stdenv.mkDerivation rec {
   version = "2.0.0";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  cmakeFlags = "-DWITH_VTK=ON -DBUILD_ALL_MODULES=ON";
+  cmakeFlags = "-DWITH_VTK=ON -DBUILD_ALL_MODULES=ON -DWITH_TBB=ON";
 
   doCheck = true;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ cmake gtest ];
-  buildInputs = [ boost eigen python vtk zlib ];
+  buildInputs = [ boost eigen python vtk zlib tbb ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/BioMedIA/MIRTK";
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 63b6ae94a38..c390603c51d 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, python, wafHook }:
+{ stdenv, fetchurl, pkgconfig, python3, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "serd";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf";
   };
 
-  nativeBuildInputs = [ pkgconfig python wafHook ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/serd;
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
index c1c22cb910d..38636776e9d 100644
--- a/pkgs/development/libraries/sord/default.nix
+++ b/pkgs/development/libraries/sord/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, python, serd, pcre, wafHook }:
+{ stdenv, fetchurl, pkgconfig, python3, serd, pcre, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "sord";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ python serd pcre ];
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
+  buildInputs = [ serd pcre ];
 
   meta = with stdenv.lib; {
     homepage = http://drobilla.net/software/sord;
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
index a18edc0a6df..e70980afac6 100644
--- a/pkgs/development/libraries/spdk/default.nix
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libuuid, numactl, openssl }:
+{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libbsd, libuuid, numactl, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "spdk";
-  version = "19.04";
+  version = "19.10";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "10mzal1hspnh26ws5d7sc54gyjfzkf6amr0gkd7b368ng2a9z8s6";
+    sha256 = "16v2vswn3rnnj7ak5w5rsak6r8f9b85gyhyll4ac1k4xpyj488hj";
   };
 
+  patches = [ ./spdk-dpdk-meson.patch ];
+
   nativeBuildInputs = [ python ];
 
-  buildInputs = [ cunit dpdk libaio libuuid numactl openssl ];
+  buildInputs = [ cunit dpdk libaio libbsd libuuid numactl openssl ];
 
   postPatch = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch b/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
new file mode 100644
index 00000000000..9cc6d89ce50
--- /dev/null
+++ b/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
@@ -0,0 +1,17 @@
+1. dpdk built with meson generates rte_build_config.h rather than rte_config.h.
+2. dpdk configured with libbsd requires that dependents link with libbsd.
+
+--- a/lib/env_dpdk/env.mk
++++ b/lib/env_dpdk/env.mk
+@@ -140,6 +140,9 @@ endif
+ 
+-ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_config.h))
+-ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_config.h))
++ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_build_config.h))
++ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_build_config.h))
+ ENV_LINKER_ARGS += -lnuma
+ endif
++ifneq (,$(shell grep -e "define RTE_USE_LIBBSD 1" $(DPDK_INC_DIR)/rte_build_config.h))
++ENV_LINKER_ARGS += -lbsd
++endif
+ endif
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index 0ec5d8ad15d..18f9e541acd 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -11,10 +11,8 @@ with stdenv.lib; stdenv.mkDerivation rec {
     sha256 = "1a39nflw7b2n51jfp3fdprnkpgzaspzww1dckfvaigflfli9s8rj";
   };
 
-  makeFlags = concatStringsSep " " (
-    optional (compiler != null) "compiler=${compiler}" ++
-    optional (stdver != null) "stdver=${stdver}"
-  );
+  makeFlags = optional (compiler != null) "compiler=${compiler}"
+    ++ optional (stdver != null) "stdver=${stdver}";
 
   patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./glibc-struct-mallinfo.patch;
 
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index e257088c41f..1c0b70f6896 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
index 73ca55cffd0..dca24c7f9ea 100644
--- a/pkgs/development/libraries/unibilium/default.nix
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -1,15 +1,15 @@
 { stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl, ncurses }:
 
 stdenv.mkDerivation rec {
-  pname = "unibilium";
+  pname = "unibilium-unstable";
 
-  version = "2.0.0";
+  version = "20190811";
 
   src = fetchFromGitHub {
-    owner = "mauke";
+    owner = "neovim";
     repo = "unibilium";
-    rev = "v${version}";
-    sha256 = "1wa9a32wzqnxqh1jh554afj13dzjr6mw2wzqzw8d08nza9pg2ra2";
+    rev = "92d929fabaf94ea4feb48149bbc3bbea77c4fab0";
+    sha256 = "1l8p3fpdymba62x1f5d990v72z3m5f5g2yf505g0rlf2ysc5r1di";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
index 4f69c1c8079..22d2ab333ca 100644
--- a/pkgs/development/libraries/zookeeper_mt/default.nix
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c";
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-overflow" ];
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionals (!stdenv.isDarwin) [ "-Wno-error=format-overflow" ];
 
   buildInputs = [ zookeeper bash ];
 
diff --git a/pkgs/development/node-packages/default-v10.nix b/pkgs/development/node-packages/default-v10.nix
index 8a479924d46..7a87aedacdd 100644
--- a/pkgs/development/node-packages/default-v10.nix
+++ b/pkgs/development/node-packages/default-v10.nix
@@ -31,6 +31,10 @@ nodePackages // {
     '';
   };
 
+  bitwarden-cli = pkgs.lib.overrideDerivation nodePackages."@bitwarden/cli" (drv: {
+    name = "bitwarden-cli-${drv.version}";
+  });
+
   ios-deploy = nodePackages.ios-deploy.override (drv: {
     nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ];
     preRebuild = ''
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
index 07066787fae..d5f7b95ab97 100644
--- a/pkgs/development/node-packages/node-packages-v10.json
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -2,6 +2,7 @@
   "@angular/cli"
 , "@antora/cli"
 , "@antora/site-generator-default"
+, "@bitwarden/cli"
 , "@vue/cli"
 , "@webassemblyjs/cli"
 , "@webassemblyjs/repl"
@@ -15,7 +16,6 @@
 , "bower2nix"
 , "browserify"
 , "castnow"
-, { "texlab-citeproc-build-deps": "../tools/misc/texlab/citeproc" }
 , "clean-css"
 , "coffee-script"
 , "coinmon"
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index 4c9c44faddc..d5bc3f18c43 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -985,13 +985,13 @@ let
         sha512 = "N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==";
       };
     };
-    "@babel/polyfill-7.6.0" = {
+    "@babel/polyfill-7.7.0" = {
       name = "_at_babel_slash_polyfill";
       packageName = "@babel/polyfill";
-      version = "7.6.0";
+      version = "7.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.6.0.tgz";
-        sha512 = "q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==";
+        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.7.0.tgz";
+        sha512 = "/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ==";
       };
     };
     "@babel/preset-env-7.7.7" = {
@@ -1039,15 +1039,6 @@ let
         sha512 = "S2mv9a5dc2pcpg/ConlKZx/6wXaEwHeqfo7x/QbXsdCAZm+WJC1ekVvL1TVxNsedTs5y/gG63MhJTEsmwmjtiA==";
       };
     };
-    "@babel/runtime-7.6.2" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz";
-        sha512 = "EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==";
-      };
-    };
     "@babel/runtime-7.7.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
@@ -2209,13 +2200,13 @@ let
         sha512 = "DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==";
       };
     };
-    "@octokit/rest-16.35.2" = {
+    "@octokit/rest-16.36.0" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "16.35.2";
+      version = "16.36.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.2.tgz";
-        sha512 = "iijaNZpn9hBpUdh8YdXqNiWazmq4R1vCUsmxpBB0kCQ0asHZpCx+HNs22eiHuwYKRhO31ZSAGBJLi0c+3XHaKQ==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.36.0.tgz";
+        sha512 = "zoZj7Ya4vWBK4fjTwK2Cnmu7XBB1p9ygSvTk2TthN6DVJXM4hQZQoAiknWFLJWSTix4dnA3vuHtjPZbExYoCZA==";
       };
     };
     "@octokit/types-2.0.2" = {
@@ -3082,13 +3073,22 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-10.17.11" = {
+    "@types/minimist-1.2.0" = {
+      name = "_at_types_slash_minimist";
+      packageName = "@types/minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "69a23a3ad29caf0097f06eda59b361ee2f0639f6";
+      };
+    };
+    "@types/node-10.17.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.17.11";
+      version = "10.17.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.17.11.tgz";
-        sha512 = "dNd2pp8qTzzNLAs3O8nH3iU9DG9866KHq9L3ISPB7DOGERZN81nW/5/g/KzMJpCU8jrbCiMRBzV9/sCEdRosig==";
+        url = "https://registry.npmjs.org/@types/node/-/node-10.17.12.tgz";
+        sha512 = "SSB4O9/0NVv5mbQ5/MabnAyFfcpVFRVIJj1TZkG21HHgwXQGjosiQB3SBWC9pMCMUTNpWL9gUe//9mFFPQAdKw==";
       };
     };
     "@types/node-11.15.3" = {
@@ -3100,13 +3100,22 @@ let
         sha512 = "5RzvXVietaB8S4dwDjxjltAOHtTO87fiksjqjWGZih97j6KSrdCDaRfmYMNrgrLM87odGBrsTHAl6N3fLraQaw==";
       };
     };
-    "@types/node-12.12.21" = {
+    "@types/node-12.12.22" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.12.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.22.tgz";
+        sha512 = "r5i93jqbPWGXYXxianGATOxTelkp6ih/U0WVnvaqAvTqM+0U6J3kw6Xk6uq/dWNRkEVw/0SLcO5ORXbVNz4FMQ==";
+      };
+    };
+    "@types/node-13.1.0" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.12.21";
+      version = "13.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.12.21.tgz";
-        sha512 = "8sRGhbpU+ck1n0PGAUgVrWrWdjSW2aqNeyC15W88GRsMpSwzv6RJGlLhE7s2RhVSOdyDmxbqlWSeThq4/7xqlA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-13.1.0.tgz";
+        sha512 = "zwrxviZS08kRX40nqBrmERElF2vpw4IUTd5khkhBTfFH8AOaeoLVx48EC4+ZzS2/Iga7NevncqnsUSYjM4OWYA==";
       };
     };
     "@types/node-6.14.9" = {
@@ -3136,6 +3145,15 @@ let
         sha512 = "8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ==";
       };
     };
+    "@types/normalize-package-data-2.4.0" = {
+      name = "_at_types_slash_normalize-package-data";
+      packageName = "@types/normalize-package-data";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha512 = "f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==";
+      };
+    };
     "@types/q-1.5.2" = {
       name = "_at_types_slash_q";
       packageName = "@types/q";
@@ -4090,13 +4108,13 @@ let
         sha1 = "f291be701a2efc567a63fc7aa6afcded31430be1";
       };
     };
-    "addons-linter-1.14.0" = {
+    "addons-linter-1.19.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "1.14.0";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-1.14.0.tgz";
-        sha512 = "Of7A53J2ltaIZzD8RPH1hVxOR+DmLDuHBtwfhXJw8JTXwzpDIvOKn/i6XDtPgfFlj5wIWxpUGV+tFb/kE/K9gg==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-1.19.0.tgz";
+        sha512 = "pnfrdQqatZeEnBcRcMq9KWZJRmS9YiPyWu3gZbJl12Ee3dUlvke+2C0DcYhNfm4hciRB4wrr4OiQTYAXh1CyzA==";
       };
     };
     "addr-to-ip-port-1.5.1" = {
@@ -5521,13 +5539,13 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "array-includes-3.1.0" = {
+    "array-includes-3.1.1" = {
       name = "array-includes";
       packageName = "array-includes";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.0.tgz";
-        sha512 = "ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ==";
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz";
+        sha512 = "c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==";
       };
     };
     "array-initial-1.1.0" = {
@@ -6214,13 +6232,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.595.0" = {
+    "aws-sdk-2.596.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.595.0";
+      version = "2.596.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.595.0.tgz";
-        sha512 = "bE/XzwlvEv3YPGfU7EfvAOi1IaEzmM+9VWP6xD9xN1lLhdBgCIiQIvSnr52LDR4J7ohqVP+oYpuBZcXrqZaP2Q==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.596.0.tgz";
+        sha512 = "Bp+gyqhLw8tK4sgM1v1PDSw26H1mSXs6yhQInmGzDKqXJor6UyUb9JskFv0zC/bA84XizlshN1BBIgINqk6pNg==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -6700,15 +6718,6 @@ let
         sha1 = "be241ca81404030678b748717322b89d0c8fe280";
       };
     };
-    "babel-polyfill-6.16.0" = {
-      name = "babel-polyfill";
-      packageName = "babel-polyfill";
-      version = "6.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.16.0.tgz";
-        sha1 = "2d45021df87e26a374b6d4d1a9c65964d17f2422";
-      };
-    };
     "babel-polyfill-6.26.0" = {
       name = "babel-polyfill";
       packageName = "babel-polyfill";
@@ -7141,6 +7150,15 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
+    "big-integer-1.6.36" = {
+      name = "big-integer";
+      packageName = "big-integer";
+      version = "1.6.36";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz";
+        sha512 = "t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==";
+      };
+    };
     "big-integer-1.6.48" = {
       name = "big-integer";
       packageName = "big-integer";
@@ -7537,13 +7555,13 @@ let
         sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
       };
     };
-    "bn.js-5.0.0" = {
+    "bn.js-5.1.1" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "5.0.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.0.0.tgz";
-        sha512 = "bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A==";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz";
+        sha512 = "IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==";
       };
     };
     "bncode-0.2.3" = {
@@ -9175,13 +9193,13 @@ let
         sha512 = "HqsYJgIc8ljJJOqOzLphjAs79EUuWSX3nzZi2LNkzlw3GIzAeZbaSektC8iT/tKvLqZq8yl1GJu5o6doA4TRbg==";
       };
     };
-    "chrome-launcher-0.11.2" = {
+    "chrome-launcher-0.12.0" = {
       name = "chrome-launcher";
       packageName = "chrome-launcher";
-      version = "0.11.2";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.11.2.tgz";
-        sha512 = "jx0kJDCXdB2ARcDMwNCtrf04oY1Up4rOmVu+fqJ5MTPOOIG8EhRcEU9NZfXZc6dMw9FU8o1r21PNp8V2M0zQ+g==";
+        url = "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.12.0.tgz";
+        sha512 = "rBUP4tvWToiileDi3UR0SbWKoUoDCYTRmVND2sdoBL1xANBgVz8V9h1yQluj3MEQaBJg0fRw7hW82uOPrJus7A==";
       };
     };
     "chrome-net-3.3.3" = {
@@ -9661,6 +9679,15 @@ let
         sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     };
+    "cliui-6.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz";
+        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
+      };
+    };
     "clivas-0.1.4" = {
       name = "clivas";
       packageName = "clivas";
@@ -10156,6 +10183,15 @@ let
         sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
       };
     };
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
+      };
+    };
     "combined-stream-1.0.8" = {
       name = "combined-stream";
       packageName = "combined-stream";
@@ -10255,6 +10291,15 @@ let
         sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
       };
     };
+    "commander-2.18.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz";
+        sha512 = "6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==";
+      };
+    };
     "commander-2.19.0" = {
       name = "commander";
       packageName = "commander";
@@ -10579,6 +10624,15 @@ let
         sha512 = "CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==";
       };
     };
+    "configstore-5.0.0" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz";
+        sha512 = "eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==";
+      };
+    };
     "connect-1.9.2" = {
       name = "connect";
       packageName = "connect";
@@ -11155,13 +11209,22 @@ let
         sha512 = "AHPTNKzyB+YwgDWoSOCaid9PUSEF6781vsfiK8qUz62zRR448/XgK2NtCbpiUGizbep8Lrpt0Du19PpGGZvw3Q==";
       };
     };
-    "core-js-compat-3.6.0" = {
+    "core-js-3.6.1" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.1.tgz";
+        sha512 = "186WjSik2iTGfDjfdCZAxv2ormxtKgemjC3SI6PL31qOA0j5LhTDVjHChccoc7brwLvpvLPiMyRlcO88C4l1QQ==";
+      };
+    };
+    "core-js-compat-3.6.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.6.0";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.0.tgz";
-        sha512 = "Z3eCNjGgoYluH89Jt4wVkfYsc/VdLrA2/woX5lm0isO/pCT+P+Y+o65bOuEnjDJLthdwTBxbCVzptTXtc18fJg==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.1.tgz";
+        sha512 = "2Tl1EuxZo94QS2VeH28Ebf5g3xbPZG/hj/N5HDDy4XMP/ImR0JIer/nggQRiMN91Q54JVkGbytf42wO29oXVHg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -11497,6 +11560,15 @@ let
         sha1 = "a230f64f568310e1498009940790ec99545bca7e";
       };
     };
+    "crypto-random-string-2.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
+        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
+      };
+    };
     "csrf-3.1.0" = {
       name = "csrf";
       packageName = "csrf";
@@ -12559,13 +12631,13 @@ let
         sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
       };
     };
-    "deepcopy-0.6.3" = {
+    "deepcopy-2.0.0" = {
       name = "deepcopy";
       packageName = "deepcopy";
-      version = "0.6.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepcopy/-/deepcopy-0.6.3.tgz";
-        sha1 = "634780f2f8656ab771af8fa8431ed1ccee55c7b0";
+        url = "https://registry.npmjs.org/deepcopy/-/deepcopy-2.0.0.tgz";
+        sha512 = "d5ZK7pJw7F3k6M5vqDjGiiUS9xliIyWkdzBjnPhnSeRGjkYOGZMCFkdKVwV/WiHOe0NwzB8q+iDo7afvSf0arA==";
       };
     };
     "deepmerge-2.1.0" = {
@@ -12595,15 +12667,6 @@ let
         sha512 = "GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==";
       };
     };
-    "deepmerge-4.0.0" = {
-      name = "deepmerge";
-      packageName = "deepmerge";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz";
-        sha512 = "YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==";
-      };
-    };
     "deepmerge-4.2.2" = {
       name = "deepmerge";
       packageName = "deepmerge";
@@ -13243,13 +13306,13 @@ let
         sha1 = "57ddacb47324ae5f58d2cc0da886db4ce9eeb718";
       };
     };
-    "dispensary-0.40.0" = {
+    "dispensary-0.48.1" = {
       name = "dispensary";
       packageName = "dispensary";
-      version = "0.40.0";
+      version = "0.48.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.40.0.tgz";
-        sha512 = "ttKDQvGBf+ygQ4rXuLBLErp3kMJIS+Gfmy+nJ6N/EfV8/RQdjd9SORpc729YK5SYAI+IuBo88S2xGUjKjU2jYw==";
+        url = "https://registry.npmjs.org/dispensary/-/dispensary-0.48.1.tgz";
+        sha512 = "oC9ItJ7YtO/DKsp24T90k7z0NxfkZQkvJ3USTxUoVjBKrfMRz1/kMd+NcFgDG+KrJg14GChiv1sbdFdxeKRUUw==";
       };
     };
     "diveSync-0.3.0" = {
@@ -14540,15 +14603,6 @@ let
         sha1 = "42c5c18a9016bcb0db28a4d340ebb831f55d1b66";
       };
     };
-    "es6-error-4.0.0" = {
-      name = "es6-error";
-      packageName = "es6-error";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-error/-/es6-error-4.0.0.tgz";
-        sha1 = "f094c7041f662599bb12720da059d6b9c7ff0f40";
-      };
-    };
     "es6-error-4.1.1" = {
       name = "es6-error";
       packageName = "es6-error";
@@ -14945,15 +14999,6 @@ let
         sha512 = "qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==";
       };
     };
-    "espree-6.1.1" = {
-      name = "espree";
-      packageName = "espree";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz";
-        sha512 = "EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==";
-      };
-    };
     "espree-6.1.2" = {
       name = "espree";
       packageName = "espree";
@@ -15980,13 +16025,13 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "fast-redact-1.5.0" = {
+    "fast-redact-2.0.0" = {
       name = "fast-redact";
       packageName = "fast-redact";
-      version = "1.5.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-1.5.0.tgz";
-        sha512 = "Afo61CgUjkzdvOKDHn08qnZ0kwck38AOGcMlvSGzvJbIab6soAP5rdoQayecGCDsD69AiF9vJBXyq31eoEO2tQ==";
+        url = "https://registry.npmjs.org/fast-redact/-/fast-redact-2.0.0.tgz";
+        sha512 = "zxpkULI9W9MNTK2sJ3BpPQrTEXFNESd2X6O1tXMFpK/XM0G5c5Rll2EVYZH2TqI3xRGK/VaJ+eEOt7pnENJpeA==";
       };
     };
     "fast-safe-stringify-1.2.3" = {
@@ -16493,13 +16538,13 @@ let
         sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
       };
     };
-    "firefox-profile-1.2.0" = {
+    "firefox-profile-1.3.0" = {
       name = "firefox-profile";
       packageName = "firefox-profile";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.2.0.tgz";
-        sha512 = "TTEFfPOkyaz4EWx/5ZDQC1mJAe3a+JgVcchpIfD4Tvx1UspwlTJRJxOYA35x/z2iJcxaF6aW2rdh6oj6qwgd2g==";
+        url = "https://registry.npmjs.org/firefox-profile/-/firefox-profile-1.3.0.tgz";
+        sha512 = "3d7JPnFC3GrwGW8wonAqy2E4YCI7A8MO7yVDkqS09uQ3tLvMLCY3Ytt4ntvVXvyzjVMRmrLW9W/CubnnzrdLCA==";
       };
     };
     "first-chunk-stream-1.0.0" = {
@@ -16907,6 +16952,15 @@ let
         sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
       };
     };
+    "form-data-2.3.2" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
+      };
+    };
     "form-data-2.3.3" = {
       name = "form-data";
       packageName = "form-data";
@@ -17294,15 +17348,6 @@ let
         sha512 = "+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==";
       };
     };
-    "fsevents-2.0.7" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz";
-        sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
-      };
-    };
     "fsevents-2.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
@@ -17681,15 +17726,6 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "gettext-parser-1.1.0" = {
-      name = "gettext-parser";
-      packageName = "gettext-parser";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz";
-        sha1 = "2c5a6638d893934b9b55037d0ad82cb7004b2679";
-      };
-    };
     "git-apply-delta-0.0.7" = {
       name = "git-apply-delta";
       packageName = "git-apply-delta";
@@ -17780,6 +17816,15 @@ let
         sha1 = "4468406c7e6c3ba4cf4587999e1adb28d9d1af55";
       };
     };
+    "git-rev-sync-2.0.0" = {
+      name = "git-rev-sync";
+      packageName = "git-rev-sync";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-2.0.0.tgz";
+        sha512 = "vnHFv2eocTmt/wHqZm3ksxtVshK4vptT0cEoumk6hAYRFx3do6Qo7xHBTBCv29+r3ZZCQOQ1i328MUCsYF7AUw==";
+      };
+    };
     "git-semver-tags-2.0.3" = {
       name = "git-semver-tags";
       packageName = "git-semver-tags";
@@ -17933,15 +17978,6 @@ let
         sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
       };
     };
-    "glob-7.1.4" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
-        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
-      };
-    };
     "glob-7.1.5" = {
       name = "glob";
       packageName = "glob";
@@ -18077,6 +18113,15 @@ let
         sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
       };
     };
+    "global-dirs-2.0.1" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz";
+        sha512 = "5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==";
+      };
+    };
     "global-https://github.com/component/global/archive/v2.0.1.tar.gz" = {
       name = "global";
       packageName = "global";
@@ -18393,6 +18438,15 @@ let
         sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
+    "graceful-fs-4.1.15" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";
+        sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
+      };
+    };
     "graceful-fs-4.2.1" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -18843,15 +18897,6 @@ let
         sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
-    "har-validator-5.0.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
-        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
-      };
-    };
     "har-validator-5.1.3" = {
       name = "har-validator";
       packageName = "har-validator";
@@ -18861,6 +18906,15 @@ let
         sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
       };
     };
+    "hard-rejection-2.1.0" = {
+      name = "hard-rejection";
+      packageName = "hard-rejection";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz";
+        sha512 = "VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==";
+      };
+    };
     "has-1.0.3" = {
       name = "has";
       packageName = "has";
@@ -19771,6 +19825,15 @@ let
         sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
       };
     };
+    "https-proxy-agent-2.2.1" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz";
+        sha512 = "HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==";
+      };
+    };
     "https-proxy-agent-2.2.4" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
@@ -20131,15 +20194,6 @@ let
         sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
       };
     };
-    "import-fresh-3.1.0" = {
-      name = "import-fresh";
-      packageName = "import-fresh";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz";
-        sha512 = "PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==";
-      };
-    };
     "import-fresh-3.2.1" = {
       name = "import-fresh";
       packageName = "import-fresh";
@@ -21319,6 +21373,15 @@ let
         sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
       };
     };
+    "is-installed-globally-0.3.1" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz";
+        sha512 = "oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==";
+      };
+    };
     "is-interactive-1.0.0" = {
       name = "is-interactive";
       packageName = "is-interactive";
@@ -21427,6 +21490,15 @@ let
         sha512 = "wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==";
       };
     };
+    "is-npm-4.0.0" = {
+      name = "is-npm";
+      packageName = "is-npm";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz";
+        sha512 = "96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==";
+      };
+    };
     "is-number-2.1.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -21526,6 +21598,15 @@ let
         sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
       };
     };
+    "is-path-inside-3.0.2" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz";
+        sha512 = "/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==";
+      };
+    };
     "is-plain-obj-1.1.0" = {
       name = "is-plain-obj";
       packageName = "is-plain-obj";
@@ -22462,6 +22543,15 @@ let
         sha512 = "y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==";
       };
     };
+    "jsdom-13.2.0" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "13.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-13.2.0.tgz";
+        sha512 = "cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==";
+      };
+    };
     "jsdom-14.1.0" = {
       name = "jsdom";
       packageName = "jsdom";
@@ -22867,15 +22957,6 @@ let
         sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
       };
     };
-    "jsonwebtoken-8.2.1" = {
-      name = "jsonwebtoken";
-      packageName = "jsonwebtoken";
-      version = "8.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.1.tgz";
-        sha512 = "l8rUBr0fqYYwPc8/ZGrue7GiW7vWdZtZqelxo4Sd5lMvuEeCK8/wS54sEo6tJhdZ6hqfutsj6COgC0d1XdbHGw==";
-      };
-    };
     "jsonwebtoken-8.5.1" = {
       name = "jsonwebtoken";
       packageName = "jsonwebtoken";
@@ -24776,6 +24857,15 @@ let
         sha1 = "4fb54f816652e5ae10e8f72f717a388c7326538a";
       };
     };
+    "lodash.omit-4.5.0" = {
+      name = "lodash.omit";
+      packageName = "lodash.omit";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz";
+        sha1 = "6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60";
+      };
+    };
     "lodash.once-4.1.1" = {
       name = "lodash.once";
       packageName = "lodash.once";
@@ -25397,6 +25487,15 @@ let
         sha1 = "f35ca91c493f7b73da0e07495304f17b31f87ee5";
       };
     };
+    "lunr-2.3.3" = {
+      name = "lunr";
+      packageName = "lunr";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.3.tgz";
+        sha512 = "rlAEsgU9Bnavca2w1WJ6+6cdeHMXNyadcersyk3ZpuhgWb5HBNj8l4WwJz9PjksAhYDlpQffCVXPctOn+wCIVA==";
+      };
+    };
     "lynx-0.2.0" = {
       name = "lynx";
       packageName = "lynx";
@@ -25964,13 +26063,13 @@ let
         sha1 = "c04891883c28c83602e1d06b05a11037e359b4c8";
       };
     };
-    "mdn-browser-compat-data-0.0.94" = {
+    "mdn-browser-compat-data-1.0.1" = {
       name = "mdn-browser-compat-data";
       packageName = "mdn-browser-compat-data";
-      version = "0.0.94";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-0.0.94.tgz";
-        sha512 = "O3zJqbmehz0Hn3wpk62taA0+jNF7yn6BDWqQ9Wh2bEoO9Rx1BYiTmNX565eNVbW0ixfQkY6Sp9FvY/rr79Qmyg==";
+        url = "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-1.0.1.tgz";
+        sha512 = "FxRIu4UYu4rRdFs5JFf6del6J+OpbOq2tYfIEK7N/PtEtz6yGVcWcytmh5L5hZxe58kuxUzjgR8+/0TRyRzRqA==";
       };
     };
     "mdn-data-2.0.4" = {
@@ -26225,6 +26324,15 @@ let
         sha512 = "CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==";
       };
     };
+    "meow-6.0.0" = {
+      name = "meow";
+      packageName = "meow";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/meow/-/meow-6.0.0.tgz";
+        sha512 = "x4rYsjigPBDAxY+BGuK83YLhUIqui5wYyZoqb6QJCUOs+0fiYq+i/NV4Jt8OgIfObZFxG9iTyvLDu4UTohGTFw==";
+      };
+    };
     "merge-1.2.1" = {
       name = "merge";
       packageName = "merge";
@@ -26585,6 +26693,15 @@ let
         sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
       };
     };
+    "min-indent-1.0.0" = {
+      name = "min-indent";
+      packageName = "min-indent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz";
+        sha1 = "cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256";
+      };
+    };
     "minicap-prebuilt-2.3.0" = {
       name = "minicap-prebuilt";
       packageName = "minicap-prebuilt";
@@ -26702,6 +26819,15 @@ let
         sha512 = "FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==";
       };
     };
+    "minimist-options-4.0.2" = {
+      name = "minimist-options";
+      packageName = "minimist-options";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz";
+        sha512 = "seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==";
+      };
+    };
     "minimisted-2.0.0" = {
       name = "minimisted";
       packageName = "minimisted";
@@ -27476,15 +27602,6 @@ let
         sha1 = "37585555a4ff1985309edac7c2a045a466be6c32";
       };
     };
-    "mz-2.5.0" = {
-      name = "mz";
-      packageName = "mz";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mz/-/mz-2.5.0.tgz";
-        sha1 = "2859025df03d46b57bb317174b196477ce64cec1";
-      };
-    };
     "mz-2.7.0" = {
       name = "mz";
       packageName = "mz";
@@ -28237,6 +28354,15 @@ let
         sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
       };
     };
+    "node-fetch-2.2.0" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz";
+        sha512 = "OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==";
+      };
+    };
     "node-fetch-2.6.0" = {
       name = "node-fetch";
       packageName = "node-fetch";
@@ -28453,13 +28579,13 @@ let
         sha512 = "wEiT7bSeU9oVHPK7S+mHb3cR6cIf9l205wTiHzhnUAuoDJS+IdwQkkpFgKTYmkL4Py2LvqCU90h85YpQul7QFQ==";
       };
     };
-    "node-releases-1.1.43" = {
+    "node-releases-1.1.44" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.43";
+      version = "1.1.44";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.43.tgz";
-        sha512 = "Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.44.tgz";
+        sha512 = "NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==";
       };
     };
     "node-request-by-swagger-1.1.4" = {
@@ -28948,13 +29074,13 @@ let
         sha512 = "Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==";
       };
     };
-    "npm-run-path-4.0.0" = {
+    "npm-run-path-4.0.1" = {
       name = "npm-run-path";
       packageName = "npm-run-path";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.0.tgz";
-        sha512 = "8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ==";
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     };
     "npm-which-3.0.1" = {
@@ -30362,6 +30488,15 @@ let
         sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
       };
     };
+    "papaparse-4.6.0" = {
+      name = "papaparse";
+      packageName = "papaparse";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/papaparse/-/papaparse-4.6.0.tgz";
+        sha512 = "ylm8pmgyz9rkS3Ng/ru5tHUF3JxWwKYP0aZZWZ8eCGdSxoqgYiDUXLNQei73mUJOjHw8QNu5ZNCsLoDpkMA6sg==";
+      };
+    };
     "parallel-transform-1.2.0" = {
       name = "parallel-transform";
       packageName = "parallel-transform";
@@ -31316,13 +31451,13 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pino-5.13.3" = {
+    "pino-5.14.0" = {
       name = "pino";
       packageName = "pino";
-      version = "5.13.3";
+      version = "5.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-5.13.3.tgz";
-        sha512 = "FL12DKlPwBlbhztlUz6kseR03PRR8nD+wvLdN/Sji9UiBYYfSjX+k8ocU7/NwW55JdFRONTn3iACoelXnMFVVQ==";
+        url = "https://registry.npmjs.org/pino/-/pino-5.14.0.tgz";
+        sha512 = "Vj1f2wAojTGesogT0hsA/ua8ALltCOBCcA1nkEoDfnTsVWpgBu5UVSY7OdjiGmrMOKHBm24nd3nKXzyPUYJ3ig==";
       };
     };
     "pino-std-serializers-2.4.2" = {
@@ -31568,15 +31703,6 @@ let
         sha1 = "11d1e12b9cb64d63e30c143a330f4c1f567da85f";
       };
     };
-    "po2json-0.4.5" = {
-      name = "po2json";
-      packageName = "po2json";
-      version = "0.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz";
-        sha1 = "47bb2952da32d58a1be2f256a598eebc0b745118";
-      };
-    };
     "portfinder-1.0.25" = {
       name = "portfinder";
       packageName = "portfinder";
@@ -31623,13 +31749,13 @@ let
         sha512 = "soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==";
       };
     };
-    "postcss-7.0.18" = {
+    "postcss-7.0.24" = {
       name = "postcss";
       packageName = "postcss";
-      version = "7.0.18";
+      version = "7.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz";
-        sha512 = "/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.24.tgz";
+        sha512 = "Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA==";
       };
     };
     "postcss-7.0.25" = {
@@ -34062,6 +34188,15 @@ let
         sha1 = "963625378f3e1c4d48c85872b5a6ec7d5d093237";
       };
     };
+    "read-pkg-5.2.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";
+        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
+      };
+    };
     "read-pkg-up-1.0.1" = {
       name = "read-pkg-up";
       packageName = "read-pkg-up";
@@ -34098,6 +34233,15 @@ let
         sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
       };
     };
+    "read-pkg-up-7.0.1" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
+        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
+      };
+    };
     "read-torrent-1.3.1" = {
       name = "read-torrent";
       packageName = "read-torrent";
@@ -34287,6 +34431,15 @@ let
         sha1 = "c1b2007b42d57eb1389079b3c8333639d5e1ccaa";
       };
     };
+    "redent-3.0.0" = {
+      name = "redent";
+      packageName = "redent";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";
+        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
+      };
+    };
     "redeyed-1.0.1" = {
       name = "redeyed";
       packageName = "redeyed";
@@ -34386,15 +34539,6 @@ let
         sha512 = "naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==";
       };
     };
-    "regenerator-runtime-0.9.6" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.9.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz";
-        sha1 = "d33eb95d0d2001a4be39659707c51b0cb71ce029";
-      };
-    };
     "regenerator-transform-0.14.1" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
@@ -34539,13 +34683,13 @@ let
         sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
       };
     };
-    "regjsparser-0.6.1" = {
+    "regjsparser-0.6.2" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.6.1";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.1.tgz";
-        sha512 = "7LutE94sz/NKSYegK+/4E77+8DipxF+Qn2Tmu362AcmsF2NYq/wx3+ObvU90TKEhjf7hQoFXo23ajjrXP7eUgg==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz";
+        sha512 = "E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==";
       };
     };
     "rehype-sort-attribute-values-2.0.1" = {
@@ -34818,15 +34962,6 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
-    "request-2.87.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.87.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.87.0.tgz";
-        sha512 = "fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==";
-      };
-    };
     "request-2.88.0" = {
       name = "request";
       packageName = "request";
@@ -34998,15 +35133,6 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.13.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz";
-        sha512 = "CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==";
-      };
-    };
     "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
@@ -36132,6 +36258,15 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
+    "semver-7.1.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz";
+        sha512 = "WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==";
+      };
+    };
     "semver-compare-1.0.0" = {
       name = "semver-compare";
       packageName = "semver-compare";
@@ -36150,6 +36285,15 @@ let
         sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
       };
     };
+    "semver-diff-3.1.1" = {
+      name = "semver-diff";
+      packageName = "semver-diff";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz";
+        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
+      };
+    };
     "semver-greatest-satisfied-range-1.1.0" = {
       name = "semver-greatest-satisfied-range";
       packageName = "semver-greatest-satisfied-range";
@@ -36663,13 +36807,13 @@ let
         sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
       };
     };
-    "sign-addon-0.3.1" = {
+    "sign-addon-2.0.4" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "0.3.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-0.3.1.tgz";
-        sha512 = "feaoG7+8IXr9SymOEd8VTZCSlVZArWcBDZ33IIdfXlU5NWWzXdCxCjPDqAkLQplFa7RRZr1S4lSmgMPn80Ze1A==";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-2.0.4.tgz";
+        sha512 = "QKfE558nIQ2o9VACAIMQBI4I+IhlL+k9bxhVsQUb4B6Bu+tC8IDSlnHrydcYPf3AB6K+g+BVzbDD1JlSw4bRDg==";
       };
     };
     "signal-exit-3.0.2" = {
@@ -37140,13 +37284,13 @@ let
         sha512 = "DLBt+6ZvtoleXE7Si3wAa6gdPSWsXdIQEY6m2zW2InN9WiaRwIEKMCY822eFmRPZVNNmZNRUIeQsoHZwv/slqQ==";
       };
     };
-    "snyk-nodejs-lockfile-parser-1.16.1" = {
+    "snyk-nodejs-lockfile-parser-1.17.0" = {
       name = "snyk-nodejs-lockfile-parser";
       packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.16.1";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.16.1.tgz";
-        sha512 = "MEQImB2XU35D66wYve6g1RcDuD9vyoxGvYtM+ngSd5ItujzjIpyF26W7niqHwBRGLamqjsKF5cOlbmHs+wsx/Q==";
+        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.17.0.tgz";
+        sha512 = "i4GAYFj9TJLOQ8F+FbIJuJWdGymi8w/XcrEX0FzXk7DpYUCY3mWibyKhw8RasfYBx5vLwUzEvRMaQuc2EwlyfA==";
       };
     };
     "snyk-nuget-plugin-1.16.0" = {
@@ -37653,24 +37797,6 @@ let
         sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
       };
     };
-    "source-map-support-0.4.6" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz";
-        sha1 = "32552aa64b458392a85eab3b0b5ee61527167aeb";
-      };
-    };
-    "source-map-support-0.5.13" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
-        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
-      };
-    };
     "source-map-support-0.5.16" = {
       name = "source-map-support";
       packageName = "source-map-support";
@@ -38859,13 +38985,13 @@ let
         sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
       };
     };
-    "string-kit-0.11.2" = {
+    "string-kit-0.11.3" = {
       name = "string-kit";
       packageName = "string-kit";
-      version = "0.11.2";
+      version = "0.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.11.2.tgz";
-        sha512 = "BNc68epmeZhXKlJjiBntN3t1T+eUY1YQyZNxrm+MiqKLjqWPji0OPbVvxi0AyIV8h7b3kNC3vAC34hqu7agJgQ==";
+        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.11.3.tgz";
+        sha512 = "ZkCMF5wd4u6JK5CszLUePuEHCerk/xVkqO6Y7ocz4qo+Y36lYUxw8kG5PFLo8Q6V0DcPCad1Ro3SpOCxiJC+FA==";
       };
     };
     "string-length-2.0.0" = {
@@ -39255,6 +39381,15 @@ let
         sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68";
       };
     };
+    "strip-indent-3.0.0" = {
+      name = "strip-indent";
+      packageName = "strip-indent";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";
+        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
+      };
+    };
     "strip-json-comments-0.1.3" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -39913,13 +40048,13 @@ let
         sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
       };
     };
-    "tape-4.12.0" = {
+    "tape-4.12.1" = {
       name = "tape";
       packageName = "tape";
-      version = "4.12.0";
+      version = "4.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tape/-/tape-4.12.0.tgz";
-        sha512 = "PWs/TopmfVeYyLNZnfKsoV160xjNq1LvX2SWzZTyhVYsDldR93p5Zp0lfmsY3BCpZdVMXBOkfYZFeScEfsFvKQ==";
+        url = "https://registry.npmjs.org/tape/-/tape-4.12.1.tgz";
+        sha512 = "xoK2ariLmdGxqyXhhxfIZlr0czNB8hNJeVQmHN4D7ZyBn30GUoa4q2oM4cX8jNhnj1mtILXn1ugbfxc0tTDKtA==";
       };
     };
     "tar-0.1.17" = {
@@ -40588,6 +40723,15 @@ let
         sha512 = "zxhwsBpxD5fglnqHYZ9ZjunC8Hc67u/7QXzxHmhAIzzSr4a/Cq5PbzCeHsBZ7WL99uBUa6xgVLfjmGxnFU8XMg==";
       };
     };
+    "tldjs-2.3.1" = {
+      name = "tldjs";
+      packageName = "tldjs";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tldjs/-/tldjs-2.3.1.tgz";
+        sha512 = "W/YVH/QczLUxVjnQhFC61Iq232NWu3TqDdO0S/MtXVz4xybejBov4ud+CIwN9aYqjOecEqIy0PscGkwpG9ZyTw==";
+      };
+    };
     "tlds-1.203.1" = {
       name = "tlds";
       packageName = "tlds";
@@ -41155,6 +41299,15 @@ let
         sha1 = "b403d0b91be50c331dfc4b82eeceb22c3de16d20";
       };
     };
+    "trim-newlines-3.0.0" = {
+      name = "trim-newlines";
+      packageName = "trim-newlines";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz";
+        sha512 = "C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==";
+      };
+    };
     "trim-off-newlines-1.0.1" = {
       name = "trim-off-newlines";
       packageName = "trim-off-newlines";
@@ -41515,6 +41668,15 @@ let
         sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
       };
     };
+    "type-fest-0.6.0" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";
+        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
+      };
+    };
     "type-fest-0.8.1" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -42154,6 +42316,15 @@ let
         sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
       };
     };
+    "unique-string-2.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
+        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
+      };
+    };
     "unist-util-filter-0.2.1" = {
       name = "unist-util-filter";
       packageName = "unist-util-filter";
@@ -42487,6 +42658,15 @@ let
         sha512 = "grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==";
       };
     };
+    "update-notifier-4.0.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-4.0.0.tgz";
+        sha512 = "p9zf71hWt5GVXM4iEBujpUgx8mK9AWiCCapEJm/O1z5ntCim83Z1ATqzZFBHFYqx03laMqv8LiDgs/7ikXjf/g==";
+      };
+    };
     "upnp-device-client-1.0.2" = {
       name = "upnp-device-client";
       packageName = "upnp-device-client";
@@ -44098,15 +44278,6 @@ let
         sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
       };
     };
-    "whatwg-url-7.0.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
-        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
-      };
-    };
     "whatwg-url-7.1.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
@@ -44683,15 +44854,6 @@ let
         sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
       };
     };
-    "ws-7.1.2" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz";
-        sha512 = "gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==";
-      };
-    };
     "ws-7.2.1" = {
       name = "ws";
       packageName = "ws";
@@ -44755,6 +44917,15 @@ let
         sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
       };
     };
+    "xdg-basedir-4.0.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
+        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
+      };
+    };
     "xenvar-0.5.1" = {
       name = "xenvar";
       packageName = "xenvar";
@@ -45269,6 +45440,15 @@ let
         sha512 = "/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==";
       };
     };
+    "yargs-15.0.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "15.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz";
+        sha512 = "GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==";
+      };
+    };
     "yargs-3.10.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -45368,6 +45548,15 @@ let
         sha512 = "xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==";
       };
     };
+    "yargs-parser-16.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "16.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz";
+        sha512 = "H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==";
+      };
+    };
     "yargs-parser-2.4.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -45611,6 +45800,15 @@ let
         sha1 = "66c6de82cc36b09734b820703776490a6fbbe624";
       };
     };
+    "zxcvbn-4.4.2" = {
+      name = "zxcvbn";
+      packageName = "zxcvbn";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz";
+        sha1 = "28ec17cf09743edcab056ddd8b1b06262cc73c30";
+      };
+    };
   };
 in
 {
@@ -46305,6 +46503,176 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@bitwarden/cli" = nodeEnv.buildNodePackage {
+    name = "_at_bitwarden_slash_cli";
+    packageName = "@bitwarden/cli";
+    version = "1.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.8.0.tgz";
+      sha512 = "w0galFGHK7Ea9nVQs3+ct+qTiPqR9PXQEL2kxIEwjDIyKjGY104+twWpLiSOMih2NAS2kuf3egekdEKs8xR8wQ==";
+    };
+    dependencies = [
+      sources."abab-2.0.3"
+      sources."acorn-6.4.0"
+      sources."acorn-globals-4.3.4"
+      sources."acorn-walk-6.2.0"
+      sources."agent-base-4.3.0"
+      sources."ajv-6.10.2"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-equal-1.0.0"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."big-integer-1.6.36"
+      sources."browser-process-hrtime-0.1.3"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.1"
+      sources."chardet-0.7.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.18.0"
+      sources."core-util-is-1.0.2"
+      sources."cssom-0.3.8"
+      sources."cssstyle-1.4.0"
+      sources."dashdash-1.14.1"
+      sources."data-urls-1.1.0"
+      sources."debug-3.2.6"
+      sources."deep-is-0.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."domexception-1.0.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."escodegen-1.12.0"
+      sources."esprima-3.1.3"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."extend-3.0.2"
+      sources."external-editor-3.1.0"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."figures-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.2.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-flag-3.0.0"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."http-signature-1.2.0"
+      sources."https-proxy-agent-2.2.1"
+      sources."iconv-lite-0.4.24"
+      sources."inquirer-6.2.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-promise-2.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."jsdom-13.2.0"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."levn-0.3.0"
+      sources."lodash-4.17.15"
+      sources."lodash.sortby-4.7.0"
+      sources."lowdb-1.0.0"
+      sources."lunr-2.3.3"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-1.2.0"
+      sources."ms-2.1.2"
+      sources."mute-stream-0.0.7"
+      sources."node-fetch-2.2.0"
+      sources."node-forge-0.7.6"
+      sources."nwsapi-2.2.0"
+      sources."oauth-sign-0.9.0"
+      sources."onetime-2.0.1"
+      sources."optionator-0.8.3"
+      sources."os-tmpdir-1.0.2"
+      sources."papaparse-4.6.0"
+      sources."parse5-5.1.0"
+      sources."performance-now-2.1.0"
+      sources."pify-3.0.0"
+      sources."pn-1.1.0"
+      sources."prelude-ls-1.1.2"
+      sources."psl-1.6.0"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+          sources."tough-cookie-2.4.3"
+        ];
+      })
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."restore-cursor-2.0.0"
+      sources."run-async-2.3.0"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."saxes-3.1.11"
+      sources."signal-exit-3.0.2"
+      sources."source-map-0.6.1"
+      sources."sshpk-1.16.1"
+      sources."stealthy-require-1.1.1"
+      sources."steno-0.4.4"
+      sources."string-width-2.1.1"
+      sources."strip-ansi-4.0.0"
+      sources."supports-color-5.5.0"
+      sources."symbol-tree-3.2.4"
+      sources."through-2.3.8"
+      (sources."tldjs-2.3.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tmp-0.0.33"
+      sources."tough-cookie-2.5.0"
+      sources."tr46-1.0.1"
+      sources."tslib-1.10.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.3.2"
+      sources."uri-js-4.2.2"
+      sources."uuid-3.3.3"
+      sources."verror-1.10.0"
+      sources."w3c-hr-time-1.0.1"
+      sources."w3c-xmlserializer-1.1.2"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-encoding-1.0.5"
+      sources."whatwg-mimetype-2.3.0"
+      sources."whatwg-url-7.1.0"
+      sources."word-wrap-1.2.3"
+      sources."ws-6.2.1"
+      sources."xml-name-validator-3.0.0"
+      sources."xmlchars-2.2.0"
+      sources."zxcvbn-4.4.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A secure and free password manager for all of your devices.";
+      homepage = https://bitwarden.com/;
+      license = "GPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
@@ -46318,7 +46686,7 @@ in
       sources."@apollo/federation-0.11.2"
       (sources."@apollo/protobufjs-1.0.3" // {
         dependencies = [
-          sources."@types/node-10.17.11"
+          sources."@types/node-10.17.12"
         ];
       })
       sources."@apollographql/apollo-tools-0.4.2"
@@ -46513,7 +46881,7 @@ in
       sources."@types/long-4.0.0"
       sources."@types/mime-2.0.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@types/range-parser-1.2.3"
       sources."@types/serve-static-1.13.3"
       sources."@types/ws-6.0.4"
@@ -46760,8 +47128,8 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.6.0"
-      (sources."core-js-compat-3.6.0" // {
+      sources."core-js-3.6.1"
+      (sources."core-js-compat-3.6.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -47241,7 +47609,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-releases-1.1.43"
+      sources."node-releases-1.1.44"
       (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.6"
@@ -47383,7 +47751,7 @@ in
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.1" // {
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -47566,7 +47934,7 @@ in
           sources."get-stream-5.1.0"
           sources."is-stream-2.0.0"
           sources."mimic-fn-2.1.0"
-          sources."npm-run-path-4.0.0"
+          sources."npm-run-path-4.0.1"
           sources."onetime-5.1.0"
           sources."p-finally-2.0.1"
           sources."path-key-3.1.1"
@@ -47688,7 +48056,7 @@ in
           sources."get-stream-5.1.0"
           sources."is-stream-2.0.0"
           sources."mimic-fn-2.1.0"
-          sources."npm-run-path-4.0.0"
+          sources."npm-run-path-4.0.1"
           sources."onetime-5.1.0"
           sources."p-finally-2.0.1"
           sources."path-key-3.1.1"
@@ -48599,7 +48967,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.17.11"
+      sources."@types/node-10.17.12"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.10.2"
@@ -49242,7 +49610,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.11"
-      (sources."core-js-compat-3.6.0" // {
+      (sources."core-js-compat-3.6.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -49373,7 +49741,7 @@ in
       })
       (sources."http-response-object-3.0.2" // {
         dependencies = [
-          sources."@types/node-10.17.11"
+          sources."@types/node-10.17.12"
         ];
       })
       sources."https-browserify-1.0.0"
@@ -49471,7 +49839,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      (sources."node-releases-1.1.43" // {
+      (sources."node-releases-1.1.44" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -49551,7 +49919,7 @@ in
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.6.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.1" // {
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -49944,7 +50312,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ajv-6.10.2"
@@ -50382,7 +50750,7 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.13.1"
+      sources."resolve-1.14.1"
       sources."resolve-from-4.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -50484,7 +50852,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."tape-4.12.0"
+      sources."tape-4.12.1"
       (sources."term-size-1.2.0" // {
         dependencies = [
           sources."cross-spawn-5.1.0"
@@ -50579,7 +50947,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -50920,7 +51288,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.1"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -52137,7 +52505,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.595.0"
+      sources."aws-sdk-2.596.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.9.0"
       sources."base64-js-1.3.1"
@@ -53958,15 +54326,28 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "3.0.0";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.0.0.tgz";
-      sha512 = "eRb/bUvC5E5TXSD0/A6DJffPP+g7gcpn572XhC/sQnWW0B3fopeegldE++pM2bfKuUGGsObRThsbuU5NqR8P9Q==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.0.1.tgz";
+      sha512 = "gNHhP0cOL38zx4zn05SYJTLdnQB0mGu09zI3mIYN+wuFybSw1I7GpUvr9zYeMOwFHiMacpeJ8llBvNywLZnM7Q==";
     };
     dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/highlight-7.5.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/color-name-1.1.1"
+      sources."@types/minimist-1.2.0"
+      sources."@types/normalize-package-data-2.4.0"
       sources."ajv-6.10.2"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
@@ -53977,26 +54358,17 @@ in
       })
       sources."ansi-escapes-4.3.0"
       sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."array-find-index-1.0.2"
+      sources."ansi-styles-4.2.0"
       sources."arrify-1.0.1"
-      (sources."boxen-3.2.0" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."type-fest-0.3.1"
-        ];
-      })
+      sources."boxen-4.2.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-4.1.0"
-      sources."camelcase-keys-4.2.0"
-      sources."chalk-2.4.2"
+      sources."camelcase-5.3.1"
+      sources."camelcase-keys-6.1.1"
+      sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.0"
@@ -54005,20 +54377,12 @@ in
       sources."cli-width-2.2.0"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."conf-6.2.0"
-      (sources."configstore-4.0.0" // {
-        dependencies = [
-          sources."dot-prop-4.2.0"
-          sources."is-obj-1.0.1"
-          sources."make-dir-1.3.0"
-          sources."write-file-atomic-2.4.3"
-        ];
-      })
+      sources."configstore-5.0.0"
       sources."cross-spawn-7.0.1"
-      sources."crypto-random-string-1.0.0"
-      sources."currently-unhandled-0.4.1"
+      sources."crypto-random-string-2.0.0"
       sources."debounce-fn-3.0.1"
       sources."decamelize-1.2.0"
       (sources."decamelize-keys-1.1.0" // {
@@ -54037,6 +54401,7 @@ in
       sources."env-paths-2.2.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.3"
       sources."execa-3.4.0"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-2.0.1"
@@ -54044,14 +54409,15 @@ in
       sources."figures-3.1.0"
       sources."find-up-3.0.0"
       sources."get-stream-5.1.0"
-      sources."global-dirs-0.1.1"
+      sources."global-dirs-2.0.1"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
         ];
       })
       sources."graceful-fs-4.2.3"
-      sources."has-flag-3.0.0"
+      sources."hard-rejection-2.1.0"
+      sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-4.0.3"
@@ -54059,50 +54425,74 @@ in
       sources."iconv-lite-0.4.24"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."indent-string-3.2.0"
+      sources."indent-string-4.0.0"
       sources."ini-1.3.5"
-      sources."inquirer-7.0.1"
+      (sources."inquirer-7.0.1" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       (sources."inquirer-autocomplete-prompt-1.0.1" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."figures-2.0.0"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
         ];
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-installed-globally-0.1.0"
+      sources."is-installed-globally-0.3.1"
       sources."is-interactive-1.0.0"
-      sources."is-npm-3.0.0"
+      sources."is-npm-4.0.0"
       sources."is-obj-2.0.0"
-      sources."is-path-inside-1.0.1"
+      sources."is-path-inside-3.0.2"
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.1.0"
       sources."is-stream-2.0.0"
       sources."is-typedarray-1.0.0"
       sources."is-yarn-global-0.3.0"
       sources."isexe-2.0.0"
+      sources."js-tokens-4.0.0"
       sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."json-schema-typed-7.0.3"
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
-      sources."load-json-file-4.0.0"
+      sources."lines-and-columns-1.1.6"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
-      sources."log-symbols-3.0.0"
-      sources."loud-rejection-1.6.0"
+      (sources."log-symbols-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
       sources."make-dir-3.0.0"
-      sources."map-obj-2.0.0"
-      sources."meow-5.0.0"
+      sources."map-obj-4.1.0"
+      sources."meow-6.0.0"
       sources."merge-stream-2.0.0"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
+      sources."min-indent-1.0.0"
       sources."minimist-1.2.0"
-      sources."minimist-options-3.0.2"
+      sources."minimist-options-4.0.2"
       sources."mute-stream-0.0.8"
       sources."node-fetch-2.6.0"
       (sources."normalize-package-data-2.5.0" // {
@@ -54111,18 +54501,12 @@ in
         ];
       })
       sources."normalize-url-4.5.0"
-      sources."npm-run-path-4.0.0"
+      sources."npm-run-path-4.0.1"
       sources."once-1.4.0"
       sources."onetime-5.1.0"
       (sources."ora-4.0.3" // {
         dependencies = [
-          sources."ansi-styles-4.2.0"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
           sources."strip-ansi-6.0.0"
-          sources."supports-color-7.1.0"
         ];
       })
       sources."os-tmpdir-1.0.2"
@@ -54132,31 +54516,30 @@ in
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
       sources."package-json-6.5.0"
-      sources."parse-json-4.0.0"
+      sources."parse-json-5.0.0"
       sources."path-exists-3.0.0"
-      sources."path-is-inside-1.0.2"
       sources."path-key-3.1.1"
       sources."path-parse-1.0.6"
-      sources."path-type-3.0.0"
-      sources."pify-3.0.0"
       sources."pkg-up-3.1.0"
       sources."prepend-http-2.0.0"
-      sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."quick-lru-1.1.0"
+      sources."quick-lru-4.0.1"
       sources."rc-1.2.8"
-      sources."read-pkg-3.0.0"
-      (sources."read-pkg-up-3.0.0" // {
+      (sources."read-pkg-5.2.0" // {
         dependencies = [
-          sources."find-up-2.1.0"
-          sources."locate-path-2.0.0"
-          sources."p-limit-1.3.0"
-          sources."p-locate-2.0.0"
-          sources."p-try-1.0.0"
+          sources."type-fest-0.6.0"
         ];
       })
-      sources."redent-2.0.0"
+      (sources."read-pkg-up-7.0.1" // {
+        dependencies = [
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+        ];
+      })
+      sources."redent-3.0.0"
       sources."registry-auth-token-4.0.0"
       sources."registry-url-5.1.0"
       sources."resolve-1.14.1"
@@ -54167,11 +54550,7 @@ in
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
-      (sources."semver-diff-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."semver-diff-3.1.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
@@ -54189,53 +54568,30 @@ in
           sources."ansi-regex-4.1.0"
         ];
       })
-      sources."strip-bom-3.0.0"
-      sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
-      sources."strip-indent-2.0.0"
+      sources."strip-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.5.0"
-      (sources."term-size-1.2.0" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."execa-0.7.0"
-          sources."get-stream-3.0.0"
-          sources."is-stream-1.1.0"
-          sources."npm-run-path-2.0.2"
-          sources."p-finally-1.0.0"
-          sources."path-key-2.0.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-        ];
-      })
+      sources."supports-color-7.1.0"
+      sources."term-size-2.1.1"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
-      sources."trim-newlines-2.0.0"
+      sources."trim-newlines-3.0.0"
       sources."tslib-1.10.0"
       sources."type-fest-0.8.1"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unique-string-1.0.0"
-      sources."update-notifier-3.0.1"
+      sources."unique-string-2.0.0"
+      sources."update-notifier-4.0.0"
       sources."uri-js-4.2.2"
       sources."url-parse-lax-3.0.0"
       sources."validate-npm-package-license-3.0.4"
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
-      (sources."widest-line-2.0.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."widest-line-3.1.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.1"
-      sources."xdg-basedir-3.0.0"
-      sources."yallist-2.1.2"
-      sources."yargs-parser-10.1.0"
+      sources."xdg-basedir-4.0.0"
+      sources."yargs-parser-16.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -57757,7 +58113,7 @@ in
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."strict-uri-encode-1.1.0"
-      sources."string-kit-0.11.2"
+      sources."string-kit-0.11.3"
       sources."string-padding-1.0.2"
       (sources."string-to-stream-1.1.1" // {
         dependencies = [
@@ -59105,12 +59461,12 @@ in
         ];
       })
       sources."@octokit/request-error-1.2.0"
-      sources."@octokit/rest-16.35.2"
+      sources."@octokit/rest-16.36.0"
       sources."@octokit/types-2.0.2"
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@zkochan/cmd-shim-3.1.0"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
@@ -61001,7 +61357,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -61295,7 +61651,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.11"
-      (sources."core-js-compat-3.6.0" // {
+      (sources."core-js-compat-3.6.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -61750,7 +62106,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      (sources."node-releases-1.1.43" // {
+      (sources."node-releases-1.1.44" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -61937,7 +62293,7 @@ in
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.6.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.1" // {
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -63342,29 +63698,59 @@ in
   neovim = nodeEnv.buildNodePackage {
     name = "neovim";
     packageName = "neovim";
-    version = "4.5.0";
+    version = "4.6.0-alpha.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/neovim/-/neovim-4.5.0.tgz";
-      sha512 = "+Q5EEIYIZG14NYAAQmvHHdYZ8hg0TbcsFo9vDf2rHhwidqdJv7jrDk0vQz+kUrNvhNQO/pqkBrZ08yEWZbD/0A==";
+      url = "https://registry.npmjs.org/neovim/-/neovim-4.6.0-alpha.0.tgz";
+      sha512 = "hlnWPmp2dx0byH2TlUmkEkaMhEg2bedZx1NOtL4SY6XcGdW76nYZrPJUkgVi/4f+kRRHbB3BuSF1qV70WFDP+w==";
     };
     dependencies = [
-      sources."async-1.0.0"
-      sources."colors-1.0.3"
-      sources."cycle-1.0.3"
+      sources."async-2.6.3"
+      sources."color-3.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.5.3"
+      sources."colornames-1.1.1"
+      sources."colors-1.4.0"
+      sources."colorspace-1.1.2"
+      sources."core-util-is-1.0.2"
+      sources."diagnostics-1.1.1"
+      sources."enabled-1.0.2"
+      sources."env-variable-0.0.5"
       sources."event-lite-0.1.2"
-      sources."eyes-0.1.8"
+      sources."fast-safe-stringify-2.0.7"
+      sources."fecha-2.3.3"
       sources."ieee754-1.1.13"
+      sources."inherits-2.0.4"
       sources."int64-buffer-0.1.10"
+      sources."is-arrayish-0.3.2"
+      sources."is-stream-1.1.0"
       sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
+      sources."kuler-1.0.1"
       sources."lodash-4.17.15"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.omit-4.5.0"
+      sources."logform-2.1.2"
+      sources."ms-2.1.2"
       sources."msgpack-lite-0.1.26"
-      sources."semver-5.7.1"
+      sources."one-time-0.0.4"
+      sources."process-nextick-args-2.0.1"
+      sources."readable-stream-3.4.0"
+      sources."safe-buffer-5.2.0"
+      sources."semver-7.1.1"
+      sources."simple-swizzle-0.2.2"
       sources."stack-trace-0.0.10"
-      sources."traverse-0.6.6"
-      sources."which-1.3.1"
-      sources."winston-2.4.4"
+      sources."string_decoder-1.3.0"
+      sources."text-hex-1.0.0"
+      sources."triple-beam-1.3.0"
+      sources."util-deprecate-1.0.2"
+      sources."winston-3.2.1"
+      (sources."winston-transport-4.3.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -65558,7 +65944,7 @@ in
       sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.11"
-      (sources."core-js-compat-3.6.0" // {
+      (sources."core-js-compat-3.6.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -65909,7 +66295,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      (sources."node-releases-1.1.43" // {
+      (sources."node-releases-1.1.44" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -66064,7 +66450,7 @@ in
       })
       sources."regexpu-core-4.6.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.1" // {
+      (sources."regjsparser-0.6.2" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -67747,10 +68133,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "1.60.1";
+    version = "1.60.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-1.60.1.tgz";
-      sha512 = "uYUS0mM5XQODXKs9u+HlqfP+Cim6OL8nzY395W47xkI0D616K0eXbJojo8pz3lyqDPx4jU+cvG36dwiE8MYORg==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-1.60.4.tgz";
+      sha512 = "9KXWxm956hSpWJSA7ILqRhMNCHyR6q/o4ug6euXGO4zSbev3JlFxHG9EAr6/m7KVJQpw5yODmNOXlbEK4mkeRg==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -67811,7 +68197,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.595.0" // {
+      (sources."aws-sdk-2.596.0" // {
         dependencies = [
           sources."buffer-4.9.1"
           sources."uuid-3.3.2"
@@ -69060,10 +69446,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.265.0";
+    version = "1.266.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.265.0.tgz";
-      sha512 = "L9eNK9J8ZwR9JfwAEZhsFu18x4BzQuGV6vuWsXTTh/lzz2n9mYuC3synWJP5FsdxpPIxU7nG/Y48oDL82kSxyQ==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.266.0.tgz";
+      sha512 = "JWrbaeC1/omAfE1/kYXKGb5Xzc7hOiKAt7wla+PlTDMs+nAMPvqNd8Bx2GVcCUl2KfoimzCmf2MsoChvvHXV3g==";
     };
     dependencies = [
       sources."@snyk/cli-interface-2.3.0"
@@ -69082,7 +69468,7 @@ in
       sources."@types/debug-4.1.5"
       sources."@types/events-3.0.0"
       sources."@types/js-yaml-3.12.1"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@types/restify-4.3.6"
       sources."@types/semver-5.5.0"
       sources."@types/xml2js-0.4.3"
@@ -69140,7 +69526,7 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.2"
-      sources."core-js-3.6.0"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
@@ -69300,6 +69686,7 @@ in
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
+      sources."p-map-2.1.0"
       (sources."pac-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -69393,7 +69780,7 @@ in
           sources."tslib-1.9.3"
         ];
       })
-      sources."snyk-nodejs-lockfile-parser-1.16.1"
+      sources."snyk-nodejs-lockfile-parser-1.17.0"
       sources."snyk-nuget-plugin-1.16.0"
       sources."snyk-paket-parser-1.5.0"
       (sources."snyk-php-plugin-1.7.0" // {
@@ -70353,7 +70740,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.13.1"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
@@ -70492,7 +70879,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tape-4.12.0" // {
+      (sources."tape-4.12.1" // {
         dependencies = [
           sources."glob-7.1.6"
         ];
@@ -70654,7 +71041,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.595.0" // {
+      (sources."aws-sdk-2.596.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -72140,7 +72527,7 @@ in
       sha256 = "886069ecc5eedf0371b948e8ff66e7f2943c85fe7cfdaa7183e1a3572d55852b";
     };
     dependencies = [
-      sources."@types/node-12.12.21"
+      sources."@types/node-12.12.22"
       sources."ajv-6.10.2"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
@@ -73122,10 +73509,10 @@ in
   textlint-rule-stop-words = nodeEnv.buildNodePackage {
     name = "textlint-rule-stop-words";
     packageName = "textlint-rule-stop-words";
-    version = "1.0.17";
+    version = "1.0.18";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.17.tgz";
-      sha512 = "7m1k3xMwsOw7WyGNINJQ5EX2+mnqAeg6VBfXY7BVUr/y6NOYhPbEj3A3MBJ9Jt9dfC1twL0aI6mKPo+5xLUsVA==";
+      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.18.tgz";
+      sha512 = "/Cg20pLZgEl8vi6gUu44DGRG+iOtXa4rcvfiOURrwP5lbaQHpuo/0bQSKJnnFzih/hRHw/qnEXqd7PsfpnuEYw==";
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
@@ -73188,7 +73575,7 @@ in
       sha512 = "kkbsbUlI3Gw4VTr79E825+2wuxPG8dM8T4VjEH25zlNhh3j8vpsVDjpbXRkVFl+EvDBCtDZEDaFPwhXy85toVQ==";
     };
     dependencies = [
-      sources."array-includes-3.1.0"
+      sources."array-includes-3.1.1"
       sources."define-properties-1.1.3"
       sources."es-abstract-1.17.0"
       sources."es-to-primitive-1.2.1"
@@ -73199,6 +73586,7 @@ in
       sources."is-capitalized-1.0.0"
       sources."is-date-object-1.0.2"
       sources."is-regex-1.0.5"
+      sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
       sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
@@ -73339,7 +73727,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.6.0"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -74986,7 +75374,7 @@ in
       sources."@starptech/rehype-minify-whitespace-0.9.0"
       sources."@starptech/rehype-webparser-0.9.0"
       sources."@starptech/webparser-0.9.0"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -75919,32 +76307,36 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "3.2.1";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-3.2.1.tgz";
-      sha512 = "WzZbCDIjIUshZRVaiYFbaMp/1/xPjW7qeTQ0F7Xx1MYkamZ4RN5dnhxWFz+Hzg6GzhFdny+zucNDKOwYfAV3LA==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-4.0.0.tgz";
+      sha512 = "778HKIoWpIrZzOq7rPA7Fu7YQ/fnZ6w9XCKUqGJRjo2NgOtgtkLmkd7lCw3gU7KJYe7hurI5XYossJMgjmyNaQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/polyfill-7.6.0"
-      sources."@babel/runtime-7.6.2"
+      sources."@babel/polyfill-7.7.0"
+      sources."@babel/runtime-7.7.7"
       sources."@babel/runtime-corejs2-7.7.7"
       sources."@cliqz-oss/firefox-client-0.3.1"
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/color-name-1.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.12.21"
+      sources."@types/node-13.1.0"
       sources."JSONSelect-0.2.1"
       sources."acorn-6.4.0"
       sources."acorn-jsx-5.1.0"
       sources."adbkit-2.11.1"
       sources."adbkit-logcat-1.1.0"
       sources."adbkit-monkey-1.0.1"
-      (sources."addons-linter-1.14.0" // {
+      (sources."addons-linter-1.19.0" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
           sources."decamelize-1.2.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
           sources."yargs-14.0.0"
         ];
       })
@@ -75952,7 +76344,13 @@ in
       sources."ajv-6.10.2"
       sources."ajv-keywords-1.5.1"
       sources."ajv-merge-patch-4.1.0"
-      sources."ansi-align-3.0.0"
+      (sources."ansi-align-3.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.1"
@@ -75990,7 +76388,6 @@ in
       sources."astral-regex-1.0.0"
       sources."async-0.2.10"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -76003,16 +76400,6 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."babel-polyfill-6.16.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.9.6"
-        ];
-      })
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -76039,7 +76426,21 @@ in
       })
       sources."bluebird-2.9.34"
       sources."boolbase-1.0.0"
-      sources."boxen-3.2.0"
+      (sources."boxen-4.2.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."chalk-3.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."emoji-regex-8.0.0"
+          sources."has-flag-4.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -76075,7 +76476,7 @@ in
           sources."normalize-path-3.0.0"
         ];
       })
-      sources."chrome-launcher-0.11.2"
+      sources."chrome-launcher-0.12.0"
       sources."ci-info-2.0.0"
       sources."circular-json-0.3.3"
       (sources."class-utils-0.3.6" // {
@@ -76101,6 +76502,7 @@ in
       (sources."cliui-5.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
@@ -76132,7 +76534,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."configstore-4.0.0"
+      sources."configstore-5.0.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
@@ -76149,7 +76551,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."crypto-random-string-1.0.0"
+      sources."crypto-random-string-2.0.0"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
       sources."d-1.0.1"
@@ -76162,18 +76564,16 @@ in
       sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
-      sources."deepcopy-0.6.3"
-      sources."deepmerge-4.0.0"
+      sources."deepcopy-2.0.0"
+      sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
       sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      (sources."dispensary-0.40.0" // {
+      (sources."dispensary-0.48.1" // {
         dependencies = [
           sources."async-3.1.0"
-          sources."decamelize-1.2.0"
-          sources."yargs-14.0.0"
         ];
       })
       sources."doctrine-3.0.0"
@@ -76181,13 +76581,12 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."dot-prop-4.2.0"
+      sources."dot-prop-5.2.0"
       sources."dtrace-provider-0.8.8"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."emoji-regex-7.0.3"
-      sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -76265,7 +76664,7 @@ in
       sources."eslint-scope-4.0.3"
       sources."eslint-utils-1.4.3"
       sources."eslint-visitor-keys-1.1.0"
-      (sources."espree-6.1.1" // {
+      (sources."espree-6.1.2" // {
         dependencies = [
           sources."acorn-7.1.0"
         ];
@@ -76322,7 +76721,7 @@ in
       sources."fast-json-patch-2.2.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-redact-1.5.0"
+      sources."fast-redact-2.0.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fd-slicer-1.1.0"
       sources."figures-2.0.0"
@@ -76335,7 +76734,7 @@ in
         ];
       })
       sources."find-up-3.0.0"
-      (sources."firefox-profile-1.2.0" // {
+      (sources."firefox-profile-1.3.0" // {
         dependencies = [
           sources."async-2.5.0"
         ];
@@ -76352,7 +76751,7 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-extra-4.0.3"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.0.7"
+      sources."fsevents-2.1.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       (sources."fx-runner-1.0.11" // {
@@ -76368,20 +76767,19 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."gettext-parser-1.1.0"
-      (sources."git-rev-sync-1.12.0" // {
+      (sources."git-rev-sync-2.0.0" // {
         dependencies = [
-          sources."graceful-fs-4.1.11"
+          sources."graceful-fs-4.1.15"
           sources."shelljs-0.7.7"
         ];
       })
-      sources."glob-7.1.4"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
-      sources."global-dirs-0.1.1"
+      sources."global-dirs-2.0.1"
       sources."globals-11.12.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.3"
@@ -76391,7 +76789,6 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
@@ -76407,7 +76804,7 @@ in
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.1.13"
       sources."ignore-4.0.6"
-      (sources."import-fresh-3.1.0" // {
+      (sources."import-fresh-3.2.1" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
@@ -76419,17 +76816,8 @@ in
       sources."ini-1.3.5"
       (sources."inquirer-6.5.2" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
-          (sources."string-width-2.1.1" // {
-            dependencies = [
-              sources."strip-ansi-4.0.0"
-            ];
-          })
-          (sources."strip-ansi-5.2.0" // {
-            dependencies = [
-              sources."ansi-regex-4.1.0"
-            ];
-          })
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."interpret-1.2.0"
@@ -76449,18 +76837,18 @@ in
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
-      sources."is-installed-globally-0.1.0"
+      sources."is-installed-globally-0.3.1"
       sources."is-mergeable-object-1.1.1"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.20.0"
-      sources."is-npm-3.0.0"
+      sources."is-npm-4.0.0"
       (sources."is-number-3.0.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
         ];
       })
-      sources."is-obj-1.0.1"
-      sources."is-path-inside-1.0.1"
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-3.0.2"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
@@ -76495,9 +76883,10 @@ in
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
       sources."jsonpointer-4.0.1"
-      (sources."jsonwebtoken-8.2.1" // {
+      (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."ms-2.1.2"
+          sources."semver-5.7.1"
         ];
       })
       sources."jsprim-1.4.1"
@@ -76529,13 +76918,12 @@ in
       sources."lodash.once-4.1.1"
       sources."lodash.sortby-4.7.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
-      sources."make-dir-1.3.0"
+      sources."make-dir-3.0.0"
       sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."marky-1.2.1"
-      sources."mdn-browser-compat-data-0.0.94"
+      sources."mdn-browser-compat-data-1.0.1"
       (sources."mem-5.1.1" // {
         dependencies = [
           sources."mimic-fn-2.1.0"
@@ -76575,13 +76963,6 @@ in
       sources."nice-try-1.0.5"
       sources."node-forge-0.7.6"
       sources."node-notifier-6.0.0"
-      (sources."nomnom-1.8.1" // {
-        dependencies = [
-          sources."ansi-styles-1.0.0"
-          sources."chalk-0.4.0"
-          sources."strip-ansi-0.1.1"
-        ];
-      })
       sources."normalize-path-2.1.1"
       sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
@@ -76610,11 +76991,7 @@ in
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      (sources."open-6.4.0" // {
-        dependencies = [
-          sources."is-wsl-1.1.0"
-        ];
-      })
+      sources."open-7.0.0"
       sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-locale-4.0.0"
@@ -76645,13 +77022,11 @@ in
       sources."path-parse-1.0.6"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
-      sources."pify-3.0.0"
-      sources."pino-5.13.3"
+      sources."pino-5.14.0"
       sources."pino-std-serializers-2.4.2"
       sources."pluralize-1.2.1"
-      sources."po2json-0.4.5"
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.18" // {
+      (sources."postcss-7.0.24" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
@@ -76661,7 +77036,6 @@ in
       sources."probe-image-size-5.0.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
-      sources."pseudomap-1.0.2"
       sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -76717,11 +77091,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semver-6.3.0"
-      (sources."semver-diff-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."semver-diff-3.1.1"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -76735,22 +77105,9 @@ in
       sources."shell-quote-1.6.1"
       sources."shelljs-0.7.8"
       sources."shellwords-0.1.1"
-      (sources."sign-addon-0.3.1" // {
+      (sources."sign-addon-2.0.4" // {
         dependencies = [
-          sources."ajv-5.5.2"
-          sources."es6-error-4.0.0"
-          sources."es6-promise-4.2.8"
-          sources."es6-promisify-5.0.0"
-          sources."fast-deep-equal-1.1.0"
-          sources."har-validator-5.0.3"
-          sources."json-schema-traverse-0.3.1"
-          sources."mz-2.5.0"
-          sources."oauth-sign-0.8.2"
-          sources."punycode-1.4.1"
-          sources."request-2.87.0"
-          sources."source-map-0.5.7"
-          sources."source-map-support-0.4.6"
-          sources."tough-cookie-2.3.4"
+          sources."core-js-3.6.0"
         ];
       })
       sources."signal-exit-3.0.2"
@@ -76788,7 +77145,7 @@ in
       sources."sonic-boom-0.7.6"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
       sources."spawn-sync-1.0.15"
       sources."split-0.3.3"
@@ -76820,10 +77177,10 @@ in
           sources."once-1.3.3"
         ];
       })
-      (sources."string-width-3.1.0" // {
+      (sources."string-width-2.1.1" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
         ];
       })
       sources."string.prototype.trimleft-2.1.1"
@@ -76836,7 +77193,13 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-3.0.1"
       sources."supports-color-5.5.0"
-      sources."table-5.4.6"
+      (sources."table-5.4.6" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       (sources."tar-stream-1.6.2" // {
         dependencies = [
           sources."readable-stream-2.3.6"
@@ -76844,13 +77207,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."term-size-1.2.0" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."execa-0.7.0"
-          sources."get-stream-3.0.0"
-        ];
-      })
+      sources."term-size-2.1.1"
       sources."text-table-0.2.0"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
@@ -76878,15 +77235,16 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-1.2.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.3.1"
+      sources."type-detect-4.0.8"
+      sources."type-fest-0.8.1"
       sources."typedarray-0.0.6"
-      sources."underscore-1.6.0"
+      sources."typedarray-to-buffer-3.1.5"
       (sources."union-value-1.0.1" // {
         dependencies = [
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."unique-string-1.0.0"
+      sources."unique-string-2.0.0"
       sources."universalify-0.1.2"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -76899,7 +77257,16 @@ in
         ];
       })
       sources."upath-1.2.0"
-      sources."update-notifier-3.0.1"
+      (sources."update-notifier-4.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."chalk-3.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
       sources."uri-js-4.2.2"
       sources."urix-0.1.0"
       sources."url-parse-lax-3.0.0"
@@ -76911,15 +77278,17 @@ in
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      sources."whatwg-url-7.0.0"
+      sources."whatwg-url-7.1.0"
       sources."when-3.7.7"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
-      (sources."widest-line-2.0.1" // {
+      (sources."widest-line-3.1.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."winreg-0.0.12"
@@ -76927,21 +77296,40 @@ in
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
-      sources."write-file-atomic-2.4.3"
-      sources."ws-7.1.2"
-      sources."xdg-basedir-3.0.0"
+      sources."write-file-atomic-3.0.1"
+      sources."ws-7.2.1"
+      sources."xdg-basedir-4.0.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xregexp-4.2.4"
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
-      sources."yallist-2.1.2"
-      sources."yargs-13.3.0"
+      (sources."yargs-15.0.2" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."cliui-6.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."decamelize-1.2.0"
+          sources."emoji-regex-8.0.0"
+          sources."find-up-4.1.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."string-width-4.2.0"
+          sources."strip-ansi-6.0.0"
+          sources."wrap-ansi-6.2.0"
+          sources."yargs-parser-16.1.0"
+        ];
+      })
       (sources."yargs-parser-13.1.1" // {
         dependencies = [
           sources."decamelize-1.2.0"
@@ -77801,7 +78189,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.17.11"
+      sources."@types/node-10.17.12"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."balanced-match-1.0.0"
@@ -77832,7 +78220,7 @@ in
       })
       sources."blob-to-buffer-1.2.8"
       sources."block-stream2-2.0.0"
-      sources."bn.js-5.0.0"
+      sources."bn.js-5.1.1"
       sources."brace-expansion-1.1.11"
       sources."browserify-package-json-1.0.1"
       sources."buffer-alloc-1.2.0"
@@ -78261,7 +78649,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.6.0"
+      sources."core-js-3.6.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
diff --git a/pkgs/development/node-packages/node-packages-v12.nix b/pkgs/development/node-packages/node-packages-v12.nix
index 79ff0993092..f4cba080a61 100644
--- a/pkgs/development/node-packages/node-packages-v12.nix
+++ b/pkgs/development/node-packages/node-packages-v12.nix
@@ -157,13 +157,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -526,13 +526,13 @@ let
         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
+    "fast-json-stable-stringify-2.1.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "fill-range-4.0.0" = {
@@ -1219,22 +1219,22 @@ let
         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -1624,13 +1624,13 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "punycode-1.4.1" = {
@@ -1714,13 +1714,13 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
       };
     };
     "resolve-dir-1.0.1" = {
@@ -2497,7 +2497,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -2608,7 +2608,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -2631,7 +2631,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."findit-2.0.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -2671,8 +2671,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.9.0"
@@ -2716,7 +2716,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -2725,7 +2725,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
diff --git a/pkgs/development/node-packages/node-packages-v13.nix b/pkgs/development/node-packages/node-packages-v13.nix
index 5858875a41a..71b35957832 100644
--- a/pkgs/development/node-packages/node-packages-v13.nix
+++ b/pkgs/development/node-packages/node-packages-v13.nix
@@ -85,13 +85,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -292,13 +292,13 @@ let
         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
+    "fast-json-stable-stringify-2.1.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "findit-2.0.0" = {
@@ -571,22 +571,22 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -841,13 +841,13 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "punycode-1.4.1" = {
@@ -895,13 +895,13 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
       };
     };
     "retry-0.10.1" = {
@@ -1276,7 +1276,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -1299,7 +1299,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."findit-2.0.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -1339,8 +1339,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.9.0"
@@ -1384,7 +1384,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -1393,7 +1393,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix
index 39234e86ef1..22538b87f6a 100644
--- a/pkgs/development/ocaml-modules/conduit/default.nix
+++ b/pkgs/development/ocaml-modules/conduit/default.nix
@@ -1,26 +1,26 @@
 { stdenv, fetchFromGitHub, buildDunePackage
-, ppx_sexp_conv
-, astring, ipaddr, uri
+, ppx_sexp_conv, sexplib
+, astring, ipaddr, macaddr, uri,
 }:
 
 buildDunePackage rec {
   pname = "conduit";
-	version = "1.0.0";
+  version = "1.4.0";
 
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "ocaml-conduit";
-		rev = "v${version}";
-		sha256 = "1ryigzh7sfif1mly624fpm87aw5h60n5wzdlrvqsf71qcpxc6iiz";
-	};
+  src = fetchFromGitHub {
+    owner = "mirage";
+    repo = "ocaml-conduit";
+    rev = "v${version}";
+    sha256 = "1qzamqcmf9ywz04bkwrv17mz9j6zq2w9h1xmnjvp11pnwrs2xq8l";
+  };
 
-	buildInputs = [ ppx_sexp_conv ];
-	propagatedBuildInputs = [ astring ipaddr uri ];
+  buildInputs = [ ppx_sexp_conv ];
+  propagatedBuildInputs = [ astring ipaddr macaddr sexplib uri ];
 
-	meta = {
-		description = "Network connection library for TCP and SSL";
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
-	};
+  meta = {
+    description = "Network connection library for TCP and SSL";
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ alexfmpe vbgl ];
+    inherit (src.meta) homepage;
+  };
 }
diff --git a/pkgs/development/ocaml-modules/setcore/default.nix b/pkgs/development/ocaml-modules/cpu/default.nix
index c2fd9aab3ba..716e40e16e9 100644
--- a/pkgs/development/ocaml-modules/setcore/default.nix
+++ b/pkgs/development/ocaml-modules/cpu/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildDunePackage, fetchFromGitHub, autoconf }:
 
 buildDunePackage rec {
-  pname = "setcore";
-  version = "1.0.1";
+  pname = "cpu";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "UnixJunkie";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1yn660gxk2ccp7lbdq9v6pjz1c3pm08s9dl9k9l5492ld6bx8fxc";
+    sha256 = "1vir6gh1bhvxgj2fcn69c38yhw3jgk7dyikmw789m5ld2csnyjiv";
   };
 
   preConfigure = ''
@@ -22,7 +22,7 @@ buildDunePackage rec {
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
-    description = "Generalized map/reduce for multicore computing";
+    description = "Core pinning library";
     maintainers = [ maintainers.bcdarwin ];
     license = licenses.lgpl2;
   };
diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix
index 3d5959fe64e..be76e413c36 100644
--- a/pkgs/development/ocaml-modules/ipaddr/default.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, buildDunePackage, sexplib, ppx_sexp_conv }:
+{ lib, buildDunePackage
+, macaddr, ounit
+}:
 
 buildDunePackage rec {
   pname = "ipaddr";
-  version = "2.8.0";
 
-  src = fetchurl {
-    url = "https://github.com/mirage/ocaml-${pname}/archive/${version}.tar.gz";
-    sha256 = "1amb1pbm9ybpxy6190qygpj6nmbzzs2r6vx4xh5r6v89szx9rfxw";
-  };
+  inherit (macaddr) version src;
+
+  buildInputs = [ ounit ];
+
+  propagatedBuildInputs = [ macaddr ];
 
-  propagatedBuildInputs = [ ppx_sexp_conv sexplib ];
+  doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/mirage/ocaml-ipaddr;
     description = "A library for manipulation of IP (and MAC) address representations ";
     license = licenses.isc;
-    maintainers = [ maintainers.ericbmerritt ];
+    maintainers = with maintainers; [ alexfmpe ericbmerritt ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix
new file mode 100644
index 00000000000..7061fdf5d5b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/macaddr/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildDunePackage
+, ppx_sexp_conv
+}:
+
+buildDunePackage rec {
+  pname = "macaddr";
+  version = "3.1.0";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-ipaddr/archive/v${version}.tar.gz";
+    sha256 = "1hi3v5dzg6h4qb268ch3h6v61gsc8bv21ajhb35z37v5nsdmyzbh";
+  };
+
+  propagatedBuildInputs = [ ppx_sexp_conv ];
+
+  doCheck = false; # ipaddr and macaddr tests are together, which requires mutual dependency
+
+  meta = with lib; {
+    homepage = https://github.com/mirage/ocaml-ipaddr;
+    description = "A library for manipulation of MAC address representations";
+    license = licenses.isc;
+    maintainers = [ maintainers.alexfmpe ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/parany/default.nix b/pkgs/development/ocaml-modules/parany/default.nix
index 5c02e3efea0..0a4fc9ecea4 100644
--- a/pkgs/development/ocaml-modules/parany/default.nix
+++ b/pkgs/development/ocaml-modules/parany/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, buildDunePackage, fetchFromGitHub, ocamlnet, setcore }:
+{ stdenv, buildDunePackage, fetchFromGitHub, ocamlnet, cpu }:
 
 buildDunePackage rec {
   pname = "parany";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchFromGitHub {
     owner = "UnixJunkie";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0kylhgi1d4gj68x40ifli7pnrxkdc6ks5mgfvlcsigqg8i8nvc7q";
+    sha256 = "19yz1yqyqx6gawy93jlh3x6vji2p9qsy6nsbj65q5pii8p1fjlsm";
   };
 
-  propagatedBuildInputs = [ ocamlnet setcore ];
+  propagatedBuildInputs = [ ocamlnet cpu ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/python-modules/aioamqp/default.nix b/pkgs/development/python-modules/aioamqp/default.nix
index 3cd6277a3fa..8db47220543 100644
--- a/pkgs/development/python-modules/aioamqp/default.nix
+++ b/pkgs/development/python-modules/aioamqp/default.nix
@@ -1,20 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pamqp
+, pytest
+, asynctest
+, pyrabbit2
+, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "aioamqp";
-  version = "0.13.0";
+  version = "0.14.0";
+  disabled = isPy27;
 
-  meta = {
-    homepage = https://github.com/polyconseil/aioamqp;
-    description = "AMQP implementation using asyncio";
-    license = lib.licenses.bsd3;
+  src = fetchFromGitHub {
+    owner = "Polyconseil";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1gpfsrc2vi6w33c9zsycd2qn589pr7a222rb41r85m915283zy48";
   };
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ced0d2bb0054809b37b0636da34fc7cda23d66943fb5f9f0610555988cf347b2";
-  };
+  propagatedBuildInputs = [
+    pamqp
+  ];
+
+  checkInputs = [
+    pytest
+    asynctest
+    pyrabbit2
+  ];
 
-  disabled = pythonOlder "3.3";
+  # tests assume rabbitmq server running
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/polyconseil/aioamqp;
+    description = "AMQP implementation using asyncio";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
 }
diff --git a/pkgs/development/python-modules/aiocontextvars/default.nix b/pkgs/development/python-modules/aiocontextvars/default.nix
new file mode 100644
index 00000000000..38fdf14164e
--- /dev/null
+++ b/pkgs/development/python-modules/aiocontextvars/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestrunner
+, pytest
+, pytest-asyncio
+, contextvars
+, sqlalchemy
+, isPy27
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiocontextvars";
+  version = "0.2.2";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "fantix";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0a2gmrm9csiknc8n3si67sgzffkydplh9d7ga1k87ygk2aj22mmk";
+  };
+
+  buildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytest-asyncio
+  ];
+
+  propagatedBuildInputs = [
+    sqlalchemy
+  ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Asyncio support for PEP-567 contextvars backport";
+    homepage = https://github.com/fantix/aiocontextvars;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiohttp-socks/default.nix b/pkgs/development/python-modules/aiohttp-socks/default.nix
index f898c9313e1..d6487c8157b 100644
--- a/pkgs/development/python-modules/aiohttp-socks/default.nix
+++ b/pkgs/development/python-modules/aiohttp-socks/default.nix
@@ -1,16 +1,16 @@
-{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp }:
+{ lib, fetchPypi, buildPythonPackage, pythonOlder, aiohttp, attrs }:
 
 buildPythonPackage rec {
   pname = "aiohttp-socks";
-  version = "0.2.2";
+  version = "0.3.3";
 
   src = fetchPypi {
     inherit version;
     pname = "aiohttp_socks";
-    sha256 = "0473702jk66xrgpm28wbdgpnak4v0dh2qmdjw7ky7hf3lwwqkggf";
+    sha256 = "21974ce5d782c426ddbf7bdfc5e602a38783b1ee839a4a0ed0990240e2e123b5";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [ aiohttp attrs ];
 
   # Checks needs internet access
   doCheck = false;
diff --git a/pkgs/development/python-modules/aiomysql/default.nix b/pkgs/development/python-modules/aiomysql/default.nix
new file mode 100644
index 00000000000..891e9f216ce
--- /dev/null
+++ b/pkgs/development/python-modules/aiomysql/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pymysql
+, pytest
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "aiomysql";
+  version = "0.0.20";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1mxih81zc2k64briirpp5wz4f72l8v05avfyfibaq9fr6lcbih9b";
+  };
+
+  propagatedBuildInputs = [
+    pymysql
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "PyMySQL>=0.9,<=0.9.2" "PyMySQL"
+  '';
+
+  checkPhase = ''
+    pytest
+  '';
+
+  # tests require mysql database
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MySQL driver for asyncio";
+    homepage = https://github.com/aio-libs/aiomysql;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiosqlite/default.nix b/pkgs/development/python-modules/aiosqlite/default.nix
new file mode 100644
index 00000000000..1032485e980
--- /dev/null
+++ b/pkgs/development/python-modules/aiosqlite/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, aiounittest
+, isPy27
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "aiosqlite";
+  version = "0.11.0";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "jreese";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0pmkp4iy738yv2sl08kvhd0ma6wjqbmfnwid72gvg4zqsr1hnn0z";
+  };
+
+  buildInputs = [
+    setuptools
+  ];
+
+  checkInputs = [
+    aiounittest
+  ];
+
+  meta = with lib; {
+    description = "Asyncio bridge to the standard sqlite3 module";
+    homepage = https://github.com/jreese/aiosqlite;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiounittest/default.nix b/pkgs/development/python-modules/aiounittest/default.nix
new file mode 100644
index 00000000000..743600a0d3b
--- /dev/null
+++ b/pkgs/development/python-modules/aiounittest/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+, coverage
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "aiounittest";
+  version = "1.3.1";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "kwarunek";
+    repo = pname;
+    rev = version;
+    sha256 = "0mlic2q49cb0vv62mixy4i4x8c91qb6jlji7khiamcxcg676nasl";
+  };
+
+  checkInputs = [
+    nose
+    coverage
+  ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    description = "Test asyncio code more easily";
+    homepage = https://github.com/kwarunek/aiounittest;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/anytree/default.nix b/pkgs/development/python-modules/anytree/default.nix
index 638b2c2baa3..712944568f2 100644
--- a/pkgs/development/python-modules/anytree/default.nix
+++ b/pkgs/development/python-modules/anytree/default.nix
@@ -1,26 +1,25 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , substituteAll
 , fetchpatch
 , nose
 , six
+, withGraphviz ? true
 , graphviz
 , fontconfig
 }:
 
 buildPythonPackage rec {
   pname = "anytree";
-  version = "2.7.2";
+  version = "2.7.3";
 
-  src = fetchFromGitHub {
-    owner = "c0fec0de";
-    repo = pname;
-    rev = version;
-    sha256 = "0ag5ir9h5p7rbm2pmpxlkflwigrm7z4afh24jvbhqj7pyrbjmk9w";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05736hamjv4f38jw6z9y4wckc7mz18ivbizm1s3pb0n6fp1sy4zk";
   };
 
-  patches = [
+  patches = lib.optionals withGraphviz [
     (substituteAll {
       src = ./graphviz.patch;
       inherit graphviz;
@@ -35,11 +34,14 @@ buildPythonPackage rec {
     six
   ];
 
-  # Fontconfig error: Cannot load default config file
-  preCheck = ''
+  # tests print “Fontconfig error: Cannot load default config file”
+  preCheck = lib.optionalString withGraphviz ''
     export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
   '';
 
+  # circular dependency anytree → graphviz → pango → glib → gtk-doc → anytree
+  doCheck = withGraphviz;
+
   checkPhase = ''
     runHook preCheck
 
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index a35c2d07394..727687c5e70 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.75";
+  version = "1.76";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01lrm353si63anhhynf6hqbd3f753c2k8dkk953j3g6257py8q2h";
+    sha256 = "0wlch9xpa0fpgjzyxi6jsfca6iakaq9a05927xg8vqnmvaccnwrq";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/branca/default.nix b/pkgs/development/python-modules/branca/default.nix
index c81233045c0..447a5230c7f 100644
--- a/pkgs/development/python-modules/branca/default.nix
+++ b/pkgs/development/python-modules/branca/default.nix
@@ -5,6 +5,7 @@
 , jinja2
 , selenium
 , six
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest selenium ];
-  propagatedBuildInputs = [ jinja2 six ];
+  propagatedBuildInputs = [ jinja2 six setuptools ];
 
   # Seems to require a browser
   doCheck = false;
diff --git a/pkgs/development/python-modules/bx-python/default.nix b/pkgs/development/python-modules/bx-python/default.nix
new file mode 100644
index 00000000000..57a3609bad0
--- /dev/null
+++ b/pkgs/development/python-modules/bx-python/default.nix
@@ -0,0 +1,39 @@
+{ lib, fetchFromGitHub, buildPythonPackage, isPy27, numpy, cython, zlib, six
+, python-lzo, nose }:
+
+buildPythonPackage rec {
+  pname = "bx-python";
+  version = "0.8.6";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "bxlab";
+    repo = "bx-python";
+    rev = "v${version}";
+    sha256 = "1i40vmn8n83vqcpqj843riv9vp16s753jc4wc90p0cmrnhmzcv13";
+  };
+
+  nativeBuildInputs = [ cython ];
+  buildInputs = [ zlib ];
+  propagatedBuildInputs = [ numpy six python-lzo ];
+  checkInputs = [ nose ];
+
+  postInstall = ''
+    cp -r scripts/* $out/bin
+
+    # This is a small hack; the test suit uses the scripts which need to
+    # be patched. Linking the patched scripts in $out back to the
+    # working directory allows the tests to run
+    rm -rf scripts
+    ln -s $out/bin scripts
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/bxlab/bx-python";
+    description =
+      "Tools for manipulating biological data, particularly multiple sequence alignments";
+    license = licenses.mit;
+    maintainers = [ maintainers.jbedo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/python-modules/certipy/default.nix b/pkgs/development/python-modules/certipy/default.nix
new file mode 100644
index 00000000000..ce96bce5bc7
--- /dev/null
+++ b/pkgs/development/python-modules/certipy/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  pname = "certipy";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0n980gqpzh0fm58h3i4mi2i10wgj606lscm1r5sk60vbf6vh8mv9";
+  };
+
+  propagatedBuildInputs = [ pyopenssl ];
+  
+  doCheck = false; #no tests were included
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/LLNL/certipy;
+    description = "wrapper for pyOpenSSL";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ isgy ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/databases/default.nix b/pkgs/development/python-modules/databases/default.nix
new file mode 100644
index 00000000000..e4129ed9bbf
--- /dev/null
+++ b/pkgs/development/python-modules/databases/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sqlalchemy
+, aiocontextvars
+, isPy27
+, pytest
+, asyncpg
+, aiomysql
+, aiosqlite
+}:
+
+buildPythonPackage rec {
+  pname = "databases";
+  version = "0.2.6";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "0cdb4vln4zdmqbbcj7711b81b2l64jg1miihqcg8gpi35v404h2q";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy
+    aiocontextvars
+  ];
+
+  checkInputs = [
+    pytest
+    asyncpg
+    aiomysql
+    aiosqlite
+  ];
+
+  # big chunk to tests depend on existing posgresql and mysql databases
+  # some tests are better than no tests
+  checkPhase = ''
+    pytest --ignore=tests/test_integration.py --ignore=tests/test_databases.py
+  '';
+
+  meta = with lib; {
+    description = "Async database support for Python";
+    homepage = https://github.com/encode/databases;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/dbf/default.nix b/pkgs/development/python-modules/dbf/default.nix
index f81b7d1c8bf..a2f7b603b84 100644
--- a/pkgs/development/python-modules/dbf/default.nix
+++ b/pkgs/development/python-modules/dbf/default.nix
@@ -9,7 +9,7 @@ buildPythonPackage rec {
       sha256 = "01d71vya2x87f3kl9x0s8xp0n7wixn6ksrd054y7idq3n1mjaxzh";
     };
 
-    propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") [ enum34 ];
+    propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;
 
     doCheck = !isPy3k;
     # tests are not yet ported.
diff --git a/pkgs/development/python-modules/diskcache/default.nix b/pkgs/development/python-modules/diskcache/default.nix
index 6aec01ed738..a420fc037bb 100644
--- a/pkgs/development/python-modules/diskcache/default.nix
+++ b/pkgs/development/python-modules/diskcache/default.nix
@@ -1,22 +1,36 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, tox
+, fetchFromGitHub
+, pytest
+, pytestcov
+, pytest_xdist
+, pytest-django
+, mock
 }:
 
 buildPythonPackage rec {
   pname = "diskcache";
   version = "4.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0";
+  src = fetchFromGitHub {
+    owner = "grantjenks";
+    repo = "python-diskcache";
+    rev = "v${version}";
+    sha256 = "0xy2vpk4hixb4gg871d9sx9wxdz8pi0pmnfdwg4bf8jqfjg022w8";
   };
 
   checkInputs = [
-    tox
+    pytest
+    pytestcov
+    pytest_xdist
+    pytest-django
+    mock
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with lib; {
     description = "Disk and file backed persistent cache";
     homepage = "http://www.grantjenks.com/docs/diskcache/";
diff --git a/pkgs/development/python-modules/django-postgresql-netfields/default.nix b/pkgs/development/python-modules/django-postgresql-netfields/default.nix
new file mode 100644
index 00000000000..35be6f76147
--- /dev/null
+++ b/pkgs/development/python-modules/django-postgresql-netfields/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, buildPythonPackage
+, django
+, netaddr
+, six
+, fetchFromGitHub
+# required for tests
+#, djangorestframework
+#, psycopg2
+#, unittest2
+}:
+
+buildPythonPackage rec {
+  version = "1.2.2";
+  pname = "django-postgresql-netfields";
+
+  src = fetchFromGitHub {
+    owner = "jimfunk";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "1rrh38f3zl3jk5ijs6g75dxxvxygf4lczbgc7ahrgzf58g4a48lm";
+  };
+
+  # tests need a postgres database
+  doCheck = false;
+
+  # keeping the dependencies below as comment for reference
+  # checkPhase = ''
+    # python manage.py test
+  # '';
+
+  # buildInputs = [
+    # djangorestframework
+    # psycopg2
+    # unittest2
+  # ];
+
+  propagatedBuildInputs = [
+    django
+    netaddr
+    six
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Django PostgreSQL netfields implementation";
+    homepage = https://github.com/jimfunk/django-postgresql-netfields;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index c90b64dca81..75edf5dc424 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -1,22 +1,28 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , uvicorn
 , starlette
 , pydantic
-, python
 , isPy3k
-, which
+, pytest
+, pytestcov
+, pyjwt
+, passlib
+, aiosqlite
 }:
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.42.0";
+  version = "0.45.0";
+  format = "flit";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "48cb522c1c993e238bfe272fbb18049cbd4bf5b9d6c0d4a4fa113cc790e8196c";
+  src = fetchFromGitHub {
+    owner = "tiangolo";
+    repo = "fastapi";
+    rev = version;
+    sha256 = "1qwh382ny6qa3zi64micdq4j7dc64zv4rfd8g91j0digd4rhs6i1";
   };
 
   propagatedBuildInputs = [
@@ -25,10 +31,24 @@ buildPythonPackage rec {
     pydantic
   ];
 
-  patches = [ ./setup.py.patch ];
+  checkInputs = [
+    pytest
+    pytestcov
+    pyjwt
+    passlib
+    aiosqlite
+  ];
+
+  # starlette pinning kept in place due to 0.12.9 being a hard
+  # dependency luckily fastapi is currently the only dependent on
+  # starlette. Please remove pinning when possible
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "pydantic >=0.32.2,<=0.32.2" "pydantic"
+  '';
 
   checkPhase = ''
-    ${python.interpreter} -c "from fastapi import FastAPI; app = FastAPI()"
+    pytest --ignore=tests/test_default_response_class.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/fastapi/setup.py.patch b/pkgs/development/python-modules/fastapi/setup.py.patch
deleted file mode 100644
index 43661343d74..00000000000
--- a/pkgs/development/python-modules/fastapi/setup.py.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index ccc3d2b..77ce446 100644
---- a/setup.py
-+++ b/setup.py
-@@ -10,7 +10,7 @@ package_data = \
- {'': ['*']}
- 
- install_requires = \
--['starlette >=0.11.1,<=0.12.0', 'pydantic >=0.30,<=0.30.0']
-+['starlette >=0.11.1', 'pydantic >=0.30']
- 
- extras_require = \
- {'all': ['requests',
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index a94f847fc90..8c2f87c8a40 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -1,26 +1,34 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
+, fetchFromGitHub
+, isPy27
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "0.5.2";
+  version = "0.6.2";
+  disabled = isPy27;
 
-  disabled = pythonOlder "3.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6531a5fa9ea6bf27a5180d225558a8a7aa5d7c3cbf7e8b146dd37ac699017937";
+  src = fetchFromGitHub {
+    owner = "intake";
+    repo = "filesystem_spec";
+    rev = version;
+    sha256 = "1y3d6xw14rcldz9779ir6mjaff4rk82ch6ahn4y9mya0qglpc31i";
   };
 
-  # no tests
-  doCheck = false;
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with lib; {
-    description = "A specification that python filesystems should adhere to.";
-    homepage = "https://github.com/intake/filesystem_spec";
+    description = "A specification that python filesystems should adhere to";
+    homepage = https://github.com/intake/filesystem_spec;
     license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index ec58825878a..a7bac0fd762 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     homepage = https://github.com/alpernebbi/git-annex-adapter;
     description = "Call git-annex commands from Python";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda ma27 ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/google-i18n-address/default.nix b/pkgs/development/python-modules/google-i18n-address/default.nix
index 6a9a3160c9b..d7bf6d082f8 100644
--- a/pkgs/development/python-modules/google-i18n-address/default.nix
+++ b/pkgs/development/python-modules/google-i18n-address/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Google's i18n address data packaged for Python";
     homepage = https://pypi.org/project/google-i18n-address/;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
index f5a9341e2cc..c6afce2f9ba 100644
--- a/pkgs/development/python-modules/gpapi/default.nix
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     homepage = https://github.com/NoMore201/googleplay-api;
     license = licenses.gpl3;
     description = "Google Play Unofficial Python API";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/gplaycli/default.nix b/pkgs/development/python-modules/gplaycli/default.nix
index 2edb41571d9..074d41aab94 100644
--- a/pkgs/development/python-modules/gplaycli/default.nix
+++ b/pkgs/development/python-modules/gplaycli/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     homepage = https://github.com/matlink/gplaycli;
     description = "Google Play Downloader via Command line";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/gprof2dot/default.nix b/pkgs/development/python-modules/gprof2dot/default.nix
index 48abf5058df..28609919098 100644
--- a/pkgs/development/python-modules/gprof2dot/default.nix
+++ b/pkgs/development/python-modules/gprof2dot/default.nix
@@ -1,20 +1,20 @@
 { lib, fetchFromGitHub, buildPythonApplication, python, graphviz }:
 
 buildPythonApplication {
-  name = "gprof2dot-2017-09-19";
+  name = "gprof2dot-2019-11-30";
 
   src = fetchFromGitHub {
     owner = "jrfonseca";
     repo = "gprof2dot";
-    rev = "2017.09.19";
-    sha256 = "1b5wvjv5ykbhz7aix7l3y7mg1hxi0vgak4a49gr92sdlz8blj51v";
+    rev = "2019.11.30";
+    sha256 = "1nw4cfwimd0djarw4wc756q095xir78js8flmycg6g7sl3l6p27s";
   };
 
   checkInputs = [ graphviz ];
   checkPhase = "${python.interpreter} tests/test.py";
 
   meta = with lib; {
-    homepage = https://github.com/jrfonseca/gprof2dot;
+    homepage = "https://github.com/jrfonseca/gprof2dot";
     description = "Python script to convert the output from many profilers into a dot graph";
     license = licenses.lgpl3Plus;
     maintainers = [ maintainers.pmiddend ];
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index e4fb0914f0a..8b84af18729 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.25.0";
+  version = "1.26.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "988014c714ca654b3b7ca9f4dabfe487b00e023bfdd9eaf1bb0fed82bf8c4255";
+    sha256 = "5580b86cf49936c9c74f0def44d3582a7a1bb720eba8a14805c3a61efa790c70";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
new file mode 100644
index 00000000000..e14b97d94ce
--- /dev/null
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, acme, aiohttp, snitun, attrs, pytest-aiohttp, warrant, pytest }:
+
+buildPythonPackage rec {
+  pname = "hass-nabucasa";
+  version = "0.29";
+
+  src = fetchFromGitHub {
+    owner = "nabucasa";
+    repo = pname;
+    rev = version;
+    sha256 = "182nh5i3hlj0kqkbynk69md0ddq83w02l8lz4m03d8xbjixzi1k1";
+  };
+
+  # upstreamed in https://github.com/NabuCasa/hass-nabucasa/pull/119
+  postPatch = ''
+    sed -i 's/"acme.*/"acme>=0.40.0,<2.0"/' setup.py
+    cat setup.py
+  '';
+
+  propagatedBuildInputs = [ acme aiohttp snitun attrs warrant ];
+
+  checkInputs = [ pytest pytest-aiohttp ];
+
+  checkPhase = ''
+    pytest tests/
+    '';
+
+  meta = with lib; {
+    homepage = "https://github.com/NabuCasa/hass-nabucasa";
+    description = "Home Assistant cloud integration by Nabu Casa, inc.";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/histbook/default.nix b/pkgs/development/python-modules/histbook/default.nix
deleted file mode 100644
index c9ea7010a6f..00000000000
--- a/pkgs/development/python-modules/histbook/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, pandas }:
-
-buildPythonPackage rec {
-  pname = "histbook";
-  version = "1.2.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "76d1f143f8abccf5539029fbef8133db84f377fc7752ac9e7e6d19ac9a277967";
-  };
-
-  propagatedBuildInputs = [ numpy pandas ];
-
-  meta = with lib; {
-    homepage = https://github.com/scikit-hep/histbook;
-    description = "Versatile, high-performance histogram toolkit for Numpy";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/python-modules/homeassistant-pyozw/default.nix b/pkgs/development/python-modules/homeassistant-pyozw/default.nix
index 559aa905c2c..5674db53e5a 100644
--- a/pkgs/development/python-modules/homeassistant-pyozw/default.nix
+++ b/pkgs/development/python-modules/homeassistant-pyozw/default.nix
@@ -10,5 +10,6 @@ python_openzwave.overridePythonAttrs (oldAttrs: rec {
     sha256 = "2d500638270ee4f0e7e9e114d9b4402c94c232f314116cdcf88d7c1dc9a44427";
   };
 
+  patches = [];
   meta.homepage = https://github.com/home-assistant/python-openzwave;
 })
diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix
new file mode 100644
index 00000000000..a276bd33b59
--- /dev/null
+++ b/pkgs/development/python-modules/hstspreload/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "hstspreload";
+  version = "2019.12.25";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "sethmlarson";
+    repo = pname;
+    rev = version;
+    sha256 = "1aa7jccwldxw3s0z668qqb0i0plsark1q3jvkmqkyp645w5bfilk";
+  };
+
+  # tests require network connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Chromium HSTS Preload list as a Python package and updated daily";
+    homepage = https://github.com/sethmlarson/hstspreload;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
new file mode 100644
index 00000000000..04a0592d750
--- /dev/null
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, certifi
+, hstspreload
+, chardet
+, h11
+, h2
+, idna
+, rfc3986
+, sniffio
+, isPy27
+, pytest
+, pytestcov
+, trustme
+, uvicorn
+, trio
+, brotli
+}:
+
+buildPythonPackage rec {
+  pname = "httpx";
+  version = "0.9.5";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "140z2j7b5hlcxvfb433hqv5b8irqa88hpq33lzr9m992djbhj2hb";
+  };
+
+  propagatedBuildInputs = [
+    certifi
+    hstspreload
+    chardet
+    h11
+    h2
+    idna
+    rfc3986
+    sniffio
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    trustme
+    uvicorn
+    trio
+    brotli
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+          --replace "h11==0.8.*" "h11"
+  '';
+
+  checkPhase = ''
+    PYTHONPATH=.:$PYTHONPATH pytest
+  '';
+
+  meta = with lib; {
+    description = "The next generation HTTP client";
+    homepage = https://github.com/encode/httpx;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index ec9c5ecefa0..9e3b0cdc894 100644
--- a/pkgs/development/python-modules/hypothesis/default.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
 
-  propagatedBuildInputs = [ attrs coverage ] ++ lib.optional (!isPy3k) [ enum34 ];
+  propagatedBuildInputs = [ attrs coverage ] ++ lib.optional (!isPy3k) enum34;
 
   checkInputs = [ pytest pytest_xdist flaky mock pexpect ];
   inherit doCheck;
diff --git a/pkgs/development/python-modules/imagecodecs-lite/default.nix b/pkgs/development/python-modules/imagecodecs-lite/default.nix
index 6374b882718..861a0ed0db3 100644
--- a/pkgs/development/python-modules/imagecodecs-lite/default.nix
+++ b/pkgs/development/python-modules/imagecodecs-lite/default.nix
@@ -6,15 +6,28 @@
 
 buildPythonPackage rec {
   pname = "imagecodecs-lite";
-  version = "2019.4.20";
+  version = "2019.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cp88g7g91gdhjhaz6gvb4jzvi5ad817id9f2bnc5r95ag93bqb0";
+    sha256 = "0s4xb17qd7vimc46rafbjnibj4sf0lnv8cwl22k1h6zb7jhqmlcm";
   };
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ numpy cython ];
+  nativeBuildInputs = [
+    cython
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with lib; {
     description = "Block-oriented, in-memory buffer transformation, compression, and decompression functions";
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 22a61281af2..215177d4b8a 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
@@ -7,7 +8,7 @@
 , traitlets
 , tornado
 , pythonOlder
-, pytest
+, pytestCheckHook
 , nose
 }:
 
@@ -21,7 +22,6 @@ buildPythonPackage rec {
     sha256 = "04jx6ihj3zpj4c7acqa14gl37mpdnbgmfm4nvv97xkjc1cz920xm";
   };
 
-  checkInputs = [ pytest nose ];
   propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ];
 
   # https://github.com/ipython/ipykernel/pull/377
@@ -32,10 +32,17 @@ buildPythonPackage rec {
     })
   ];
 
-  # For failing tests, see https://github.com/ipython/ipykernel/issues/387
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest ipykernel -k "not (test_sys_path or test_sys_path_profile_dir or test_complete)"
+  checkInputs = [ pytestCheckHook nose ];
+  dontUseSetuptoolsCheck = true;
+  preCheck = ''
+    export HOME=$(mktemp -d)
   '';
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # see https://github.com/NixOS/nixpkgs/issues/76197
+    "test_subprocess_print"
+    "test_subprocess_error"
+    "test_ipython_start_kernel_no_userns"
+  ];
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
index b9bc923e7e0..78aaadf690e 100644
--- a/pkgs/development/python-modules/jira/default.nix
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -30,6 +30,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "This library eases the use of the JIRA REST API from Python.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ globin ma27 ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/development/python-modules/junitparser/default.nix b/pkgs/development/python-modules/junitparser/default.nix
new file mode 100644
index 00000000000..11bd1d60ab0
--- /dev/null
+++ b/pkgs/development/python-modules/junitparser/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "junitparser";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "gastlygem";
+    repo = pname;
+    rev = version;
+    sha256 = "16xwayr0rbp7xdg7bzmyf8s7al0dhkbmkcnil66ax7r8bznp5lmp";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+
+  meta = with lib; {
+    description = "A JUnit/xUnit Result XML Parser";
+    license = licenses.asl20;
+    homepage = https://github.com/gastlygem/junitparser;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
index b291a2b0d3b..952e5b781a1 100644
--- a/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -16,6 +16,8 @@
 , notebook
 , pythonOlder
 , nodePackages
+, oauthlib
+, certipy
 }:
 
 let
@@ -51,12 +53,12 @@ in
 
 buildPythonPackage rec {
   pname = "jupyterhub";
-  version = "0.9.4";
+  version = "1.0.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da";
+    sha256 = "0zx6gw9yhgki05j21p6x1x2sf5a2mg2c2mx0ii8rl6q4b98ilm1k";
   };
 
   # Most of this only applies when building from source (e.g. js/css assets are
@@ -107,7 +109,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     alembic ipython jinja2 pamela python-oauth2 requests sqlalchemy tornado
-    traitlets prometheus_client async_generator notebook
+    traitlets prometheus_client async_generator notebook certipy oauthlib
   ];
 
   # Disable tests because they take an excessive amount of time to complete.
diff --git a/pkgs/development/python-modules/klaus/default.nix b/pkgs/development/python-modules/klaus/default.nix
index c9c98cc9701..d1218ab49b7 100644
--- a/pkgs/development/python-modules/klaus/default.nix
+++ b/pkgs/development/python-modules/klaus/default.nix
@@ -1,14 +1,14 @@
-{ lib, python, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, six, flask, pygments, dulwich, httpauth, humanize, pytest, requests, python-ctags3, mock }:
 
-python.pkgs.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "klaus";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
     repo = pname;
     rev = version;
-    sha256 = "0pagyqfcj47ghd9m7b32hvi17hbl19f0wallkz6ncvmvvy919lfz";
+    sha256 = "1432m3ki2g4ma10pfv310q1w4da46b0y2jklb8ajbz8a09ms6mfx";
   };
 
   prePatch = ''
@@ -16,11 +16,11 @@ python.pkgs.buildPythonPackage rec {
       --replace "mkdir -p \$builddir" "mkdir -p \$builddir && pwd"
   '';
 
-  propagatedBuildInputs = with python.pkgs; [
+  propagatedBuildInputs = [
     six flask pygments dulwich httpauth humanize
   ];
 
-  checkInputs = with python.pkgs; [
+  checkInputs = [
     pytest requests python-ctags3
   ] ++ lib.optional (!isPy3k) mock;
 
diff --git a/pkgs/development/python-modules/leveldb/default.nix b/pkgs/development/python-modules/leveldb/default.nix
index 4d6336ce757..c375194a89a 100644
--- a/pkgs/development/python-modules/leveldb/default.nix
+++ b/pkgs/development/python-modules/leveldb/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "leveldb";
-  version = "0.194";
+  version = "0.201";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f6d1y65k6miimic82n8zsx50z9k982mvzp90crwcv1knjrphcww";
+    sha256 = "1gzc5x3i76d2gv8iprfvpnp3chf6arcfmmiv0ygy05r9hivfgzqw";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
index 21bbf12868c..8954f579c7f 100644
--- a/pkgs/development/python-modules/marionette-harness/mozdevice.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4cbeb4558f952cb08f53c4b57a405981b5683f38df0b293f0e7d20b6f4c17d84";
+    sha256 = "1gw2lk16fz2n1953i29hgw47s2h0c6z911zzg8am1in8qq2318xv";
     format = "wheel";
   };
 
diff --git a/pkgs/development/python-modules/marionette-harness/mozlog.nix b/pkgs/development/python-modules/marionette-harness/mozlog.nix
index 0036ac3eb57..834bf48adbd 100644
--- a/pkgs/development/python-modules/marionette-harness/mozlog.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozlog.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "mozlog";
-  version = "4.2.0";
+  version = "5.0";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dc85cfb9d47af6811f2367f471de7028c36204340c5e68a928115409ea75d9a9";
+    sha256 = "0h1hgs13c1w0wvz60400i37m00077li1ky28j7kgx4bl75pkd3sw";
   };
 
   propagatedBuildInputs = [ blessings mozterm six ];
diff --git a/pkgs/development/python-modules/marionette-harness/mozprofile.nix b/pkgs/development/python-modules/marionette-harness/mozprofile.nix
index fddb7d67dae..9c8e10c7fd0 100644
--- a/pkgs/development/python-modules/marionette-harness/mozprofile.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozprofile.nix
@@ -4,18 +4,19 @@
 , mozlog
 , mozfile
 , mozhttpd
+, wptserve
 }:
 
 buildPythonPackage rec {
   pname = "mozprofile";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95e7410ff2a65775422936749b346da8abf09fe0aafa3bb5dd1651b17da137d1";
+    sha256 = "09l18x72vahq7il9nj6qj7la2d21vvbcn9szlm3vsvsbkz68w0yk";
   };
 
-  propagatedBuildInputs = [ mozlog mozfile mozhttpd ]; 
+  propagatedBuildInputs = [ mozlog mozfile mozhttpd wptserve ];
 
   meta = {
     description = "Mozilla application profile handling library";
diff --git a/pkgs/development/python-modules/marionette-harness/mozrunner.nix b/pkgs/development/python-modules/marionette-harness/mozrunner.nix
index ba0fa476906..8cabe18e3c6 100644
--- a/pkgs/development/python-modules/marionette-harness/mozrunner.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozrunner.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "mozrunner";
-  version = "7.6.0";
+  version = "7.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ae84147f0fd784daa32c1d74f94b6e384967831aaf0c635bb3d9d0af3c4b112";
+    sha256 = "04s6w0sp83bn3c6ym75rnlpmcy3yr7d35jxkxhgzmy75gbcps7bi";
   };
 
   propagatedBuildInputs = [ mozdevice mozfile mozinfo mozlog mozprocess
diff --git a/pkgs/development/python-modules/marionette-harness/mozversion.nix b/pkgs/development/python-modules/marionette-harness/mozversion.nix
index f9e962bb77c..12925f3575a 100644
--- a/pkgs/development/python-modules/marionette-harness/mozversion.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozversion.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mozversion";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "65f41d7dc14002f83d8f147c82ca34f7213ad07065d250939daaeeb3787dc0fa";
+    sha256 = "0jczc1yr2yi3mf1qdgpvg9sidp5hf3jplzs4917j65ymvk2zw9na";
   };
 
   propagatedBuildInputs = [ mozlog mozdevice ];
diff --git a/pkgs/development/python-modules/mautrix-appservice/0001-Remove-coding-annotations.patch b/pkgs/development/python-modules/mautrix-appservice/0001-Remove-coding-annotations.patch
deleted file mode 100644
index d00264efe8c..00000000000
--- a/pkgs/development/python-modules/mautrix-appservice/0001-Remove-coding-annotations.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 6750cda26821f703b120ba5c925cc696200570d3 Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sat, 26 Oct 2019 10:31:02 +0200
-Subject: [PATCH] Remove coding annotations
-
-Those used to be needed for Python <=3.5. With `pluggy` 0.13.0 this breaks
-tests on newer python3 versions.
----
- mautrix_appservice/appservice.py  | 1 -
- mautrix_appservice/errors.py      | 1 -
- mautrix_appservice/intent_api.py  | 1 -
- mautrix_appservice/state_store.py | 1 -
- 4 files changed, 4 deletions(-)
-
-diff --git a/mautrix_appservice/appservice.py b/mautrix_appservice/appservice.py
-index 3a141b1..47e37fe 100644
---- a/mautrix_appservice/appservice.py
-+++ b/mautrix_appservice/appservice.py
-@@ -1,4 +1,3 @@
--# -*- coding: future_fstrings -*-
- # Partly based on github.com/Cadair/python-appservice-framework (MIT license)
- from contextlib import contextmanager
- from typing import Optional, Callable, Awaitable, Union
-diff --git a/mautrix_appservice/errors.py b/mautrix_appservice/errors.py
-index 90d040f..702f541 100644
---- a/mautrix_appservice/errors.py
-+++ b/mautrix_appservice/errors.py
-@@ -1,4 +1,3 @@
--# -*- coding: future_fstrings -*-
- from typing import Optional
- 
- 
-diff --git a/mautrix_appservice/intent_api.py b/mautrix_appservice/intent_api.py
-index 4021bf8..7236cbb 100644
---- a/mautrix_appservice/intent_api.py
-+++ b/mautrix_appservice/intent_api.py
-@@ -1,4 +1,3 @@
--# -*- coding: future_fstrings -*-
- from urllib.parse import quote as urllib_quote
- from time import time
- from json.decoder import JSONDecodeError
-diff --git a/mautrix_appservice/state_store.py b/mautrix_appservice/state_store.py
-index 47bb970..6ebec2a 100644
---- a/mautrix_appservice/state_store.py
-+++ b/mautrix_appservice/state_store.py
-@@ -1,4 +1,3 @@
--# -*- coding: future_fstrings -*-
- from typing import Optional
- from abc import ABC, abstractmethod
- import json
--- 
-2.23.0
-
diff --git a/pkgs/development/python-modules/mautrix-appservice/default.nix b/pkgs/development/python-modules/mautrix-appservice/default.nix
deleted file mode 100644
index 41ad167929a..00000000000
--- a/pkgs/development/python-modules/mautrix-appservice/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, aiohttp, future-fstrings, pythonOlder }:
-
-buildPythonPackage rec {
-  pname = "mautrix-appservice";
-  version = "0.3.11";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "60192920cff75afdd096eea3a43276e33ec15f4f00bd04d2d1dda616c84f22a5";
-  };
-
-  patches = lib.optional (!(pythonOlder "3.6")) [
-    ./0001-Remove-coding-annotations.patch
-  ];
-
-  propagatedBuildInputs = [
-    aiohttp
-    future-fstrings
-  ];
-
-  # No tests available
-  doCheck = false;
-
-  disabled = pythonOlder "3.5";
-
-  meta = with lib; {
-    homepage = https://github.com/tulir/mautrix-appservice-python;
-    description = "A Python 3 asyncio-based Matrix application service framework";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nyanloutre ];
-  };
-}
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
new file mode 100644
index 00000000000..d3b12d5ab60
--- /dev/null
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildPythonPackage, fetchPypi, aiohttp, future-fstrings, pythonOlder
+, sqlalchemy, ruamel_yaml, CommonMark, lxml, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "mautrix";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03m59d683nr547v5xr80wc3j07das2d2sc3i4bf03dpbkfg0h17w";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/tulir/mautrix-python/commit/ac46f3bb1bea11d22d8a486cc4821604c844da5e.patch";
+      sha256 = "198g63s0iv8g1w22g4g5hb54y41ws82wraglibz33qhrwsfn8axn";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    future-fstrings
+
+    # defined in optional-requirements.txt
+    sqlalchemy
+    ruamel_yaml
+    CommonMark
+    lxml
+  ];
+
+  disabled = pythonOlder "3.5";
+
+  # no tests available
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/tulir/mautrix-python;
+    description = "A Python 3 asyncio Matrix framework.";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ nyanloutre ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
index 13c35999cf9..ee3c16f01b6 100644
--- a/pkgs/development/python-modules/nipype/default.nix
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -79,7 +79,7 @@ buildPythonPackage rec {
     simplejson
     traits
     xvfbwrapper
-  ] ++ stdenv.lib.optional (!isPy3k) [
+  ] ++ stdenv.lib.optionals (!isPy3k) [
     configparser
     futures
     pathlib2 # darwin doesn't receive this transitively, but it is in install_requires
diff --git a/pkgs/development/python-modules/orm/default.nix b/pkgs/development/python-modules/orm/default.nix
new file mode 100644
index 00000000000..c2f6bc4fc57
--- /dev/null
+++ b/pkgs/development/python-modules/orm/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, databases
+, typesystem
+, aiosqlite
+, pytest
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "orm";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = "orm";
+    rev = version;
+    sha256 = "1g70cr0559iyqfzidwh6n2qq6d4dcnrr4sg0jkn1s4qzka828mj7";
+  };
+
+  propagatedBuildInputs = [
+    databases
+    typesystem
+  ];
+
+  checkInputs = [
+    aiosqlite
+    pytest
+    pytestcov
+  ];
+
+  checkPhase = ''
+    PYTHONPATH=$PYTHONPATH:. pytest
+  '';
+
+  meta = with lib; {
+    description = "An async ORM";
+    homepage = https://github.com/encode/orm;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/poppler-qt5/default.nix b/pkgs/development/python-modules/poppler-qt5/default.nix
index 2b00a007f90..7a893384996 100644
--- a/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/wbsoft/python-poppler-qt5;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/prox-tv/default.nix b/pkgs/development/python-modules/prox-tv/default.nix
new file mode 100644
index 00000000000..2568620f539
--- /dev/null
+++ b/pkgs/development/python-modules/prox-tv/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, blas
+, buildPythonPackage
+, cffi
+, fetchFromGitHub
+, liblapack
+, nose
+, numpy
+, openblas
+, useOpenblas ? true
+}:
+
+buildPythonPackage {
+  pname = "prox-tv";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "albarji";
+    repo = "proxTV";
+    rev = "e621585d5aaa7983fbee68583f7deae995d3bafb";
+    sha256 = "0mlrjbb5rw78dgijkr3bspmsskk6jqs9y7xpsgs35i46dvb327q5";
+  };
+
+  patches = lib.optional useOpenblas ./use-openblas.patch;
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    cffi
+  ];
+
+  buildInputs = (
+    if useOpenblas then
+      [ openblas ]
+    else
+      [ blas liblapack ]
+  );
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = https://github.com/albarji/proxTV;
+    description = "A toolbox for fast Total Variation proximity operators";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ multun ];
+  };
+}
diff --git a/pkgs/development/python-modules/prox-tv/use-openblas.patch b/pkgs/development/python-modules/prox-tv/use-openblas.patch
new file mode 100644
index 00000000000..e96faa4d600
--- /dev/null
+++ b/pkgs/development/python-modules/prox-tv/use-openblas.patch
@@ -0,0 +1,11 @@
+index f100b35..448bbaf 100644
+--- a/prox_tv/prox_tv_build.py
++++ b/prox_tv/prox_tv_build.py
+@@ -109,6 +109,6 @@ ffi.set_source(
+     define_macros=[('NOMATLAB', 1)],
+     extra_compile_args=extra_compile_args,
+     extra_link_args=extra_link_args,
+-    libraries=['blas', 'lapack'],
++    libraries=['openblas'],
+     include_dirs=['/usr/include']
+ )
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix
index 3e8e5086ead..088c6636fdc 100644
--- a/pkgs/development/python-modules/pydantic/default.nix
+++ b/pkgs/development/python-modules/pydantic/default.nix
@@ -1,21 +1,25 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , ujson
 , email_validator
 , typing-extensions
 , python
 , isPy3k
+, pytest
+, pytestcov
 }:
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "1.0";
+  version = "1.3";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bf474cebe007701806f5f8b076fb8508116606e5c721734bb855bfec4185263c";
+  src = fetchFromGitHub {
+    owner = "samuelcolvin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0s85nzlsyj97j54zsgv569hkzv617z0vqsifsxkkyiimgbvnx7g8";
   };
 
   propagatedBuildInputs = [
@@ -24,22 +28,13 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -c """
-from datetime import datetime
-from typing import List
-from pydantic import BaseModel
-
-class User(BaseModel):
-    id: int
-    name = 'John Doe'
-    signup_ts: datetime = None
-    friends: List[int] = []
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
 
-external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
-user = User(**external_data)
-assert user.id is "123"
-"""
+  checkPhase = ''
+    pytest
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index 2d137ec01aa..56a5bf07989 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymavlink";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0y9rz3piddzdjpp7d5w9xi6lc9v9b4p4375a5hrfiphrmhds85i3";
+    sha256 = "0vxqn36wldvpzag399a54r37bdgx052gv1k7akbnddcwry0n9vl0";
   };
 
   propagatedBuildInputs = [ future lxml ];
diff --git a/pkgs/development/python-modules/pyrabbit2/default.nix b/pkgs/development/python-modules/pyrabbit2/default.nix
new file mode 100644
index 00000000000..36182e9986b
--- /dev/null
+++ b/pkgs/development/python-modules/pyrabbit2/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyrabbit2";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d27160cb35c096f0072df57307233d01b117a451236e136604a8e51be6f106c0";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  meta = with lib; {
+    description = "A Pythonic interface to the RabbitMQ Management HTTP API";
+    homepage = https://github.com/deslum/pyrabbit2;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix
index 42ad55ad0b9..a968935dc06 100644
--- a/pkgs/development/python-modules/pyside/shiboken.nix
+++ b/pkgs/development/python-modules/pyside/shiboken.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   # gcc6 patch was also sent upstream: https://github.com/pyside/Shiboken/pull/86
   patches = [ ./gcc6.patch ] ++ (lib.optional (isPy35 || isPy36 || isPy37) ./shiboken_py35.patch);
 
-  cmakeFlags = if isPy3k then "-DUSE_PYTHON3=TRUE" else null;
+  cmakeFlags = lib.optional isPy3k "-DUSE_PYTHON3=TRUE";
 
   meta = {
     description = "Plugin (front-end) for pyside-generatorrunner, that generates bindings for C++ libraries using CPython source code";
diff --git a/pkgs/development/python-modules/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix
index 974ac4499ac..7b0fba1a5ae 100644
--- a/pkgs/development/python-modules/pyslurm/default.nix
+++ b/pkgs/development/python-modules/pyslurm/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     homepage = https://github.com/PySlurm/pyslurm;
     description = "Python bindings to Slurm";
     license = licenses.gpl2;
-    maintainers = [ maintainers.veprbl ];
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/pkgs/development/python-modules/pytesseract/default.nix b/pkgs/development/python-modules/pytesseract/default.nix
index 0f10ed601f7..b6d45980e53 100644
--- a/pkgs/development/python-modules/pytesseract/default.nix
+++ b/pkgs/development/python-modules/pytesseract/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytesseract";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n9vasm5fp25fmr9ns9i3bf4kri63s1mvmjgc6q8w7rx840ww7df";
+    sha256 = "1j7d4aa6v1nd3pd1vrfmkv8mbmw0x78cjfpkq3nxpy1r4hj5nwq3";
   };
 
   patches = [
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = https://pypi.org/project/pytesseract/;
-    license = licenses.gpl3;
+    license = licenses.asl20;
     description = "A Python wrapper for Google Tesseract";
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/pkgs/development/python-modules/pytesseract/tesseract-binary.patch b/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
index f7eb9fb1d42..27b042bbaa5 100644
--- a/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
+++ b/pkgs/development/python-modules/pytesseract/tesseract-binary.patch
@@ -1,13 +1,13 @@
 diff --git a/src/pytesseract.py b/src/pytesseract.py
-index 32713cf..5f9209d 100755
+index 132f59b..f161e5c 100755
 --- a/src/pytesseract.py
 +++ b/src/pytesseract.py
-@@ -25,7 +25,7 @@ if numpy_installed:
-     from numpy import ndarray
+@@ -23,7 +23,7 @@ except ImportError:
+     import Image
+ 
  
- # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
 -tesseract_cmd = 'tesseract'
 +tesseract_cmd = '@drv@/bin/tesseract'
- RGB_MODE = 'RGB'
- OSD_KEYS = {
-     'Page number': ('page_num', int),
+ 
+ numpy_installed = find_loader('numpy') is not None
+ if numpy_installed:
diff --git a/pkgs/development/python-modules/pytest-benchmark/default.nix b/pkgs/development/python-modules/pytest-benchmark/default.nix
index b43c00e42d9..924f16694c5 100644
--- a/pkgs/development/python-modules/pytest-benchmark/default.nix
+++ b/pkgs/development/python-modules/pytest-benchmark/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "1hslzzinpwc1zqhbpllqh3sllmiyk69pcycl7ahr0rz3micgwczj";
   };
 
-  propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optional (pythonOlder "3.4") [ pathlib statistics ];
+  propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optionals (pythonOlder "3.4") [ pathlib statistics ];
 
   meta = {
     description = "Py.test fixture for benchmarking code";
diff --git a/pkgs/development/python-modules/python-lzf/default.nix b/pkgs/development/python-modules/python-lzf/default.nix
new file mode 100644
index 00000000000..e8b89563f03
--- /dev/null
+++ b/pkgs/development/python-modules/python-lzf/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  version = "0.2.4";
+  pname = "python-lzf";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1l8m6vzwm1m8hn7ldw8j8r2b6r199k8z3q0wnhdyy4p68hahyhni";
+  };
+
+  meta = with stdenv.lib; {
+    description = "liblzf python bindings";
+    homepage = https://github.com/teepark/python-lzf;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/python-lzo/default.nix b/pkgs/development/python-modules/python-lzo/default.nix
new file mode 100644
index 00000000000..5025b86361a
--- /dev/null
+++ b/pkgs/development/python-modules/python-lzo/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchPypi, buildPythonPackage, lzo, nose }:
+
+buildPythonPackage rec {
+  pname = "python-lzo";
+  version = "1.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0iakqgd51n1cd7r3lpdylm2rgbmd16y74cra9kcapwg84mlf9a4p";
+  };
+
+  buildInputs = [ lzo ];
+  propagatedBuildInputs = [ ];
+  checkInputs = [ nose ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jd-boyd/python-lzo";
+    description = "Python bindings for the LZO data compression library";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.jbedo ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-multipart/default.nix b/pkgs/development/python-modules/python-multipart/default.nix
new file mode 100644
index 00000000000..e3e75d88604
--- /dev/null
+++ b/pkgs/development/python-modules/python-multipart/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytestcov
+, mock
+, pyyaml
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "python-multipart";
+  version = "0.0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    mock
+    pyyaml
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "A streaming multipart parser for Python";
+    homepage = https://github.com/andrew-d/python-multipart;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/python_openzwave/cython.patch b/pkgs/development/python-modules/python_openzwave/cython.patch
new file mode 100644
index 00000000000..e01ffdbdc0d
--- /dev/null
+++ b/pkgs/development/python-modules/python_openzwave/cython.patch
@@ -0,0 +1,20 @@
+diff --git a/pyozw_setup.py b/pyozw_setup.py
+index b201840..37bf2a8 100644
+--- a/pyozw_setup.py
++++ b/pyozw_setup.py
+@@ -257,13 +257,13 @@ class Template(object):
+         if sys.platform.startswith("win"):
+             return ['Cython']
+         else:
+-            return ['Cython==0.28.6']
++            return ['Cython>=0.28.6']
+ 
+     def build_requires(self):
+         if sys.platform.startswith("win"):
+             return ['Cython']
+         else:
+-            return ['Cython==0.28.6']
++            return ['Cython>=0.28.6']
+ 
+     def build(self):
+         if len(self.ctx['extra_objects']) == 1 and os.path.isfile(self.ctx['extra_objects'][0]):
diff --git a/pkgs/development/python-modules/python_openzwave/default.nix b/pkgs/development/python-modules/python_openzwave/default.nix
index ae3f0ba933a..bb8d236335c 100644
--- a/pkgs/development/python-modules/python_openzwave/default.nix
+++ b/pkgs/development/python-modules/python_openzwave/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k
 , pkgconfig
-, systemd, libyaml, openzwave, cython
+, systemd, libyaml, openzwave, cython, pyserial
 , six, pydispatcher, urwid }:
 
 buildPythonPackage rec {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ systemd libyaml openzwave cython ];
-  propagatedBuildInputs = [ six urwid pydispatcher ];
+  propagatedBuildInputs = [ six urwid pydispatcher pyserial ];
 
   # primary location for the .xml files is in /etc/openzwave so we override the
   # /usr/local/etc lookup instead as that allows us to dump new .xml files into
@@ -27,6 +27,8 @@ buildPythonPackage rec {
       --replace /usr/local/etc/openzwave ${openzwave}/etc/openzwave
   '';
 
+  patches = [ ./cython.patch ];
+
   # no tests available
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix
index fc4c192968f..385c51bcd3b 100644
--- a/pkgs/development/python-modules/quandl/default.nix
+++ b/pkgs/development/python-modules/quandl/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     python-dateutil
     six
     more-itertools
-  ] ++ lib.optional (!isPy3k) [
+  ] ++ lib.optionals (!isPy3k) [
     pyOpenSSL
     ndg-httpsclient
     pyasn1
diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix
new file mode 100644
index 00000000000..da9dbd79845
--- /dev/null
+++ b/pkgs/development/python-modules/snitun/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, python, fetchFromGitHub, attrs, cryptography, async-timeout, pytest-aiohttp, pytest }:
+
+buildPythonPackage rec {
+  pname = "snitun";
+  version = "0.20";
+
+  src = fetchFromGitHub {
+    owner = "NabuCasa";
+    repo = pname;
+    rev = version;
+    sha256 = "1nscfwycclfbll709w1q46w6rl0r5c3b85rsc7zwc3ixd1k8aajp";
+  };
+
+  propagatedBuildInputs = [ attrs cryptography async-timeout ];
+
+  checkInputs = [ pytest pytest-aiohttp ];
+
+  checkPhase = ''
+    pytest tests/
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nabucasa/snitun";
+    description = "SNI proxy with TCP multiplexer";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
index 3c7a1c8d839..ef97617225c 100644
--- a/pkgs/development/python-modules/speedtest-cli/default.nix
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "Command line interface for testing internet bandwidth using speedtest.net";
     homepage = https://github.com/sivel/speedtest-cli;
     license = licenses.asl20;
-    maintainers = with maintainers; [ makefu domenkozar ndowens ];
+    maintainers = with maintainers; [ makefu domenkozar ];
   };
 }
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index 6580a87b2fe..9fd1d56ea1a 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , aiofiles
 , graphene
 , itsdangerous
@@ -9,21 +9,25 @@
 , pyyaml
 , requests
 , ujson
+, python-multipart
 , pytest
-, python
 , uvicorn
 , isPy27
 , darwin
+, databases
+, aiosqlite
 }:
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.12.13";
+  version = "0.12.9";
   disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9597bc28e3c4659107c1c4a45ec32dc45e947d78fe56230222be673b2c36454a";
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = "starlette";
+    rev = version;
+    sha256 = "0w44s8ynzy8w8dgm755c8jina9i4dd87vqkcv7jc1kwkg384w9i5";
   };
 
   propagatedBuildInputs = [
@@ -35,13 +39,17 @@ buildPythonPackage rec {
     requests
     ujson
     uvicorn
+    python-multipart
+    databases
   ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ];
 
+  checkInputs = [
+    pytest
+    aiosqlite
+  ];
+
   checkPhase = ''
-    ${python.interpreter} -c """
-from starlette.applications import Starlette
-app = Starlette(debug=True)
-"""
+    pytest --ignore=tests/test_graphql.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/stm32loader/default.nix b/pkgs/development/python-modules/stm32loader/default.nix
index 13272a5a0b7..c7ea7804198 100644
--- a/pkgs/development/python-modules/stm32loader/default.nix
+++ b/pkgs/development/python-modules/stm32loader/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "stm32loader";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w6jg4dcyz6si6dcyx727sxi75wnl0j89xkiwqmsw286s1y8ijjw";
+    sha256 = "0135qzxlrivvkq6wgkw7shfz94n755qs2c1754p1hc2jk0nqayrg";
   };
 
   propagatedBuildInputs = [ progress pyserial ];
diff --git a/pkgs/development/python-modules/thumbor/default.nix b/pkgs/development/python-modules/thumbor/default.nix
index 720391772b5..6f2d0de9acc 100644
--- a/pkgs/development/python-modules/thumbor/default.nix
+++ b/pkgs/development/python-modules/thumbor/default.nix
@@ -85,6 +85,6 @@ buildPythonPackage rec {
     description = "A smart imaging service";
     homepage = https://github.com/thumbor/thumbor/wiki;
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index 1fd33c5d7e4..2220c806929 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -1,5 +1,12 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27
-, numpy, enum34, futures, pathlib
+{ lib
+, fetchPypi
+, buildPythonPackage
+, isPy27
+, numpy
+, imagecodecs-lite
+, enum34
+, futures
+, pathlib
 , pytest
 }:
 
@@ -17,13 +24,23 @@ buildPythonPackage rec {
   # Missing dependencies: imagecodecs, czifile, cmapfile, oiffile, lfdfiles
   # and test data missing from PyPI tarball
   doCheck = false;
-  checkInputs = [ pytest ];
+
+  checkInputs = [
+    pytest
+  ];
+
   checkPhase = ''
     pytest
   '';
 
-  propagatedBuildInputs = [ numpy ]
-    ++ lib.optional isPy27 [ futures enum34 pathlib ];
+  propagatedBuildInputs = [
+    numpy
+    imagecodecs-lite
+  ] ++ lib.optionals isPy27 [
+    futures
+    enum34
+    pathlib
+  ];
 
   meta = with lib; {
     description = "Read and write image data from and to TIFF files.";
diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix
index 2c43ebf2c7e..6834876d8f8 100644
--- a/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/pkgs/development/python-modules/toggl-cli/default.nix
@@ -1,5 +1,6 @@
 { stdenv, buildPythonPackage, fetchPypi, twine, pbr, click, click-completion, validate-email,
-pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy }:
+pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy,
+setuptools }:
 
 
 buildPythonPackage rec {
@@ -16,6 +17,7 @@ buildPythonPackage rec {
 
   postPatch = ''
    substituteInPlace requirements.txt \
+     --replace "pendulum==2.0.4" "pendulum>=2.0.4" \
      --replace "click-completion==0.5.0" "click-completion>=0.5.0" \
      --replace "pbr==5.1.2" "pbr>=5.1.2" \
      --replace "inquirer==2.5.1" "inquirer>=2.5.1"
@@ -37,6 +39,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
+    setuptools
     click
     click-completion
     validate-email
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index cdf29cb565d..2d40ad971db 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "trezor";
-  version = "0.11.5";
+  version = "0.11.6";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd8aafd70a281daa644c4a3fb021ffac20b7a88e86226ecc8bb3e78e1734a184";
+    sha256 = "1i73j812i0dgjw9n106pipc6qksd9cgs59d0as0b4j5iyl0087hh";
   };
 
   propagatedBuildInputs = [ typing-extensions protobuf hidapi ecdsa mnemonic requests pyblake2 click construct libusb1 rlp shamir-mnemonic trezor-udev-rules ];
diff --git a/pkgs/development/python-modules/typesystem/default.nix b/pkgs/development/python-modules/typesystem/default.nix
new file mode 100644
index 00000000000..8a66d6cbcc9
--- /dev/null
+++ b/pkgs/development/python-modules/typesystem/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytest
+, pytestcov
+, jinja2
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "typesystem";
+  version = "0.2.4";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "encode";
+    repo = pname;
+    rev = version;
+    sha256 = "1k0jwcky17zwaz2vx4x2zbsnp270g4mgn7kx5bpl8jgx76qmsnba";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  # for some reason jinja2 not picking up forms directory (1% of tests)
+  checkPhase = ''
+    pytest --ignore=tests/test_forms.py
+  '';
+
+  meta = with lib; {
+    description = "A type system library for Python";
+    homepage = https://github.com/encode/typesystem;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/ueberzug/default.nix b/pkgs/development/python-modules/ueberzug/default.nix
new file mode 100644
index 00000000000..c956e5d8b34
--- /dev/null
+++ b/pkgs/development/python-modules/ueberzug/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, libX11, libXext
+, attrs, docopt, pillow, psutil, xlib }:
+
+buildPythonPackage rec {
+  pname = "ueberzug";
+  version = "18.1.5";
+
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rj864sdn1975v59i8j3cfa9hni1hacq0z2b8m7wib0da9apygby";
+  };
+
+  buildInputs = [ libX11 libXext ];
+  propagatedBuildInputs = [ attrs docopt pillow psutil xlib ];
+
+  meta = with lib; {
+    homepage = "https://github.com/seebye/ueberzug";
+    description = "An alternative for w3mimgdisplay";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/development/ruby-modules/bundled-common/functions.nix b/pkgs/development/ruby-modules/bundled-common/functions.nix
index a093cc4dc95..35307a3fbd9 100644
--- a/pkgs/development/ruby-modules/bundled-common/functions.nix
+++ b/pkgs/development/ruby-modules/bundled-common/functions.nix
@@ -64,7 +64,7 @@ in rec {
         "${ruby}/bin/ruby" \
         "${confFiles}/Gemfile" \
         "$out/${ruby.gemPath}" \
-        "${bundler}/${ruby.gemPath}" \
+        "${bundler}/${ruby.gemPath}/gems/bundler-${bundler.version}" \
         ${lib.escapeShellArg binPaths} \
         ${lib.escapeShellArg groups}
     '';
diff --git a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
index fe8c43f55ed..add5db56d1d 100644
--- a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
+++ b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
@@ -8,7 +8,7 @@ out = ENV["out"]
 ruby = ARGV[0]
 gemfile = ARGV[1]
 bundle_path = ARGV[2]
-bundler_gem_path = ARGV[3]
+bundler_path = ARGV[3]
 paths = ARGV[4].split
 groups = ARGV[5].split
 
@@ -35,7 +35,7 @@ ENV["BUNDLE_GEMFILE"] = #{gemfile.dump}
 ENV["BUNDLE_PATH"] = #{bundle_path.dump}
 ENV['BUNDLE_FROZEN'] = '1'
 
-Gem.use_paths(#{bundler_gem_path.dump}, ENV["GEM_PATH"])
+$LOAD_PATH.unshift #{bundler_path.dump} + "/lib"
 
 require 'bundler'
 Bundler.setup(#{groups.map(&:dump).join(', ')})
diff --git a/pkgs/development/ruby-modules/with-packages/test.nix b/pkgs/development/ruby-modules/with-packages/test.nix
index 73f8f02b27b..dc1da3de492 100644
--- a/pkgs/development/ruby-modules/with-packages/test.nix
+++ b/pkgs/development/ruby-modules/with-packages/test.nix
@@ -9,6 +9,7 @@ let
     ruby_2_4
     ruby_2_5
     ruby_2_6
+    ruby_2_7
   ];
 
   gemTests =
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
new file mode 100644
index 00000000000..e5770800199
--- /dev/null
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, fetchzip
+, zlib
+, xorg
+, freetype
+, alsaLib
+, jdk11
+, curl
+, lttng-ust
+, autoPatchelfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "codeql";
+  version = "2.0.0";
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontStrip = true;
+
+  src = fetchzip {
+    url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
+    sha256 = "1v6wzjdhfws77fr5r15s03f1ipzc1gh7sl8gvw1fb4pplpa2d08s";
+  };
+
+  nativeBuildInputs = [
+    zlib
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXtst
+    xorg.libXrender
+    freetype
+    alsaLib
+    jdk11
+    stdenv.cc.cc.lib
+    curl
+    lttng-ust
+    autoPatchelfHook
+  ];
+
+  installPhase = ''
+    # codeql directory should not be top-level, otherwise,
+    # it'll include /nix/store to resolve extractors.
+    mkdir -p $out/{codeql,bin}
+    cp -R * $out/codeql/
+
+    ln -sf $out/codeql/tools/linux64/lib64trace.so $out/codeql/tools/linux64/libtrace.so
+
+    sed -i 's;"$CODEQL_DIST/tools/$CODEQL_PLATFORM/java/bin/java";"${jdk11}/bin/java";' $out/codeql/codeql
+
+    ln -s $out/codeql/codeql $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Semantic code analysis engine";
+    homepage = "https://semmle.com/codeql";
+    maintainers = [ maintainers.dump_stack ];
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 8b6eb71f90f..1b7467608be 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pcre ];
   nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ];
 
-  makeFlags = ''PREFIX=$(out) CFGDIR=$(out)/cfg HAVE_RULES=yes'';
+  makeFlags = [ "PREFIX=$(out)" "CFGDIR=$(out)/cfg" "HAVE_RULES=yes" ];
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 5e01438844c..a15eb275231 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -54,12 +54,12 @@ rec {
   gradle_latest = gradle_5_6;
 
   gradle_5_6 = gradleGen rec {
-    name = "gradle-5.6.1";
+    name = "gradle-5.6.4";
     nativeVersion = "0.18";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "04pccfcry5c59xwm6rr4r3baanwbfr5yrwhxv4r5v8z4414291h9";
+      sha256 = "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 49d7287087f..e4d4994a781 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -10,11 +10,12 @@
 let
   # See https://mesonbuild.com/Reference-tables.html#cpu-families
   cpuFamilies = {
-    aarch64 = "aarch64";
-    armv6l  = "arm";
-    armv7l  = "arm";
-    i686    = "x86";
-    x86_64  = "x86_64";
+    aarch64  = "aarch64";
+    armv5tel = "arm";
+    armv6l   = "arm";
+    armv7l   = "arm";
+    i686     = "x86";
+    x86_64   = "x86_64";
   };
 in
 python3Packages.buildPythonApplication rec {
diff --git a/pkgs/development/tools/database/ephemeralpg/default.nix b/pkgs/development/tools/database/ephemeralpg/default.nix
index 8feca8c62ca..ae511824569 100644
--- a/pkgs/development/tools/database/ephemeralpg/default.nix
+++ b/pkgs/development/tools/database/ephemeralpg/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, postgresql, getopt, makeWrapper }:
 stdenv.mkDerivation rec {
   pname = "ephemeralpg";
-  version = "2.5";
+  version = "2.9";
   src = fetchurl {
     url = "http://ephemeralpg.org/code/${pname}-${version}.tar.gz";
-    sha256 = "004fcll7248h73adkqawn9bhkqj9wsxyi3w99x64f7s37r2518wk";
+    sha256 = "1ghp3kya4lxvfwz3c022cx9vqf55jbf9sjw60bxjcb5sszklyc89";
   };
   buildInputs = [ makeWrapper ];
   installPhase = ''
diff --git a/pkgs/development/tools/database/sqlitebrowser/default.nix b/pkgs/development/tools/database/sqlitebrowser/default.nix
index aa29277281d..8cdcdd6f79d 100644
--- a/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -26,7 +26,7 @@ mkDerivation rec {
     description = "DB Browser for SQLite";
     homepage = http://sqlitebrowser.org/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [  ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index d7dcb425963..0e20d690fd7 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetchurl, perl, python, flex, bison, qt4, CoreServices, libiconv }:
+{ stdenv, cmake, fetchurl, python3, flex, bison, qt4, CoreServices, libiconv }:
 
 stdenv.mkDerivation rec {
 
@@ -12,11 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "bd9c0ec462b6a9b5b41ede97bede5458e0d7bb40d4cfa27f6f622eb33c59245d";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+    python3
+    flex
+    bison
+  ];
 
   buildInputs =
-    [ perl python flex bison ]
-    ++ stdenv.lib.optional (qt4 != null) qt4
+       stdenv.lib.optional (qt4 != null) qt4
     ++ stdenv.lib.optional stdenv.isSunOS libiconv
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
 
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index 35d718ecd67..3c0b0cff548 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -2,9 +2,8 @@
 , fetchFromGitLab
 , meson
 , ninja
-, pkgconfig
+, pkg-config
 , python3
-, libxml2Python
 , docbook_xml_dtd_43
 , docbook_xsl
 , libxslt
@@ -13,10 +12,12 @@
 , withDblatex ? false, dblatex
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "gtk-doc";
   version = "1.32";
 
+  format = "other";
+
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
@@ -32,37 +33,41 @@ stdenv.mkDerivation rec {
   outputDevdoc = "out";
 
   nativeBuildInputs = [
+    pkg-config
     gettext
     meson
     ninja
+    libxslt # for xsltproc
   ];
 
   buildInputs = [
     docbook_xml_dtd_43
     docbook_xsl
     libxslt
-    pkgconfig
-    python3
-    python3.pkgs.pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42
-    libxml2Python
-  ]
-  ++ stdenv.lib.optional withDblatex dblatex
-  ;
+  ] ++ stdenv.lib.optionals withDblatex [
+    dblatex
+  ];
+
+  pythonPath = with python3.pkgs; [
+    pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42
+    (anytree.override { withGraphviz = false; })
+    lxml
+  ];
 
   mesonFlags = [
     "-Dtests=false"
     "-Dyelp_manual=false"
   ];
 
-  # Make pygments available for binaries, python.withPackages creates a wrapper
-  # but scripts are not allowed in shebangs so we link it into sys.path.
-  postInstall = ''
-    ln -s ${python3.pkgs.pygments}/${python3.sitePackages}/* $out/share/gtk-doc/python/
-  '';
-
   doCheck = false; # requires a lot of stuff
   doInstallCheck = false; # fails
 
+  postFixup = ''
+    # Do not propagate Python
+    substituteInPlace $out/nix-support/propagated-build-inputs \
+      --replace "${python3}" ""
+  '';
+
   passthru = {
     # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch
     respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch;
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 1ea73484886..8304d95d99f 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -1,19 +1,19 @@
-{ buildGoPackage, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.21.0";
-  goPackagePath = "github.com/golangci/golangci-lint";
-
-  subPackages = [ "cmd/golangci-lint" ];
+  version = "1.22.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "0knvb59mg9jrzmfs5nzglz4nv047ayq1xz6dkis74wl1g9xi6yr5";
+    sha256 = "1wwp6ppm5p2cf7jbcgmqm6alzaj34sa079d98afw21yr81qxvvid";
   };
 
+  modSha256 = "02j2cf5778ds0vwz0kkd9c1x5ap732vkq20bfg440spfajscvndm";
+  subPackages = [ "cmd/golangci-lint" ];
+
   meta = with lib; {
     description = "Linters Runner for Go. 5x faster than gometalinter. Nice colored output.";
     homepage = https://golangci.com/;
diff --git a/pkgs/development/tools/kcli/default.nix b/pkgs/development/tools/kcli/default.nix
new file mode 100644
index 00000000000..a3944ff4126
--- /dev/null
+++ b/pkgs/development/tools/kcli/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kcli";
+  version = "1.8.2";
+
+  src = fetchFromGitHub {
+    owner = "cswank";
+    repo = "kcli";
+    rev = version;
+    sha256 = "1m9967f9wk1113ap2qmqinqg7gvpmg5y2g1ji0q818qbandzlh23";
+  };
+
+  modSha256 = "1wcqh3306q9wxb6pnl8cpk73vmy36bjv2gil03j7j4pajs1f2lwn";
+
+  subPackages = [ "." ];
+
+  meta = with stdenv.lib; {
+    description = "A kafka command line browser";
+    homepage = "https://github.com/cswank/kcli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cswank ];
+  };
+}
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
new file mode 100644
index 00000000000..bf1cae3edc7
--- /dev/null
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "act";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "nektos";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1y1bvk93dzsxwjakmgpb5qyy3lqng7cdabi64b555c1z6b42mf58";
+  };
+
+  modSha256 = "00d0wjnr5y3bl95lma8sdwvqqs7fd0k43azawp1kb29kqnrlismg";
+
+  meta = with lib; {
+    description = "Run your GitHub Actions locally";
+    homepage = "https://circleci.com/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index f8b04af3f97..e0ebba4c051 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -27,7 +27,7 @@ let
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginStackTrace
-        CatalystRuntime
+        CatalystPluginUnicodeEncoding
         CatalystTraitForRequestProxyBase
         CatalystViewDownload
         CatalystViewJSON
@@ -51,6 +51,7 @@ let
         LWP
         LWPProtocolHttps
         NetAmazonS3
+        NetPrometheus
         NetStatsd
         PadWalker
         Readonly
@@ -58,6 +59,8 @@ let
         SetScalar
         Starman
         SysHostnameLong
+        TermSizeAny
+        TestMore
         TextDiff
         TextTable
         XMLSimple
@@ -69,15 +72,15 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "hydra";
-  version = "2019-08-30";
+  version = "2019-11-13";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = pname;
-    rev = "242b8b7a314759ed33f69205d26a1b7c337511e0";
-    sha256 = "167ijcf9qdm10kjvqax3hcvs5mpa4mx2y2i9idwwc6xfvn8fhs84";
+    rev = "20dd0bbe6a90d9066e635ee82e98efec23b17e51";
+    sha256 = "06chiaa7p54zxngmy2q3ps7bbiqpdv9h2rfmprh83qz36xps9rs2";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index 80203dd0df9..169c1afd55d 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, libftdi1, libusb1, pkgconfig, hidapi }:
+{ stdenv, lib, fetchurl, fetchpatch, libftdi1, libusb1, pkgconfig, hidapi }:
 
 stdenv.mkDerivation rec {
   pname = "openocd";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1bhn2c85rdz4gf23358kg050xlzh7yxbbwmqp24c0akmh3bff4kk";
   };
 
+  patches = [
+    # Fix FTDI channel configuration for SheevaPlug
+    # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837989
+    (fetchpatch {
+      url = "https://salsa.debian.org/electronics-team/openocd/raw/9a94335daa332a37a51920f87afbad4d36fad2d5/debian/patches/fix-sheeva.patch";
+      sha256 = "01x021fagwvgxdpzk7psap7ryqiya4m4mi4nqr27asbmb3q46g5r";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libftdi1 libusb1 hidapi ];
 
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index 7741f2d4ffb..40dafe27da2 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -6,6 +6,10 @@
 , interactive ? false, ncurses, procps
 }:
 
+let
+  crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform;
+in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
@@ -17,7 +21,13 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  patches = optional (version == "6.5") ./perl.patch;
+  patches = optional (version == "6.5") ./perl.patch
+    ++ optional crossBuildTools ./cross-tools-flags.patch;
+
+  # ncurses is required to build `makedoc'
+  # this feature is introduced by the ./cross-tools-flags.patch
+  NATIVE_TOOLS_CFLAGS = if crossBuildTools then "-I${getDev buildPackages.ncurses}/include" else null;
+  NATIVE_TOOLS_LDFLAGS = if crossBuildTools then "-L${getLib buildPackages.ncurses}/lib" else null;
 
   # We need a native compiler to build perl XS extensions
   # when cross-compiling.
diff --git a/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch b/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
new file mode 100644
index 00000000000..f0e4230d7ec
--- /dev/null
+++ b/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
@@ -0,0 +1,12 @@
+diff -ur texinfo-6.5/configure texinfo-6.5-patched/configure
+--- texinfo-6.5/configure	2017-09-13 03:50:18.000000000 +0900
++++ texinfo-6.5-patched/configure	2019-12-28 17:39:06.692818866 +0900
+@@ -23281,7 +23281,7 @@
+   # env -i gives this build host configure a clean environment;
+   # consequently, we have to re-initialize $PATH.
+   env -i CC="$BUILD_CC" AR="$BUILD_AR" RANLIB="$BUILD_RANLIB" \
+-      PATH="$PATH" \
++      PATH="$PATH" CFLAGS="$NATIVE_TOOLS_CFLAGS" LDFLAGS="$NATIVE_TOOLS_LDFLAGS" \
+       tools_only=1 \
+     ${confdir}/configure --build=${build} --host=${build} \
+                          --disable-rpath --disable-nls
diff --git a/pkgs/development/tools/misc/texlab/citeproc/package.json b/pkgs/development/tools/misc/texlab/citeproc/package.json
deleted file mode 100644
index 87e7ccc1c92..00000000000
--- a/pkgs/development/tools/misc/texlab/citeproc/package.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "name": "citeproc",
-  "version": "0.1.0",
-  "description": "Render BibTeX citations",
-  "repository": "https://github.com/latex-lsp/citeproc.git",
-  "author": "Eric Förster <efoerster@users.noreply.github.com>",
-  "license": "MIT",
-  "scripts": {
-    "dist": "webpack",
-    "format": "prettier --write \"src/**/*.{js,json}\" \"*.{js,json,yml,md}\" \".vscode/**/*.{json}\""
-  },
-  "dependencies": {
-    "@babel/core": "^7.5.5",
-    "@babel/preset-env": "^7.5.5",
-    "@citation-js/core": "^0.4.8",
-    "@citation-js/plugin-bibtex": "^0.4.8",
-    "@citation-js/plugin-csl": "^0.4.8",
-    "@types/node": "^11.13.17",
-    "@types/webpack": "^4.4.35",
-    "babel-loader": "^8.0.6",
-    "babel-polyfill": "^6.26.0",
-    "null-loader": "^0.1.1",
-    "prettier": "^1.18.2",
-    "ts-loader": "^5.4.5",
-    "ts-node": "^8.3.0",
-    "tslint": "^5.18.0",
-    "tslint-config-prettier": "^1.15.0",
-    "webpack": "^4.35.3",
-    "webpack-cli": "^3.3.6"
-  }
-}
diff --git a/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh b/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh
deleted file mode 100755
index b57e48e10bc..00000000000
--- a/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p jq
-
-set -eu -o pipefail
-
-if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
-	echo "Usage: $0 <git release tag>"
-	exit 1
-fi
-
-TEXLAB_WEB_SRC="https://raw.githubusercontent.com/latex-lsp/texlab/$1"
-
-curl --silent "$TEXLAB_WEB_SRC/src/citeproc/js/package.json" | \
-	jq '. + {"dependencies": .devDependencies} | del(.devDependencies)' > package.json
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index e11c288c1e9..1e8b3b2cbab 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -3,32 +3,24 @@
 , fetchFromGitHub
 , nodejs
 , Security
-, texlab-citeproc-build-deps
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "1.7.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0b9lw6cmh7gyzj0pb3ghvqc3q7lzl12bfg9pjhl31lib3mmga8yb";
+    # 1.9.0 + patches for building citeproc-db, see https://github.com/latex-lsp/texlab/pull/137
+    rev = "e38fe4bedc9d8094649a9d2753ca9855e0c18882";
+    sha256 = "0j87gmzyqrpgxrgalvlfqj5cj8j0h23hbbv8vdz2dhc847xhhfq1";
   };
 
-  cargoSha256 = "0qnysl0ayc242dgvanqgmx8v4a2cjg0f1lhbyw16qjv61qcsx8y5";
-
-  nativeBuildInputs = [ nodejs ];
+  cargoSha256 = "09d9r7aal1q00idv08zdw7dygyasyp5l6jrh96cdclf63h1p4fk9";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  preBuild = ''
-    rm build.rs
-    ln -s ${texlab-citeproc-build-deps}/lib/node_modules/citeproc/node_modules src/citeproc/js
-    (cd src/citeproc/js && npm run dist)
-  '';
-
   meta = with stdenv.lib; {
     description = "An implementation of the Language Server Protocol for LaTeX";
     homepage = https://texlab.netlify.com/;
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index e3e8e2c046c..96eb98bbbef 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
-  version = "10.1.0";
+  version = "10.1.1";
 
   src = fetchFromGitHub {
     owner = "XAMPPRocky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l7vqmdagfhi4hnp50ng253zy4g48qjhs5kmnk2xh5v3c59ys4zs";
+    sha256 = "0wndjb4rvj8548wz0svwgnk94qlg5w2fv75fn2jgriq6fh6v43yg";
   };
 
-  cargoSha256 = "140nm0nswmgdp549gqp71dbn99rc5g7cagl9s5m5qirl9mbpys8x";
+  cargoSha256 = "1lpa4xfh3bcm51amwxvkzpvmi4b2c4q5qwxxigcbzw76l7rqp2w9";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 90605771958..c104adc78cc 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
-  checkFlags = "units";
+  checkFlags = [ "units" ];
 
   meta = with stdenv.lib; {
     description = "A maintained ctags implementation";
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
index 6879d6875cc..2fc5efedb20 100644
--- a/pkgs/development/tools/purescript/spago/default.nix
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -1,47 +1,14 @@
-{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
-, base, bower-json, bytestring, Cabal, containers, dhall, directory
-, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
-, fsnotify, github, Glob, hpack, hspec, hspec-discover
-, hspec-megaparsec, http-client, http-conduit, lens-family-core
-, megaparsec, mtl, network-uri, open-browser, optparse-applicative
-, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
-, semver-range, stdenv, stm, tar, template-haskell, temporary, text
-, time, transformers, turtle, unliftio, unordered-containers
-, vector, versions, zlib
+{ haskellPackages
+, haskell
+, lib
 }:
-mkDerivation {
-  pname = "spago";
-  version = "0.12.1.0";
-  src = fetchgit {
-    url = "https://github.com/spacchetti/spago";
-    sha256 = "17xgp75yxangmb65sv3raysad31kmc109c4q4aj9dgcdqz23fcn2";
-    rev = "a4679880402ead320f8be2f091b25d30e27b62df";
-    fetchSubmodules = true;
-  };
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    aeson aeson-pretty ansi-terminal async-pool base bower-json
-    bytestring Cabal containers dhall directory either exceptions
-    file-embed filepath foldl fsnotify github Glob http-client
-    http-conduit lens-family-core megaparsec mtl network-uri
-    open-browser prettyprinter process retry rio rio-orphans safe
-    semver-range stm tar template-haskell temporary text time
-    transformers turtle unliftio unordered-containers vector versions
-    zlib
-  ];
-  libraryToolDepends = [ hpack ];
-  executableHaskellDepends = [
-    aeson-pretty async-pool base bytestring containers dhall filepath
-    github lens-family-core megaparsec optparse-applicative process
-    retry stm temporary text time turtle vector
+
+haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: {
+  maintainers = (oldAttrs.maintainers or []) ++ [
+    lib.maintainers.cdepillabout
   ];
-  testHaskellDepends = [
-    base containers directory extra hspec hspec-megaparsec megaparsec
-    process QuickCheck temporary text turtle versions
-  ];
-  testToolDepends = [ hspec-discover ];
-  prePatch = "hpack";
-  homepage = "https://github.com/spacchetti/spago#readme";
-  license = stdenv.lib.licenses.bsd3;
-}
+
+  passthru = (oldAttrs.passthru or {}) // {
+    updateScript = ./update.sh;
+  };
+}))
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
new file mode 100644
index 00000000000..c85cff2f03a
--- /dev/null
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
+, base, bower-json, bytestring, Cabal, containers, dhall, directory
+, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
+, fsnotify, github, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, lens-family-core
+, megaparsec, mtl, network-uri, open-browser, optparse-applicative
+, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
+, semver-range, stdenv, stm, tar, template-haskell, temporary, text
+, time, transformers, turtle, unliftio, unordered-containers
+, vector, versions, zlib
+}:
+mkDerivation {
+  pname = "spago";
+  version = "0.13.0";
+  src = fetchgit {
+    url = "https://github.com/spacchetti/spago.git";
+    sha256 = "158xq5zn32iwswxmpma92763hl6kzq7kb01cyvphmmlilx55b6yk";
+    rev = "426838670ba9de4593f4c533a6947efb2d8ad4ba";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson aeson-pretty ansi-terminal async-pool base bower-json
+    bytestring Cabal containers dhall directory either exceptions
+    file-embed filepath foldl fsnotify github Glob http-client
+    http-conduit lens-family-core megaparsec mtl network-uri
+    open-browser prettyprinter process retry rio rio-orphans safe
+    semver-range stm tar template-haskell temporary text time
+    transformers turtle unliftio unordered-containers vector versions
+    zlib
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson-pretty async-pool base bytestring containers dhall filepath
+    github lens-family-core megaparsec optparse-applicative process
+    retry stm temporary text time turtle vector
+  ];
+  testHaskellDepends = [
+    base containers directory extra hspec hspec-megaparsec megaparsec
+    process QuickCheck temporary text turtle versions
+  ];
+  testToolDepends = [ hspec-discover ];
+  prePatch = "hpack";
+  homepage = "https://github.com/spacchetti/spago#readme";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/development/tools/purescript/spago/update.sh b/pkgs/development/tools/purescript/spago/update.sh
new file mode 100755
index 00000000000..00c9c6d85f1
--- /dev/null
+++ b/pkgs/development/tools/purescript/spago/update.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p cabal2nix curl jq
+#
+# This script will update the spago derivation to the latest version using
+# cabal2nix.
+#
+# Note that you should always try building spago after updating it here, since
+# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
+# need to be updated/changed.
+
+set -eo pipefail
+
+# This is the directory of this update.sh script.
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+
+# Spago derivation created with cabal2nix.
+spago_derivation_file="${script_dir}/spago.nix"
+
+# This is the current revision of spago in Nixpkgs.
+old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
+
+# This is the latest release version of spago on GitHub.
+new_version=$(curl --silent "https://api.github.com/repos/spacchetti/spago/releases" | jq '.[0].tag_name' --raw-output)
+
+echo "Updating spago from old version $old_version to new version $new_version."
+echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
+
+cabal2nix --revision "$new_version" "https://github.com/spacchetti/spago.git" > "$spago_derivation_file"
+
+echo "Finished."
diff --git a/pkgs/development/tools/rdbtools/default.nix b/pkgs/development/tools/rdbtools/default.nix
new file mode 100644
index 00000000000..5a81ae757ea
--- /dev/null
+++ b/pkgs/development/tools/rdbtools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, python }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "rdbtools";
+  version = "0.1.14";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03vdwwkqz8py6c3wfgx402rn8pjjfn44w3gbxzr60lbkx27m63yj";
+  };
+
+  propagatedBuildInputs = [ redis python-lzf ];
+
+  # No tests in published package
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON";
+    homepage = https://github.com/sripathikrishnan/redis-rdb-tools;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index dfa31b30a7e..15c61da13c0 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -78,6 +78,6 @@ in stdenv.mkDerivation rec {
     homepage = https://github.com/jhen0409/react-native-debugger;
     license = licenses.mit;
     description = "The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/repository-managers/nexus/default.nix b/pkgs/development/tools/repository-managers/nexus/default.nix
index 95a9e78383f..a727eebe054 100644
--- a/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nexus";
-  version = "3.19.1-01";
+  version = "3.20.1-01";
 
   src = fetchurl {
     url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
-    sha256 = "0kjzp5n6pkgx5s21jfmh6pbgnjlvs89kcjqikv4lgc5yia264bks";
+    sha256 = "0l8fwcnpbc35lqadyrsljvr4rr5kp9gkx5dxs9i35mg2f0z9bagv";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 41fc993c62f..cec7a509dc1 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.16";
+  version = "0.4.17";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "0cf539y20hlwxbk0zfs1and99hkb0fqg7m3a6dfd80hwx0dm0xmx";
+    sha256 = "043adbvc1slswwygibgghfl2ryry3ja1x3zjz39qqv63f81pd5id";
   };
 
-  cargoSha256 = "1bspciy7sfx887hwxmckrnjy7b6kpy6g51yraw25yl302mzzng21";
+  cargoSha256 = "1dasyyy2nkr4i5nhlzlwij3b972h2a43j94kvlbc9kvnnb44aymn";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 00a2eb721df..1d1c118dd7d 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -98,12 +98,14 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.24.2"
+version = "0.25.0"
 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.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.1 (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.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.7.4 (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)",
@@ -112,11 +114,11 @@ dependencies = [
  "indexmap 1.3.0 (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)",
- "run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust_info 0.2.2 (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.103 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.103 (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)",
 ]
@@ -173,7 +175,7 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.9.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -216,6 +218,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "duckscript"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "duckscriptsdk"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "envmnt"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -292,7 +309,7 @@ version = "1.3.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)",
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -461,7 +478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "run_script"
-version = "0.3.2"
+version = "0.4.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)",
@@ -508,12 +525,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde"
-version = "1.0.103"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.103"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -586,7 +603,7 @@ name = "toml"
 version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -656,11 +673,13 @@ 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.0 (registry+https://github.com/rust-lang/crates.io-index)" = "433e7ac7d511768127ed85b0c4947f47a254131e37864b2dc13f52aa32cd37e5"
+"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 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.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f34baed35ba3d92eaf95fd023b63f3206e429d408bb54bcd55c71e1e43c4cae8"
+"checksum duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db947cb1b8ef6fc232027e03ab36487fa8bd210de7ec9b4e0e70637dc5b8acf0"
 "checksum envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c6fdfb01bf7386076c5f655278306bbbed4ecc8abe30981217a11079fe3f2b"
 "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"
@@ -692,15 +711,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
 "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
 "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
-"checksum run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "61b3a5ed82e15afc3e238178e2d22113af69ac88bd64a04499f025478853937f"
+"checksum run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc7ecc900fbff3d58006c8a41a84e987f13c3d590bc7268d747245f4b19878dc"
 "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 "checksum rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e4e04a5022c08c95c2285b0beb4cdd24c9b20bc018a263d6fdb0372f7a597db"
 "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 "checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 "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.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
-"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
+"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 shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 "checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index e4cb070464c..0ded77015c9 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.24.2";
+  version = "0.25.0";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "02fc3vf802dzqvyh61cmkjf3vqf5xsl8dhjggns7p5zr2aqh8pfi";
+        sha256 = "1dvn3sjvvlllj99a94jl6yvdkv3a5qrrn3drdnx2s0v1w4djl5z4";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1x2pkis82hsikjqgma7f6wmkcmviiqwc7pvdpmww61iq2aqfg7ds";
+  cargoSha256 = "07xjxc9vzysl8zh7699ardmr7sqc8jsq0nzfvjsx6x2mjllkp67n";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
     description = "A Rust task runner and build tool";
     homepage = "https://github.com/sagiegurari/cargo-make";
     license = licenses.asl20;
-    maintainers = with maintainers; [ xrelkd ma27 ];
+    maintainers = with maintainers; [ xrelkd ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
new file mode 100644
index 00000000000..f52d790c106
--- /dev/null
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
+
+appimageTools.wrapType2 rec {
+  name = "unityhub";
+
+  extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk_pixbuf glib libGL libGLU nss nspr
+    alsaLib cups gnome2.GConf libcap fontconfig freetype pango
+    cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
+    libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
+
+    libX11 libXcursor libXdamage libXfixes libXrender libXi
+    libXcomposite libXext libXrandr libXtst libSM libICE libxcb ]);
+
+  profile = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  src = fetchurl {
+    url = "https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage";
+    sha256 = "1rx7ih94ig3pd1yx1d3fpx7zpixq3j5birkpnzkh778qqsdrg0nf";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://unity3d.com/;
+    description = "Game development tool";
+    longDescription = ''
+      Popular development platform for creating 2D and 3D multiplatform games
+      and interactive experiences.
+    '';
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix
index f5e9952233b..d649e80b340 100644
--- a/pkgs/development/web/nodejs/v13.nix
+++ b/pkgs/development/web/nodejs/v13.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "13.3.0";
-    sha256 = "0j36jf0ybq470w91kzg28bcmxlml7ccl4swwklb6x1ibkz697np7";
+    version = "13.5.0";
+    sha256 = "1ng959fm8ls222mmn2vpkw4n4jba02qigpxc8p85jxfj36dsq4ak";
 
     patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 7c56cd827ca..3a0a8f34356 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "7.12.0";
+  version = "7.14.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "0sz7cidajrsj43vq5g8jrkxlrp97r7n8dfr9gp8l0wxnidiqm401";
+    sha256 = "0565qvn5bnx1mc1ibxrqszzvls0gkg10js55439lwygfhkal0lvy";
     name = "${pname}.tar.gz";
   };
 
diff --git a/pkgs/games/empty-epsilon/default.nix b/pkgs/games/empty-epsilon/default.nix
index cee9be00a3a..17d503de1f7 100644
--- a/pkgs/games/empty-epsilon/default.nix
+++ b/pkgs/games/empty-epsilon/default.nix
@@ -3,8 +3,8 @@
 let
 
   major = "2019";
-  minor = "05";
-  patch = "21";
+  minor = "11";
+  patch = "01";
 
   version = "${major}.${minor}.${patch}";
 
@@ -16,7 +16,7 @@ let
       owner = "daid";
       repo = "SeriousProton";
       rev = "EE-${version}";
-      sha256 = "0q6in9rfs3b3qrfj2j6aj64z110k1yall4iqpp68rpp9r1dsh26p";
+      sha256 = "1sc1z9n99jspa8jnk0pwdzynnadvcmb3pxl5cndw3z90xjwpzivw";
     };
 
     nativeBuildInputs = [ cmake ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     owner = "daid";
     repo = "EmptyEpsilon";
     rev = "EE-${version}";
-    sha256 = "0v2xz1wlji6m6311r3vpkdil3a7l1w5nsz5yqd1l8bimy11rdr55";
+    sha256 = "09jizc6h7jbsp8bzv05pvb5z24zadjzjx1slj5317axsb170v81p";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/games/frotz/default.nix b/pkgs/games/frotz/default.nix
index 3dbd7bd928b..788280fd820 100644
--- a/pkgs/games/frotz/default.nix
+++ b/pkgs/games/frotz/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0gjkk4gxzqmxfdirrz2lr0bms6l9fc31vkmlywigkbdlh8wxgypp";
   };
 
-  makeFlags = ''CC=cc PREFIX=$(out) CURSES=-lncurses'';
+  makeFlags = [ "CC=cc" "PREFIX=$(out)" "CURSES=-lncurses" ];
 
   buildInputs = [ ncurses ];
 
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 426be1f214a..9229f4fbc93 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -79,6 +79,7 @@ in buildFHSUserEnv rec {
 
     # Not formally in runtime but needed by some games
     at-spi2-atk
+    at-spi2-core   # CrossCode
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-ugly
     libdrm
diff --git a/pkgs/games/xbomb/default.nix b/pkgs/games/xbomb/default.nix
index 946bff79f97..54d6c320f18 100644
--- a/pkgs/games/xbomb/default.nix
+++ b/pkgs/games/xbomb/default.nix
@@ -9,10 +9,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXaw ];
 
-  preBuild = ''
-    substituteInPlace Makefile \
-      --replace /usr/local $out
-  '';
+  makeFlags = [
+    "INSTDIR=${placeholder ''out''}"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://www.gedanken.org.uk/software/xbomb/;
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix
index d98232b1058..3c205a70375 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/misc/emulators/mame/default.nix
@@ -1,9 +1,10 @@
 { stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper
-, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }:
+, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama
+, installShellFiles }:
 
 let
   majorVersion = "0";
-  minorVersion = "216";
+  minorVersion = "217";
 
   desktopItem = makeDesktopItem {
     name = "MAME";
@@ -22,7 +23,7 @@ in mkDerivation {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${majorVersion}${minorVersion}";
-    sha256 = "0dmmw08pxxznvadrc51zg27jc9fjh688355w8kxkmi7k8qa367r0";
+    sha256 = "0yzn29fp72k2g5xgv47ss6fr3sk9wdxw9f52nwld1baxr2adc0qx";
   };
 
   hardeningDisable = [ "fortify" ];
@@ -33,7 +34,7 @@ in mkDerivation {
   dontWrapQtApps = true;
 
   buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
-  nativeBuildInputs = [ python pkgconfig which makeWrapper ];
+  nativeBuildInputs = [ python pkgconfig which makeWrapper installShellFiles ];
 
   # by default MAME assumes that paths with stock resources
   # are relative and that you run MAME changing to
@@ -54,9 +55,7 @@ in mkDerivation {
     find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
     install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh
 
-    mkdir -p $out/share/man/man{1,6}
-    mv ${dest}/docs/man/*.1 $out/share/man/man1
-    mv ${dest}/docs/man/*.6 $out/share/man/man6
+    installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6
 
     mv artwork plugins samples ${dest}
 
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
index 2b38ed57c28..aae469f3005 100644
--- a/pkgs/misc/frescobaldi/default.nix
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -35,7 +35,7 @@ python3Packages.buildPythonApplication rec {
       fonts and keyboard shortcuts
     '';
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ sepi ma27 ];
+    maintainers = with maintainers; [ sepi ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 8a07461bb2f..24e131b1272 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -300,7 +300,7 @@ in {
   ubootSheevaplug = buildUBoot {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
-    filesToInstall = ["u-boot.bin"];
+    filesToInstall = ["u-boot.kwb"];
   };
 
   ubootSopine = buildUBoot {
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 658c8441276..7030bc0ca31 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -124,8 +124,8 @@ let
     prePatch = prePatchCommon;
     inherit patches;
     postPatch = "cd ./utils";
-    makeFlags = ''LANGS='';
-    installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin VIM_INSTALL_PATH=$(out)/share PYPREFIX='';
+    makeFlags = [ "LANGS=" ];
+    installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" "VIM_INSTALL_PATH=$(out)/share" "PYPREFIX=" ];
 
     postInstall = ''
       for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-status aa-unconfined ; do
@@ -162,8 +162,8 @@ let
 
     prePatch = prePatchCommon;
     postPatch = "cd ./binutils";
-    makeFlags = ''LANGS= USE_SYSTEM=1'';
-    installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin'';
+    makeFlags = [ "LANGS=" "USE_SYSTEM=1" ];
+    installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" ];
 
     inherit doCheck;
 
@@ -187,8 +187,11 @@ let
     '';
     inherit patches;
     postPatch = "cd ./parser";
-    makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include AR=${stdenv.cc.bintools.targetPrefix}ar'';
-    installFlags = ''DESTDIR=$(out) DISTRO=unknown'';
+    makeFlags = [
+      "LANGS=" "USE_SYSTEM=1" "INCLUDEDIR=${libapparmor}/include"
+      "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    ];
+    installFlags = [ "DESTDIR=$(out)" "DISTRO=unknown" ];
 
     inherit doCheck;
 
@@ -204,8 +207,8 @@ let
     buildInputs = [ libapparmor pam ];
 
     postPatch = "cd ./changehat/pam_apparmor";
-    makeFlags = ''USE_SYSTEM=1'';
-    installFlags = ''DESTDIR=$(out)'';
+    makeFlags = [ "USE_SYSTEM=1" ];
+    installFlags = [ "DESTDIR=$(out)" ];
 
     inherit doCheck;
 
@@ -219,7 +222,7 @@ let
     nativeBuildInputs = [ which ];
 
     postPatch = "cd ./profiles";
-    installFlags = ''DESTDIR=$(out) EXTRAS_DEST=$(out)/share/apparmor/extra-profiles'';
+    installFlags = [ "DESTDIR=$(out)" "EXTRAS_DEST=$(out)/share/apparmor/extra-profiles" ];
 
     inherit doCheck;
 
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index eccb3e71660..fa2be46688c 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
-let
-  ver = "2019.5";
-in
+let cfg = import ./version.nix; in
+
 stdenv.mkDerivation rec {
-  name = "alfred-${ver}";
+  pname = "alfred";
+  inherit (cfg) version;
 
   src = fetchurl {
-    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "09npizg89ks1wm19l5xz0pq1ljpsbwy030xnprqnd0p53976wywa";
+    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${version}/${pname}-${version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 537010dea53..57bafb398d1 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
-let
-  ver = "2019.3";
-in
+let cfg = import ./version.nix; in
+
 stdenv.mkDerivation rec {
-  name = "batctl-${ver}";
+  pname = "batctl";
+  inherit (cfg) version;
 
   src = fetchurl {
-    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0307a01n72kg7vcm60mi8jna6bydiin2cr3ylrixra1596hkzn9b";
+    url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${version}/${pname}-${version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 456872cdbd4..796be1e5d48 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2019.2"; in
+let cfg = import ./version.nix; in
 
-stdenv.mkDerivation {
-  name = "${base}-${kernel.version}";
+stdenv.mkDerivation rec {
+  pname = "batman-adv";
+  version = "${cfg.version}-${kernel.version}";
 
   src = fetchurl {
-    url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1j5day3hia5nd21kb3msjblrybfr5sjnhrx7h5bb5ll8rykgdhvh";
+    url = "http://downloads.open-mesh.org/batman/releases/${pname}-${cfg.version}/${pname}-${cfg.version}.tar.gz";
+    sha256 = cfg.sha256.${pname};
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix
new file mode 100644
index 00000000000..f9f3013e1f9
--- /dev/null
+++ b/pkgs/os-specific/linux/batman-adv/version.nix
@@ -0,0 +1,9 @@
+{
+  version = "2019.5";
+
+  sha256 = {
+    batman-adv = "1v18zvvg12jgywncbhxshgjc93r72ajpxgw22zp0zx22g2q13z99";
+    alfred = "09npizg89ks1wm19l5xz0pq1ljpsbwy030xnprqnd0p53976wywa";
+    batctl = "1b9w4636dq8m38nzr8j0v0j3b0vdsw84c58c2isc33h66dx8brgz";
+  };
+}
diff --git a/pkgs/os-specific/linux/bpftool/default.nix b/pkgs/os-specific/linux/bpftool/default.nix
index c54e3e38e9b..8b288fc046a 100644
--- a/pkgs/os-specific/linux/bpftool/default.nix
+++ b/pkgs/os-specific/linux/bpftool/default.nix
@@ -1,13 +1,13 @@
 { stdenv
 , libopcodes, libbfd, libelf
-, linuxPackages_latest
+, linuxPackages_latest, zlib
 }:
 
 stdenv.mkDerivation {
   pname = "bpftool";
   inherit (linuxPackages_latest.kernel) version src;
 
-  buildInputs = [ libopcodes libbfd libelf ];
+  buildInputs = [ libopcodes libbfd libelf zlib ];
 
   preConfigure = ''
     cd tools/bpf/bpftool
diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix
index 40f801881fc..94f32d2c432 100644
--- a/pkgs/os-specific/linux/digimend/default.nix
+++ b/pkgs/os-specific/linux/digimend/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, kernel }:
+{ stdenv, fetchFromGitHub, fetchpatch, kernel }:
 
 assert stdenv.lib.versionAtLeast kernel.version "3.5";
 
@@ -20,6 +20,15 @@ stdenv.mkDerivation rec {
     sed 's/depmod /true /' -i Makefile
   '';
 
+  patches = [
+    # Fix build on Linux kernel >= 5.4
+    # https://github.com/DIGImend/digimend-kernel-drivers/pull/331
+    (fetchpatch {
+      url = "https://github.com/DIGImend/digimend-kernel-drivers/commit/fb8a2eb6a9198bb35aaccb81e22dd5ebe36124d1.patch";
+      sha256 = "1j7l5hsk59gccydpf7n6xx1ki4rm6aka7k879a7ah5jn8p1ylgw9";
+    })
+  ];
+
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 104fccd6955..414f276a210 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -7,16 +7,15 @@
 , shared ? false }:
 
 let
-  kver = kernel.modDirVersion or null;
   mod = kernel != null;
 
 in stdenv.mkDerivation rec {
   name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}";
-  version = "19.08.2";
+  version = "19.11";
 
   src = fetchurl {
     url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-    sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd";
+    sha256 = "1aqjn6bm9miv3v2rbqi1rh1c19wa8nip9fvnqaqpnrs3i2b36wa6";
   };
 
   nativeBuildInputs = [
@@ -44,13 +43,23 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Denable_docs=true"
-    "-Denable_kmods=${if kernel != null then "true" else "false"}"
-  ]
-  ++ lib.optionals (shared == false) [
-    "-Ddefault_library=static"
+    "-Denable_kmods=${if mod then "true" else "false"}"
   ]
+  ++ lib.optional (!shared) "-Ddefault_library=static"
   ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
-  ++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
+  ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}";
+
+  # dpdk meson script does not support separate kernel source and installion
+  # dirs (except via destdir), so we temporarily link the former into the latter.
+  preConfigure = lib.optionalString mod ''
+    mkdir -p $kmod/lib/modules/${kernel.modDirVersion}
+    ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
+      $kmod/lib/modules/${kernel.modDirVersion}
+  '';
+
+  postBuild = lib.optionalString mod ''
+    rm -f $kmod/lib/modules/${kernel.modDirVersion}/build
+  '';
 
   outputs = [ "out" ] ++ lib.optional mod "kmod";
 
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index bd0ddb4ce1d..5cbddac82f0 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.26";
+  version = "0.27";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
      url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
      rev = version;
-     sha256 = "1gnqd7dghwkcn48f6fr9qvkkm976b3x4bn3l7l2k9pamzpng084i";
+     sha256 = "0pr9c4h535ggj54zfah9m3wziiwlig7r1hxpfx16s2s11ylrl9gd";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 8db9d4fb3b5..6e535cce898 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "firmware-linux-nonfree";
-  version = "2019-10-22";
+  version = "2019-12-15";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
     rev = lib.replaceStrings ["-"] [""] version;
-    sha256 = "03ycc55h7vgd4fmb7v7gl7lplf7pg7acs16aa2rramgldxqvyx7j";
+    sha256 = "01zwmgva2263ksssqhhi46jh5kzb6z1a4xs8agsb2mbwifxf84cl";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "15nm0xh2xq8mnk7a66iljcklc15gvh6jcpz2d9llg1fkv6w8lqc6";
+  outputHash = "1jp2bb87jbcml1q3r4yilf9l3pirr19zb70l6mlxlmbqml50zwzd";
 
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 1f6a7145b77..aa2d9978178 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -211,6 +211,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "-Dsysconfdir_install=${placeholder "out"}/etc"
+    "--libexecdir=${placeholder "out"}/libexec"
   ] ++ stdenv.lib.optionals (!haveDell) [
     "-Dplugin_dell=false"
     "-Dplugin_synaptics=false"
@@ -220,12 +221,6 @@ stdenv.mkDerivation rec {
     "-Dplugin_flashrom=true"
   ];
 
-  # TODO: We need to be able to override the directory flags from meson setup hook
-  # better – declaring them multiple times might become an error.
-  preConfigure = ''
-    mesonFlagsArray+=("--libexecdir=$out/libexec")
-  '';
-
   postInstall = ''
     moveToOutput share/installed-tests "$installedTests"
     wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \
diff --git a/pkgs/os-specific/linux/forktty/default.nix b/pkgs/os-specific/linux/forktty/default.nix
index 6402b5c69d8..66570bac942 100644
--- a/pkgs/os-specific/linux/forktty/default.nix
+++ b/pkgs/os-specific/linux/forktty/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     mkdir -p "$out/bin"
     mkdir -p "$out/share/man/man8"
   '';
-  makeFlags='' prefix="''${out}" manprefix="''${out}/share/" '';
+  makeFlags = [ "prefix=$(out)" "manprefix=$(out)/share/" ];
   meta = {
     inherit (s) version;
     description = ''Tool to detach from controlling TTY and attach to another'';
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 2d9554a4894..8e1bbd374cf 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.2";
+  version = "1.4";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
     rev = version;
-    sha256 = "10fwi31ym6hvn0vvh9fy0swzs3mfnpcwg95np4i5ksmw8k0kj0hf";
+    sha256 = "13sig2lbiyi4x74ag37gvdqx5w18w6hmq9hc1ir4a1cqqf50v61v";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index f18a605f46e..57b3aeaa82f 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.160";
+  version = "4.14.161";
 
   # 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 = "0b59xyr8if0qcbnwqa88y275g9rzhjbbp8589i8xxpmws6x2c0y6";
+    sha256 = "1jc1izlvgymp9x61r4yz2xhplwmp6x8laxqj9wy33iz6a2gn48wx";
   };
 } // (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 614f1f0b255..b43da123e24 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.91";
+  version = "4.19.92";
 
   # 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 = "0irl5jlh5rrdfz5g28x4ifbillvspwd8fy4wi3qhmv9dw7gc60zl";
+    sha256 = "18l3k0hgyanh6axgmmaaff139vpw6lf3fcf9iglpqwgspgw7rhr9";
   };
 } // (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 8fdb4f47e4f..0eb57180644 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.6";
+  version = "5.4.7";
 
   # 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 = "1j4916izy2nrzq7g6m5m365r60hhhx9rqcanjvaxv5x3vsy639gx";
+    sha256 = "1jgwg5qb7lb30m5ywvpfagzrl6d0i524qpy3v99mina6j4fv5jdb";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 707ca7ff7ec..04da4a6afc2 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "17145";
+    rev = "17161";
     sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789";
   }
 , ...
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index f89a7c93730..dcb274c9254 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-rc2";
+  version = "5.5-rc3";
   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 = "1fs432ld5k1j68hflqdxby9mxa6a7xnw1m6z5lfb9341gjw078xc";
+    sha256 = "1rf394d1d6c0mvf6006gq1bscq3jjcvj9xxmdwallfwpp9igs8id";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index d206910732c..0538511c528 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -164,6 +164,10 @@ let
       ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
       ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
 
+      preInstall = ''
+        installFlagsArray+=("-j$NIX_BUILD_CORES")
+      '';
+
       # Some image types need special install targets (e.g. uImage is installed with make uinstall)
       installTargets = [ (
         if platform ? kernelInstallTarget then platform.kernelInstallTarget
diff --git a/pkgs/os-specific/linux/macchanger/default.nix b/pkgs/os-specific/linux/macchanger/default.nix
index ec76cda9769..1f1c4b4d7c1 100644
--- a/pkgs/os-specific/linux/macchanger/default.nix
+++ b/pkgs/os-specific/linux/macchanger/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A utility for viewing/manipulating the MAC address of network interfaces";
-    maintainers = with maintainers; [ joachifm ];
+    maintainers = with maintainers; [ joachifm ma27 ];
     license = licenses.gpl2Plus;
     homepage = https://www.gnu.org/software/macchanger;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 0bdc22da918..66185de03a1 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -5,7 +5,7 @@
     version = "18.11.5";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "0000000000000000000000000000000000000000000000000000";
+      sha256 = "1n6nfaj7703l19jcw540lm8avni48hj9q1rq4mfp8b8gd4zjprj0";
     };
   });
 
@@ -46,6 +46,8 @@ in stdenv.mkDerivation rec {
   # binaries will segfault otherwise
   dontStrip = true;
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Open Data Plane optimized for DPDK";
     homepage = https://www.opendataplane.org;
diff --git a/pkgs/os-specific/linux/pktgen/configure.patch b/pkgs/os-specific/linux/pktgen/configure.patch
new file mode 100644
index 00000000000..b4933313a51
--- /dev/null
+++ b/pkgs/os-specific/linux/pktgen/configure.patch
@@ -0,0 +1,17 @@
+1. librte_process_info does not exist.
+2. lua5.3 library is liblua.
+3. app/meson.build uses undeclared drivers_install_subdir.
+--- a/lib/common/meson.build
++++ b/lib/common/meson.build
+@@ -34,1 +34,1 @@
+-libs = ['eal', 'kvargs', 'cmdline', 'process_info']
++libs = ['eal', 'kvargs', 'cmdline']
+--- a/lib/lua/meson.build
++++ b/lib/lua/meson.build
+@@ -31 +31 @@ endforeach
+-ext_deps += cc.find_library('lua5.3', required: true)
++ext_deps += cc.find_library('lua', required: true)
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -0,0 +1,1 @@
++option('drivers_install_subdir', type: 'string', value: '')
diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix
index fd57fa6e37c..171e5d3b43a 100644
--- a/pkgs/os-specific/linux/pktgen/default.nix
+++ b/pkgs/os-specific/linux/pktgen/default.nix
@@ -1,41 +1,40 @@
-{ stdenv, lib, fetchurl, pkgconfig
-, dpdk, libpcap, lua5_3, numactl, utillinux
+{ stdenv, lib, fetchurl, meson, ninja, pkgconfig
+, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux
 , gtk2, which, withGtk ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "pktgen";
-  version = "3.7.2";
+  version = "19.12.0";
 
   src = fetchurl {
     url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/${pname}-${version}.tar.xz";
-    sha256 = "03k7h4j2lsrh6b7477hgn87ljrjh2673ncffx9v261bx1ns54y7w";
+    sha256 = "1clfviz1qa4hysslcg6i29vsxwl9f6j1y7zf9wwx9br3yq08x956";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig ];
 
   buildInputs =
-    [ dpdk libpcap lua5_3 numactl which ]
+    [ dpdk libbsd libpcap lua5_3 numactl which ]
     ++ stdenv.lib.optionals withGtk [gtk2];
 
-  RTE_SDK = "${dpdk}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  RTE_SDK = dpdk;
   GUI = stdenv.lib.optionalString withGtk "true";
 
   NIX_CFLAGS_COMPILE = [ "-msse3" ];
 
-  postPatch = let dpdkMajor = lib.versions.major dpdk.version; in ''
+  patches = [ ./configure.patch ];
+
+  postPatch = ''
     substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
   '';
 
-  installPhase = ''
-    install -d $out/bin
-    install -m 0755 app/${RTE_TARGET}/pktgen $out/bin
-    install -m 0644 Pktgen.lua $out/bin
+  postInstall = ''
+    # meson installs unneeded files with conflicting generic names, such as
+    # include/cli.h and lib/liblua.so.
+    rm -rf $out/include $out/lib
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Traffic generator powered by DPDK";
     homepage = http://dpdk.org/;
diff --git a/pkgs/os-specific/linux/power-calibrate/default.nix b/pkgs/os-specific/linux/power-calibrate/default.nix
index 75c6f1716fc..d62990ed4ff 100644
--- a/pkgs/os-specific/linux/power-calibrate/default.nix
+++ b/pkgs/os-specific/linux/power-calibrate/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "power-calibrate";
-  version = "0.01.28";
+  version = "0.01.29";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1miyjs0vngzfdlsxhn5gndcalzkh28grg4m6faivvp1c6mjp794m";
+    sha256 = "1v8wvhjqglkvk9cl2b48lkcwhbc6nsdi3hjd7sap4hyvd6703pgs";
   };
 
   installFlags = [
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index c2dca669616..eefa03d91cd 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,11 +1,18 @@
-{ stdenv, kernel, wireguard-tools, perl }:
+{ stdenv, fetchzip, kernel, perl, wireguard-tools }:
 
 # module requires Linux >= 3.10 https://www.wireguard.io/install/#kernel-requirements
 assert stdenv.lib.versionAtLeast kernel.version "3.10";
+# wireguard upstreamed since 5.6 https://lists.zx2c4.com/pipermail/wireguard/2019-December/004704.html
+assert stdenv.lib.versionOlder kernel.version "5.6";
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "wireguard";
-  inherit (wireguard-tools) src version;
+  version = "0.0.20191226";
+
+  src = fetchzip {
+    url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz";
+    sha256 = "1q618h385kqnzxa8xswnw9i1yqrlnl3fglkhbzc8w1181qr4fhra";
+  };
 
   preConfigure = ''
     cd src
@@ -27,6 +34,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     inherit (wireguard-tools.meta) homepage license maintainers;
     description = "Kernel module for the WireGuard secure network tunnel";
+    downloadPage = "https://git.zx2c4.com/wireguard-linux-compat/refs/";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 6d2bf10cd91..086256cf093 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -16,7 +16,7 @@ let
     description = "An AMQP message broker and a C++ messaging API";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cpages ma27 ];
+    maintainers = with maintainers; [ cpages ];
   };
 
   qpid-cpp = stdenv.mkDerivation {
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index e13967d7af1..5e4a07bdf25 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.14.8";
+  version = "9.14.9";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5";
+    sha256 = "0g2ph3hlw86yib8hv13qgkb4i84s9zv22r4k6yqlycm2izamwmr9";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index b6a405f6d2d..130a25511d7 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1664wpglrwqk627xma10f9qa652vzmf90gsjd8pribyj74xrczc1";
+    sha256 = "0z7j3vwqqj0hh8n5irb2yqwzl45k4sn2wczbq1b1lqv5cxv6vgcy";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 0a584ce1aca..e5fc3ac5bb9 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "pdns-recursor";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "1hn2nw8v6gccwxwm36xczsac4bhxf8b8r7akri2wdp3gh70p4g7h";
+    sha256 = "07w9av3v9zjnb1fhknmza168yxsq4zr2jqcla7yg10ajrhsk534d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 3d644093a0b..9782b289055 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -12,13 +12,13 @@ buildGoModule rec {
   pname = "gotify-server";
   # Note that when this is updated, along with the hash, the `ui.nix` file
   # should include the same changes to the version and the sha256.
-  version = "2.0.12";
+  version = "2.0.13";
 
   src = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "0pkws83ymmlxcdxadb1w6rmibw84vzhx9xrhxc6b1rjncb80l0kk";
+    sha256 = "11ycs1ci1z8wm4fjgk4454kgszr4s8q9dc96pl77yvlngi4dk46d";
   };
 
   modSha256 = "1awhbc8qs2bwv6y2vwd92r4ys0l1bzymrb36iamr040x961682wv";
diff --git a/pkgs/servers/gotify/ui.nix b/pkgs/servers/gotify/ui.nix
index ecb0367e3f2..2c1bddec68f 100644
--- a/pkgs/servers/gotify/ui.nix
+++ b/pkgs/servers/gotify/ui.nix
@@ -8,13 +8,13 @@ yarn2nix-moretea.mkYarnPackage rec {
   packageJSON = ./package.json;
   yarnNix = ./yarndeps.nix;
 
-  version = "2.0.12";
+  version = "2.0.13";
 
   src_all = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "0pkws83ymmlxcdxadb1w6rmibw84vzhx9xrhxc6b1rjncb80l0kk";
+    sha256 = "11ycs1ci1z8wm4fjgk4454kgszr4s8q9dc96pl77yvlngi4dk46d";
   };
   src = "${src_all}/ui";
 
diff --git a/pkgs/servers/http/hiawatha/default.nix b/pkgs/servers/http/hiawatha/default.nix
index a3bcb64e6c0..4e799774569 100644
--- a/pkgs/servers/http/hiawatha/default.nix
+++ b/pkgs/servers/http/hiawatha/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     description = "An advanced and secure webserver";
     license = licenses.gpl2;
     platforms = platforms.unix;    # "Hiawatha runs perfectly on Linux, BSD and MacOS X"
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
   };
 
 }
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index 8711be4b5c0..71ccbb2c15a 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -9,6 +9,7 @@
 , withRuby_2_4 ? false, ruby_2_4
 , withRuby_2_5 ? false, ruby_2_5
 , withRuby_2_6 ? true, ruby_2_6
+, withRuby_2_7 ? true, ruby_2_7
 , withSSL ? true, openssl ? null
 , withIPv6 ? true
 , withDebug ? false
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
     ++ optional withRuby_2_4 ruby_2_4
     ++ optional withRuby_2_5 ruby_2_5
     ++ optional withRuby_2_6 ruby_2_6
+    ++ optional withRuby_2_7 ruby_2_7
     ++ optional withSSL openssl;
 
   configureFlags = [
@@ -62,6 +64,7 @@ stdenv.mkDerivation rec {
     ${optionalString withRuby_2_4   "./configure ruby   --module=ruby24   --ruby=${ruby_2_4}/bin/ruby"}
     ${optionalString withRuby_2_5   "./configure ruby   --module=ruby25   --ruby=${ruby_2_5}/bin/ruby"}
     ${optionalString withRuby_2_6   "./configure ruby   --module=ruby26   --ruby=${ruby_2_6}/bin/ruby"}
+    ${optionalString withRuby_2_7   "./configure ruby   --module=ruby27   --ruby=${ruby_2_7}/bin/ruby"}
   '';
 
   meta = {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index c270caa5a8e..577915be134 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nhzjmxzv5bvihl58cdpjw3hdghbh2pz7sg437k841mjn1qqq5lx";
+    sha256 = "1vpwf6jqwb66mq31lk5f0wzfsqa2l65rd7b1zqjbhvmz0js8kz5f";
   };
 
   patches = [
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index e27e8bef6e8..5089acc2a0f 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -4,23 +4,19 @@ with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.6.1";
+  version = "0.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lsi6x5yr8f9yjxsh1rmcd6wnxr6s6rpr720lg7sq629m42d9p1d";
+    sha256 = "0xzivcn1s5j2nn9p7li9bzr0h225bnli4fr3yrh8v7npx2ymg1r3";
   };
 
   patches = [
+    # fix tests
     (fetchpatch {
-      url = https://github.com/tulir/mautrix-telegram/commit/be6d395ed66d86ec7f13a262f9ae37731987019c.patch;
-      sha256 = "1q69ip17r45yhyrxr0pj8bvqj2grw2l39wak8pi5pm7qrxra93j2";
-    })
-    # bump dependencies, remove on next bump
-    (fetchpatch {
-      url = "https://github.com/tulir/mautrix-telegram/commit/cdee0df5ab9e04d6831e34590959496061c6621c.patch";
-      sha256 = "0sbfaais0jgg305dcjg9hn8b975ymdivvhmlzsxm1nm2ksa4c0v1";
+      url = "https://github.com/tulir/mautrix-telegram/commit/fe52f0ad106122f08af72e356c4c62bb8875b453.patch";
+      sha256 = "0r7j7q78brqqx0rkchld328k00yq0ykdk7syvwpihqzj3gchacb7";
     })
   ];
 
@@ -33,7 +29,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     Mako
     aiohttp
-    mautrix-appservice
+    mautrix
     sqlalchemy
     CommonMark
     ruamel_yaml
@@ -69,6 +65,7 @@ buildPythonPackage rec {
     homepage = https://github.com/tulir/mautrix-telegram;
     description = "A Matrix-Telegram hybrid puppeting/relaybot bridge";
     license = licenses.agpl3Plus;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nyanloutre ma27 ];
   };
 }
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 5c0fa2886dc..e266ea71ee0 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.33.6";
+  version = "0.33.7.1";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "1q5d323fzfvlc12v1g0mahlcz2sjii3k7cc6qg8q4q8yl0vg5c9k";
+    sha256 = "1rx9v0vcrpsjsclap4x9ic9jwhyd24v1n1v8si18blzn3iyr8c36";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/nagios/default.nix b/pkgs/servers/monitoring/nagios/default.nix
index 693e67ee6dd..042450941d2 100644
--- a/pkgs/servers/monitoring/nagios/default.nix
+++ b/pkgs/servers/monitoring/nagios/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, php, gd, libpng, zlib, unzip }:
+{ stdenv, fetchurl, perl, php, gd, libpng, zlib, unzip, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "nagios";
@@ -20,6 +20,16 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace '$(MAKE) install-basic' ""
   '';
   installTargets = "install install-config";
+  postInstall = ''
+    # don't make default files use hardcoded paths to commands
+    sed -i 's@command_line *[^ ]*/\([^/]*\) @command_line \1 @'  $out/etc/objects/commands.cfg
+    sed -i 's@/usr/bin/@@g' $out/etc/objects/commands.cfg
+    sed -i 's@/bin/@@g' $out/etc/objects/commands.cfg
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) nagios;
+  };
 
   meta = {
     description = "A host, service and network monitoring program";
diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix
index 887256c85af..f72fa16cd12 100644
--- a/pkgs/servers/monitoring/plugins/default.nix
+++ b/pkgs/servers/monitoring/plugins/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, runCommand
 , coreutils, gnugrep, gnused, lm_sensors, net-snmp, openssh, openssl, perl
 , dnsutils, libdbi, libmysqlclient, zlib, openldap, procps
 , runtimeShell }:
@@ -44,6 +44,11 @@ in stdenv.mkDerivation {
     configureFlagsArray=(
       --with-ping-command='/run/wrappers/bin/ping -4 -n -U -w %d -c %d %s'
       --with-ping6-command='/run/wrappers/bin/ping -6 -n -U -w %d -c %d %s'
+      --with-sudo-command='/run/wrappers/bin/sudo'
+      --with-mailq-command='${runCommand "mailq-wrapper" {preferLocalBuild=true;} ''
+        mkdir -p $out/bin
+        ln -s /run/wrappers/bin/sendmail $out/bin/mailq
+        ''}/bin/mailq'
     )
   '';
 
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index 8278674faf1..d73b21b1948 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open Source Webmail Software";
-    maintainers = with stdenv.lib.maintainers; [ vskilet globin ];
+    maintainers = with stdenv.lib.maintainers; [ vskilet globin ma27 ];
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index a55d1cf14cd..aeedf8b30ae 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,5 +1,21 @@
+{ fetchFromGitHub, stdenv, lib, pkgconfig, autoreconfHook
+, ncurses, gnutls, readline
+, openssl, perl, sqlite, libjpeg, speex, pcre
+, ldns, libedit, yasm, which, libsndfile, libtiff
+
+, curl, lua, libmysqlclient, postgresql, libopus, libctb, gsmlib
+
+, SystemConfiguration
+
+, modules ? null
+}:
+
 let
 
+availableModules = import ./modules.nix {
+  inherit curl lua libmysqlclient postgresql libopus libctb gsmlib;
+};
+
 # the default list from v1.8.7, except with applications/mod_signalwire also disabled
 defaultModules = mods: with mods; [
   applications.commands
@@ -27,6 +43,9 @@ defaultModules = mods: with mods; [
   codecs.h26x
   codecs.opus
 
+  databases.mariadb
+  databases.pgsql
+
   dialplans.asterisk
   dialplans.xml
 
@@ -57,26 +76,9 @@ defaultModules = mods: with mods; [
   xml_int.cdr
   xml_int.rpc
   xml_int.scgi
-];
-
-in
+] ++ lib.optionals stdenv.isLinux [ endpoints.gsmopen ];
 
-{ fetchurl, stdenv, lib, ncurses, curl, pkgconfig, gnutls, readline
-, openssl, perl, sqlite, libjpeg, speex, pcre
-, ldns, libedit, yasm, which, lua, libopus, libsndfile, libtiff
-
-, modules ? defaultModules
-, postgresql
-, enablePostgres ? true
-
-, SystemConfiguration
-}:
-
-let
-
-availableModules = import ./modules.nix { inherit curl lua libopus; };
-
-enabledModules = modules availableModules;
+enabledModules = (if modules != null then modules else defaultModules) availableModules;
 
 modulesConf = let
   lst = builtins.map (mod: mod.path) enabledModules;
@@ -86,11 +88,13 @@ modulesConf = let
 in
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.8.7";
-
-  src = fetchurl {
-    url = "https://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2";
-    sha256 = "0k52mxdfc5w9fdnz8kvfjiwnnjjhnpkirnyrfkhq7bad84m731z4";
+  pname = "freeswitch";
+  version = "1.10.2";
+  src = fetchFromGitHub {
+    owner = "signalwire";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fmrm51zgrasjbmhs0pzb1lyca3ddx0wd35shvxnkjnifi8qd1h7";
   };
   postPatch = ''
     patchShebangs     libs/libvpx/build/make/rtcd.pl
@@ -98,23 +102,21 @@ stdenv.mkDerivation rec {
       --replace AS=\''${AS} AS=yasm
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     openssl ncurses gnutls readline perl libjpeg
     sqlite pcre speex ldns libedit yasm which
     libsndfile libtiff
   ]
   ++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules)
-  ++ lib.optionals enablePostgres [ postgresql ]
   ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = lib.optionals enablePostgres [ "--enable-core-pgsql-support" ];
-
   preConfigure = ''
+    ./bootstrap.sh
     cp "${modulesConf}" modules.conf
   '';
 
@@ -127,7 +129,7 @@ stdenv.mkDerivation rec {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
     homepage = https://freeswitch.org/;
     license = stdenv.lib.licenses.mpl11;
-    maintainers = with stdenv.lib.maintainers; [ ];
+    maintainers = with stdenv.lib.maintainers; [ misuzu ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/servers/sip/freeswitch/modules.nix b/pkgs/servers/sip/freeswitch/modules.nix
index aed30e467e8..be80fe56dda 100644
--- a/pkgs/servers/sip/freeswitch/modules.nix
+++ b/pkgs/servers/sip/freeswitch/modules.nix
@@ -1,6 +1,10 @@
 { libopus
+, libctb
+, gsmlib
 , lua
 , curl
+, libmysqlclient
+, postgresql
 }:
 
 let
@@ -101,6 +105,11 @@ in
     theora = mk "codecs/mod_theora" [];
   };
 
+  databases = {
+    mariadb = mk "databases/mod_mariadb" [ libmysqlclient ];
+    pgsql = mk "databases/mod_pgsql" [ postgresql ];
+  };
+
   dialplans = {
     asterisk = mk "dialplans/mod_dialplan_asterisk" [];
     directory = mk "dialplans/mod_dialplan_directory" [];
@@ -114,7 +123,7 @@ in
   endpoints = {
     alsa = mk "endpoints/mod_alsa" [];
     dingaling = mk "endpoints/mod_dingaling" [];
-    gsmopen = mk "endpoints/mod_gsmopen" [];
+    gsmopen = mk "endpoints/mod_gsmopen" [ gsmlib libctb ];
     h323 = mk "endpoints/mod_h323" [];
     khomp = mk "endpoints/mod_khomp" [];
     loopback = mk "endpoints/mod_loopback" [];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index c334365d8b5..1e891092f7c 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -4,7 +4,7 @@
   freetype, tradcpp, fontconfig, meson, ninja, ed,
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
   mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
-  mcpp, epoxy, openssl, pkgconfig, llvm_6,
+  mcpp, epoxy, openssl, pkgconfig, llvm_6, python3,
   ApplicationServices, Carbon, Cocoa, Xplugin
 }:
 
@@ -72,7 +72,9 @@ self: super:
 
   mkfontdir = self.mkfontscale;
 
-  libxcb = super.libxcb.overrideAttrs (attrs: {
+  libxcb = (super.libxcb.override {
+    python = python3;
+  }).overrideAttrs (attrs: {
     configureFlags = [ "--enable-xkb" "--enable-xinput" ];
     outputs = [ "out" "dev" "man" "doc" ];
   });
@@ -308,6 +310,10 @@ self: super:
     buildInputs = attrs.buildInputs ++ [ freetype fontconfig ];
   });
 
+  xcbproto = super.xcbproto.override {
+    python = python3;
+  };
+
   xcbutil = super.xcbutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
   });
diff --git a/pkgs/shells/ion/default.nix b/pkgs/shells/ion/default.nix
index 2bd37659387..2010f34ef7e 100644
--- a/pkgs/shells/ion/default.nix
+++ b/pkgs/shells/ion/default.nix
@@ -23,4 +23,8 @@ buildRustPackage rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin;
   };
+
+  passthru = {
+	  shellPath = "/bin/ion";
+  };
 }
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 05fef442c31..430648cc16d 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "09kcyvhnhf5qsaivgrw58l9jh48rx40i9lkf10cpmk7jvqxgqyks";
+    rev = "f9da7f7d58da3ead2aaba6a519c554d1b199c158"; # 0.7.1 on crates.io
+    sha256 = "0k662wq2m3xfnzkkrsiv5h2m9y3l44fr3gab933ggrdgj2xydqnh";
   };
 
   cargoSha256 = "0bdxlbl33kilp9ai40dvdzlx9vcl8r21br82r5ljs2pg521jd66p";
@@ -43,6 +43,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://www.nushell.sh/";
     license = licenses.mit;
     maintainers = with maintainers; [ filalex77 marsam ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
   };
 
   passthru = {
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index 6ec2319a49d..faab933ae25 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -44,4 +44,8 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit ];
   };
 
+  passthru = { 
+    shellPath = "/bin/pwsh"; 
+  };
+
 }
diff --git a/pkgs/shells/zsh/gradle-completion/default.nix b/pkgs/shells/zsh/gradle-completion/default.nix
index ed46a21325c..d13fd8aee00 100644
--- a/pkgs/shells/zsh/gradle-completion/default.nix
+++ b/pkgs/shells/zsh/gradle-completion/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "Gradle tab completion for bash and zsh";
     homepage = https://github.com/gradle/gradle-completion;
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 3b1faeef97e..ac4594be05a 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-12-22";
+  version = "2020-01-01";
   pname = "oh-my-zsh";
-  rev = "38929084f98684b9267d7f0cfe3e7f9aa5f861d2";
+  rev = "ca627655dbd1d110dbea34ec4a8c1964a1da83d2";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/ohmyzsh/ohmyzsh";
-    sha256 = "0iwyfl8gk3hzd5hpryr0sk96n9p5m3riqdnaclmpasa0dyynd2ya";
+    sha256 = "1hr7qaad8mr8bvx54ql5q97da6fhppdgk087mc5flygky6vf4yp6";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/stdenv/booter.nix b/pkgs/stdenv/booter.nix
index 1df05099fbf..51d617354e8 100644
--- a/pkgs/stdenv/booter.nix
+++ b/pkgs/stdenv/booter.nix
@@ -121,9 +121,16 @@ stageFuns: let
   postStage = buildPackages: {
     __raw = true;
     stdenv.cc =
-      if buildPackages.stdenv.cc.isClang or false
-      then buildPackages.clang
-      else buildPackages.gcc;
+      if buildPackages.stdenv.hasCC
+      then
+        if buildPackages.stdenv.cc.isClang or false
+        then buildPackages.clang
+        else buildPackages.gcc
+      else
+        # This will blow up if anything uses it, but that's OK. The `if
+        # buildPackages.stdenv.cc.isClang then ... else ...` would blow up
+        # everything, so we make sure to avoid that.
+        buildPackages.stdenv.cc;
   };
 
 in dfold folder postStage (_: {}) withAllowCustomOverrides
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 4e5c4cc2e83..cc49af7de3b 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -51,12 +51,18 @@ in lib.init bootStages ++ [
       extraBuildInputs = [ ]; # Old ones run on wrong platform
       allowedRequisites = null;
 
+      hasCC = !targetPlatform.isGhcjs;
+
       cc = if crossSystem.useiOSPrebuilt or false
              then buildPackages.darwin.iosSdkPkgs.clang
            else if crossSystem.useAndroidPrebuilt or false
              then buildPackages."androidndkPkgs_${crossSystem.ndkVer}".clang
            else if targetPlatform.isGhcjs
-             then null
+             # Need to use `throw` so tryEval for splicing works, ugh.  Using
+             # `null` or skipping the attribute would cause an eval failure
+             # `tryEval` wouldn't catch, wrecking accessing previous stages
+             # when there is a C compiler and everything should be fine.
+             then throw "no C compiler provided for this platform"
            else if crossSystem.useLLVM or false
              then buildPackages.llvmPackages_8.lldClang
            else buildPackages.gcc;
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 2f43db9cfc2..befeb450997 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,6 +1,15 @@
 let lib = import ../../../lib; in lib.makeOverridable (
 
-{ name ? "stdenv", preHook ? "", initialPath, cc, shell
+{ name ? "stdenv", preHook ? "", initialPath
+
+, # If we don't have a C compiler, we might either have `cc = null` or `cc =
+  # throw ...`, but if we do have a C compiler we should definiely have `cc !=
+  # null`.
+  #
+  # TODO(@Ericson2314): Add assert without creating infinite recursion
+  hasCC ? cc != null, cc
+
+, shell
 , allowedRequisites ? null, extraAttrs ? {}, overrides ? (self: super: {}), config
 
 , # The `fetchurl' to use for downloading curl and its dependencies
@@ -57,7 +66,8 @@ let
       ../../build-support/setup-hooks/move-sbin.sh
       ../../build-support/setup-hooks/move-lib64.sh
       ../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh
-      cc
+      # TODO use lib.optional instead
+      (if hasCC then cc else null)
     ];
 
   defaultBuildInputs = extraBuildInputs;
@@ -145,7 +155,7 @@ let
 
       inherit overrides;
 
-      inherit cc;
+      inherit cc hasCC;
     }
 
     # Propagate any extra attributes.  For instance, we use this to
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
index 30d7f69aeb5..8349953f4ff 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.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "xsecurelock";
     rev = "v${version}";
-    sha256 = "1if8byaby18ydkrk4k5yy8n0981x1dfqikq59gfpb7c2rv0vgi7i";
+    sha256 = "0zdwszscdw0p7kwpqqv1dywn00bq1wak2x602lb6hdmkffspi8bg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch b/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
index 81c1dd0e6a3..62351a70160 100644
--- a/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
+++ b/pkgs/tools/admin/certbot/0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
@@ -1,6 +1,6 @@
-From 411b8a413baf39e9b967949b17a992e81a11abfe Mon Sep 17 00:00:00 2001
+From 0de195de31dc311976af52a7c2b547bc23af2691 Mon Sep 17 00:00:00 2001
 From: Frederik Rietdijk <fridh@fridh.nl>
-Date: Tue, 29 Oct 2019 14:08:07 +0100
+Date: Sat, 14 Dec 2019 19:27:14 +0100
 Subject: [PATCH] Don't use distutils.StrictVersion that cannot handle certain
  versions
 
@@ -18,13 +18,13 @@ line 137, in parse
 ValueError: invalid version number '41.4.0.post20191022'
 ```
 ---
- setup.py | 15 +--------------
+ certbot/setup.py | 15 +--------------
  1 file changed, 1 insertion(+), 14 deletions(-)
 
-diff --git a/setup.py b/setup.py
-index 1f4838c90..831528d77 100644
---- a/setup.py
-+++ b/setup.py
+diff --git a/certbot/setup.py b/certbot/setup.py
+index c1bf914..7456bf2 100644
+--- a/certbot/setup.py
++++ b/certbot/setup.py
 @@ -3,7 +3,6 @@ import os
  import re
  import sys
@@ -40,7 +40,7 @@ index 1f4838c90..831528d77 100644
 -# However environment markers are supported only with setuptools >= 36.2.
 -# So this dependency is not added for old Linux distributions with old setuptools,
 -# in order to allow these systems to build certbot from sources.
- pywin32_req = 'pywin32>=224'
+ pywin32_req = 'pywin32>=227'  # do not forget to edit pywin32 dependency accordingly in windows-installer/construct.py
 -if StrictVersion(setuptools_version) >= StrictVersion('36.2'):
 -    install_requires.append(pywin32_req + " ; sys_platform == 'win32'")
 -elif 'bdist_wheel' in sys.argv[1:]:
@@ -56,5 +56,5 @@ index 1f4838c90..831528d77 100644
  dev_extras = [
      'astroid==1.6.5',
 -- 
-2.23.0
+2.24.1
 
diff --git a/pkgs/tools/admin/certbot/0001-pebble_artifacts-hardcode-pebble-location.patch b/pkgs/tools/admin/certbot/0001-pebble_artifacts-hardcode-pebble-location.patch
deleted file mode 100644
index 33f0cd216c1..00000000000
--- a/pkgs/tools/admin/certbot/0001-pebble_artifacts-hardcode-pebble-location.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8ddf2697508eca514a0dde4646ad14ac3ba34b2a Mon Sep 17 00:00:00 2001
-From: Florian Klink <flokli@flokli.de>
-Date: Fri, 18 Oct 2019 16:06:50 +0200
-Subject: [PATCH] pebble_artifacts: hardcode pebble location
-
----
- certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py b/certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py
-index 2b1557928..d2603c51a 100644
---- a/certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py
-+++ b/certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py
-@@ -22,6 +22,7 @@ def fetch(workspace):
- 
- 
- def _fetch_asset(asset, suffix):
-+    return "@pebble@"
-     asset_path = os.path.join(ASSETS_PATH, '{0}_{1}_{2}'.format(asset, PEBBLE_VERSION, suffix))
-     if not os.path.exists(asset_path):
-         asset_url = ('https://github.com/letsencrypt/pebble/releases/download/{0}/{1}_{2}'
--- 
-2.23.0
-
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 7d3d019e81f..8fdbfd12778 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, python37Packages, fetchFromGitHub, fetchurl, dialog, autoPatchelfHook, nginx, pebble }:
+{ stdenv, python37Packages, fetchFromGitHub, fetchurl, dialog, autoPatchelfHook }:
 
 
 python37Packages.buildPythonApplication rec {
   pname = "certbot";
-  version = "0.39.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1s32xg2ljz7ci78wc8rqkjvgrz7vprb7fkznrlf9a4blm55pp54c";
+    sha256 = "180x7gcpfbrzw8k654s7b5nxdy2yg61lq513dykyn3wz4gssw465";
   };
 
   patches = [
-    ./0001-pebble_artifacts-hardcode-pebble-location.patch
     ./0001-Don-t-use-distutils.StrictVersion-that-cannot-handle.patch
   ];
 
@@ -43,9 +42,8 @@ python37Packages.buildPythonApplication rec {
   ];
 
   postPatch = ''
-    substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
-    substituteInPlace certbot/util.py --replace "sw_vers" "/usr/bin/sw_vers"
-    substituteInPlace certbot-ci/certbot_integration_tests/utils/pebble_artifacts.py --replace "@pebble@" "${pebble}/bin/pebble"
+    cd certbot
+    substituteInPlace certbot/_internal/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
   '';
 
   postInstall = ''
@@ -55,15 +53,7 @@ python37Packages.buildPythonApplication rec {
     done
   '';
 
-  # tests currently time out, because they're trying to do network access
-  # Upstream issue: https://github.com/certbot/certbot/issues/7450
-  doCheck = false;
-
-  checkPhase = ''
-    PATH="$out/bin:${nginx}/bin:$PATH" pytest certbot-ci/certbot_integration_tests
-  '';
-
-  dontUseSetuptoolsCheck = true;
+  doCheck = true;
 
   meta = with stdenv.lib; {
     homepage = src.meta.homepage;
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index 37f627a18f5..eaefba36545 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "simp_le-client";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "17azqlb1xsnh9p0m75apb19j7pramgj00cf5k6fwzz2zqz0x0hpp";
+    sha256 = "0m1jynar4calaffp2zdxr5yy9vnhw2qf2hsfxwzfwf8fqb5h7bjb";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 78fa4359c91..1c2243d04f1 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -11,14 +11,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.10.0";
+  version = "1.10.1";
   pname = "tigervnc";
 
   src = fetchFromGitHub {
     owner = "TigerVNC";
     repo = "tigervnc";
-    rev = "v1.10.0";
-    sha256 = "0l0x7cq65wv9n93r952qsikwzcls1sq3r32mx0c4wg19dha0x1m4";
+    rev = "v1.10.1";
+    sha256 = "001n189d2f3psn7nxgl8188ml6f7jbk26cxn2835y3mnlk5lmhgr";
   };
 
   inherit fontDirectories;
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index a03c9610e35..0dfd234bc75 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = https://www.gnu.org/software/sharutils/;
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = [];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/filesystems/fatresize/default.nix b/pkgs/tools/filesystems/fatresize/default.nix
index a00104510bf..5a60f8c055e 100644
--- a/pkgs/tools/filesystems/fatresize/default.nix
+++ b/pkgs/tools/filesystems/fatresize/default.nix
@@ -25,9 +25,7 @@ stdenv.mkDerivation rec {
 
   # Filesystem resize functions were reintroduced in parted 3.1 due to no other available free alternatives
   # but in a sepparate library -> libparted-fs-resize --- that's why the added LDFLAG
-  makeFlags = ''
-    LDFLAGS=-lparted-fs-resize
-  '';
+  makeFlags = [ "LDFLAGS=-lparted-fs-resize" ];
 
   propagatedBuildInputs = [ parted utillinux ];
 
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 0461c732e1a..3b355c92226 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -9,13 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd";
   };
 
-  nativeBuildInputs = [ autoreconfHook cmocka pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ] ++ stdenv.lib.optional doCheck cmocka;
   buildInputs = [ acl libuuid lzo zlib zstd ];
 
-  configureFlags = [ "--enable-unit-tests" "--enable-tests" ];
+  configureFlags = [
+    (stdenv.lib.enableFeature doCheck "unit-tests")
+    (stdenv.lib.enableFeature doCheck "tests")
+  ];
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   meta = {
     description = "Tools for MTD filesystems";
diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
index 636cb518fd2..60de9e6910e 100644
--- a/pkgs/tools/inputmethods/fcitx/unwrapped.nix
+++ b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
@@ -75,20 +75,20 @@ stdenv.mkDerivation rec {
     libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 libuuid
   ];
 
-  cmakeFlags = ''
-    -DENABLE_QT_IM_MODULE=ON
-    -DENABLE_GTK2_IM_MODULE=ON
-    -DENABLE_GTK3_IM_MODULE=ON
-    -DENABLE_GIR=OFF
-    -DENABLE_OPENCC=OFF
-    -DENABLE_PRESAGE=OFF
-    -DENABLE_XDGAUTOSTART=OFF
-    -DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}
-    -DENABLE_TABLE=ON
-    -DENABLE_SPELL=ON
-    -DENABLE_QT_GUI=ON
-    -DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'
-    '';
+  cmakeFlags = [
+    "-DENABLE_QT_IM_MODULE=ON"
+    "-DENABLE_GTK2_IM_MODULE=ON"
+    "-DENABLE_GTK3_IM_MODULE=ON"
+    "-DENABLE_GIR=OFF"
+    "-DENABLE_OPENCC=OFF"
+    "-DENABLE_PRESAGE=OFF"
+    "-DENABLE_XDGAUTOSTART=OFF"
+    "-DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}"
+    "-DENABLE_TABLE=ON"
+    "-DENABLE_SPELL=ON"
+    "-DENABLE_QT_GUI=ON"
+    "-DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'"
+  ];
 
   meta = with stdenv.lib; {
     homepage    = https://github.com/fcitx/fcitx;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 6656739e622..f1ca4226b47 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = https://mike-fabian.github.io/ibus-typing-booster/;
     license = licenses.gpl3Plus;
     description = "A typing booster engine for the IBus platform";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     isIbusEngine = true;
   };
 }
diff --git a/pkgs/tools/misc/3llo/default.nix b/pkgs/tools/misc/3llo/default.nix
index 1f59d1f16a7..82a8d2aaad1 100644
--- a/pkgs/tools/misc/3llo/default.nix
+++ b/pkgs/tools/misc/3llo/default.nix
@@ -26,6 +26,6 @@ bundlerApp {
     description = "Trello interactive CLI on terminal";
     license = licenses.mit;
     homepage = https://github.com/qcam/3llo;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/cpulimit/default.nix b/pkgs/tools/misc/cpulimit/default.nix
index 547e2a1f059..1978476a12d 100644
--- a/pkgs/tools/misc/cpulimit/default.nix
+++ b/pkgs/tools/misc/cpulimit/default.nix
@@ -9,12 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "0xf0r6zxaqan1drz61nqf95p2pkiiihpvrjhrr9dx9j3vswyx31g";
   };
 
-  buildFlags = with stdenv;
+  buildFlags = with stdenv; [ (
     if isDarwin then "osx"
     else if isFreeBSD then "freebsd"
-    else "cpulimit";
+    else "cpulimit"
+  ) ];
 
-  installFlags = "PREFIX=$(out)";
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = http://limitcpu.sourceforge.net/;
diff --git a/pkgs/tools/misc/ent/default.nix b/pkgs/tools/misc/ent/default.nix
index 1c0401e2ead..7e8d04b4209 100644
--- a/pkgs/tools/misc/ent/default.nix
+++ b/pkgs/tools/misc/ent/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ unzip ];
 
-  buildFlags = if stdenv.cc.isClang then [ "CC=clang" ] else null;
+  buildFlags = stdenv.lib.optional stdenv.cc.isClang "CC=clang";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index d0c389f31f9..bb10bfe2ec7 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.57";
+  version = "0.2.58";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "04y3mnh77g8mvcikp3m0a20vz180fzv847z8xjnz97ynhrbp3q94";
+    sha256 = "0yqigqh5vldzmp7wc1mxi5a4bxzm81xycx5h0ghak74vbjibps49";
   };
 
-  cargoSha256 = "19w1lwvp54fjl1ll5pay5grfgj4zs2idqiqppxhksf61az6knql9";
+  cargoSha256 = "1wwdnm6a5g4gpd1f89qii8v4f6mcfc1bif1v6mdlcbrpwax5skh4";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 19df7be9ab0..9de5ca0df78 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -60,7 +60,7 @@ buildGoModule rec {
     homepage = "https://github.com/junegunn/fzf";
     description = "A command-line fuzzy finder written in Go";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ filalex77 ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/lnav/default.nix b/pkgs/tools/misc/lnav/default.nix
index da7db422377..90560d32157 100644
--- a/pkgs/tools/misc/lnav/default.nix
+++ b/pkgs/tools/misc/lnav/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     downloadPage = "https://github.com/tstack/lnav/releases";
     license = licenses.bsd2;
     version = "0.8.5";
-    maintainers = [ maintainers.dochang ];
+    maintainers = with maintainers; [ dochang ma27 ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix
index 914578c47ec..8be6cf5a8a3 100644
--- a/pkgs/tools/misc/lorri/default.nix
+++ b/pkgs/tools/misc/lorri/default.nix
@@ -10,7 +10,6 @@
   # Apple dependencies
 , CoreServices
 , Security
-, cf-private
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -40,7 +39,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = with pkgs; [ nix direnv which ];
   buildInputs =
-    stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security cf-private ];
+    stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   passthru = {
     updater = with builtins; writeScript "copy-runtime-nix.sh" ''
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 1c094c291d8..ab3c4b5a6c4 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -27,6 +27,6 @@ in mkDerivation rec {
     description = "KDE Partition Manager";
     license = licenses.gpl2;
     homepage = https://www.kde.org/applications/system/kdepartitionmanager/;
-    maintainers = with maintainers; [ peterhoeg ma27 ];
+    maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/pkgs/tools/misc/reredirect/default.nix b/pkgs/tools/misc/reredirect/default.nix
new file mode 100644
index 00000000000..15045d4bd8a
--- /dev/null
+++ b/pkgs/tools/misc/reredirect/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "reredirect";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "jerome-pouiller";
+    repo = "reredirect";
+    rev = "v${version}";
+    sha256 = "0aqzs940kwvw80lhkszx8spcdh9ilsx5ncl9vnp611hwlryfw7kk";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  postFixup = ''
+    substituteInPlace ${placeholder "out"}/bin/relink \
+      --replace "reredirect" "${placeholder "out"}/bin/reredirect"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool to dynamicly redirect outputs of a running process";
+    homepage = "https://github.com/jerome-pouiller/reredirect";
+    license = licenses.mit;
+    maintainers = [ maintainers.tobim ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
+
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 5a708c04db3..4683f10092f 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.32.1";
+  version = "0.32.2";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "047nvi231hzwjfci13x8lhszmaccb94mn5lvnyq24zb0im8br6d3";
+    sha256 = "1yn2xr7142xnrsglrabxzgv16hp16i5d2dybazpzxflfnn52c0am";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
       --replace "/bin/echo" "echo"
   '';
 
-  cargoSha256 = "0r1kbv6f5v95wnshxj1wkqvp1adyrivzlr606c6blhl9z9j7m3d7";
+  cargoSha256 = "0i3jrk7qyyzhk4855z0vsdf64n14xqqg9by0dr62jz83hdx89x1w";
   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 3adf37c2218..db25ec9d366 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
+    sha256 = "1pr8bwwxp8zvn89ldsb0qy5asx59kpd7dsp7sjmgnbj2ddizl05n";
   };
 
-  cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
+  cargoSha256 = "1f5s8nxl450vpfhvshiwvm49q6ph79vb40qqiz0a2i6jdrzhphq3";
 
   meta = with stdenv.lib; {
     description = "Upgrade all the things";
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index fd818ca6f9b..ac8feaef275 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -26,6 +26,12 @@ python3Packages.buildPythonApplication rec {
       url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
       sha256 = "0w49rjh433sjfc2cl5a9wlbr6kcn9f1qg905qsyv7ay3ar75wvyp";
     })
+
+    # Fix listing trashed files over mount points, see https://github.com/andreafrancia/trash-cli/issues/95
+    (fetchpatch {
+      url = "https://github.com/andreafrancia/trash-cli/commit/436dfddb4c2932ba3ff696e4732750b7bdc58461.patch";
+      sha256 = "02pkcz7nj67jbnqpw1943nrv95m8xyjvab4j62fa64r73fagm8m4";
+    })
   ];
 
   checkInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix
index bfb97c22b1d..f82917239e6 100644
--- a/pkgs/tools/misc/ttfautohint/default.nix
+++ b/pkgs/tools/misc/ttfautohint/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.freetype.org/ttfautohint;
     license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
-    maintainers = with maintainers; [ goibhniu ndowens ];
+    maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/tools/misc/txr/default.nix b/pkgs/tools/misc/txr/default.nix
index c47fe77fb76..0f68ca82ece 100644
--- a/pkgs/tools/misc/txr/default.nix
+++ b/pkgs/tools/misc/txr/default.nix
@@ -2,16 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "txr";
-  version = "225";
+  version = "230";
 
   src = fetchurl {
     url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
-    sha256 = "07vh0rmvjr2sir15l3ppp2pnp2d849dg17rzykkzqyk3d5rwfxyj";
+    sha256 = "03ab9drdqvkfq240pkrx6197jjvvjizjwfx9psjmm6lixksw0kjx";
   };
 
   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/uutils-coreutils/default.nix b/pkgs/tools/misc/uutils-coreutils/default.nix
index a32ce090ecd..5aa9f8c34a4 100644
--- a/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-" }:
+{ stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-"
+, Security
+}:
 
 rustPlatform.buildRustPackage {
   name = "uutils-coreutils-2019-05-03";
@@ -19,20 +21,20 @@ rustPlatform.buildRustPackage {
     ++ lib.optional (prefix != null) [ "PROG_PREFIX=${prefix}" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ cargo sphinx ];
+  buildInputs = [ cargo sphinx ] ++ lib.optional stdenv.isDarwin Security;
 
   # empty {build,install}Phase to use defaults of `stdenv.mkDerivation` rather than rust defaults
   buildPhase = "";
   installPhase = "";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Cross-platform Rust rewrite of the GNU coreutils";
     longDescription = ''
       uutils is an attempt at writing universal (as in cross-platform)
       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
     '';
     homepage = https://github.com/uutils/coreutils;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 2c9d2be0761..415ec83be2f 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -65,6 +65,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ma27 ];
   };
 }
diff --git a/pkgs/tools/networking/acme-client/default.nix b/pkgs/tools/networking/acme-client/default.nix
index bf1c96b66b2..06c2898248d 100644
--- a/pkgs/tools/networking/acme-client/default.nix
+++ b/pkgs/tools/networking/acme-client/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "acme-client";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "graywolf";
     repo = "acme-client-portable";
     rev = "v${version}";
-    sha256 = "1yq2lkrnjwjs0h9mijqysnjmr7kp4zcq1f4cxr9n1db7pw8446xb";
+    sha256 = "1d9yk87nj5gizkq26m4wqfh4xhlrn5xlfj7mfgvrpsdiwibqxrrw";
   };
 
   nativeBuildInputs = [ autoreconfHook bison pkgconfig ];
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
index c53cce49a38..a31bc57904d 100644
--- a/pkgs/tools/networking/airfield/default.nix
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -64,7 +64,7 @@ in stdenv.mkDerivation {
     description = "A web-interface for hipache-proxy";
     license = licenses.mit;
     homepage = https://github.com/emblica/airfield;
-    maintainers = with maintainers; [ offline ma27 ];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix
new file mode 100644
index 00000000000..21253745cb0
--- /dev/null
+++ b/pkgs/tools/networking/bandwhich/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bandwhich";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "imsnif";
+    repo = pname;
+    rev = version;
+    sha256 = "0jjqc8sysvw63mwy68z9p16vc1pygrm1wxyll6piwvbbnirpys1y";
+  };
+
+  cargoSha256 = "1rixpljqddwhryddzni5l6m4sjyn1krrj0ig0rzc701am7srhg3a";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
+
+  meta = with stdenv.lib; {
+    description = "A CLI utility for displaying current network utilization";
+    longDescription = ''
+      bandwhich sniffs a given network interface and records IP packet size, cross
+      referencing it with the /proc filesystem on linux or lsof on MacOS. It is
+      responsive to the terminal window size, displaying less info if there is
+      no room for it. It will also attempt to resolve ips to their host name in
+      the background using reverse DNS on a best effort basis.
+    '';
+    homepage = "https://github.com/imsnif/bandwhich";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
new file mode 100644
index 00000000000..f3d0a584593
--- /dev/null
+++ b/pkgs/tools/networking/clash/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "clash";
+  version = "0.17.1";
+
+  src = fetchFromGitHub {
+    owner = "Dreamacro";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zhbaw9jzl9wqc7yx8yxqlb6fwkss4pqkv26069qg6nsk584ndnf";
+  };
+
+  goPackagePath = "github.com/Dreamacro/clash";
+  modSha256 = "0vyd61bin7hmpdqrmrikc776mgif9v25627n8hzi65kiycv40kgx";
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-X ${goPackagePath}/constant.Version=${version}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A rule-based tunnel in Go";
+    homepage = "https://github.com/Dreamacro/clash";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ contrun filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index d63c63ab1d2..c45d017e3f5 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, udev, runtimeShellPackage, runtimeShell }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, udev, runtimeShellPackage,
+runtimeShell }:
 
 stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
   pname = "dhcpcd";
-  version = "8.1.2";
+  version = "8.1.4";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1b9mihp1mf2vng92fgks764a6pwf2gx7ccw6knja79c42nmyglyb";
+    sha256 = "0gf1qif25wy5lffzw39pi4sshmpxz1f4a1m9sglj7am1gaix3817";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -21,6 +22,13 @@ stdenv.mkDerivation rec {
     substituteInPlace hooks/dhcpcd-run-hooks.in --replace /bin/sh ${runtimeShell}
   '';
 
+  patches = [
+    (fetchpatch {
+      url = "https://roy.marples.name/cgit/dhcpcd.git/patch/?id=114870290a8d3d696bc4049c32eef3eed03d6070";
+      sha256 = "0kzpwjh2gzvl5lvlnw6lis610p67nassk3apns68ga2pyxlky8qb";
+    })
+  ];
+
   preConfigure = "patchShebangs ./configure";
 
   configureFlags = [
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index dc0a4457dde..ebe6a60291a 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -11,14 +11,13 @@ let
         inherit sha256;
       };
 
-      nativeBuildInputs = [] ++
-        stdenv.lib.optionals stdenv.isDarwin [ which cctools ];
+      nativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ which cctools ];
 
       patches = stdenv.lib.optional stdenv.isFreeBSD ./freebsd.patch;
 
       doCheck = !stdenv.isFreeBSD;
 
-      makeFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
+      makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
 
       meta = with stdenv.lib; {
         homepage = http://miniupnp.free.fr/;
diff --git a/pkgs/tools/networking/ocserv/default.nix b/pkgs/tools/networking/ocserv/default.nix
index 55d3b6ff81c..c0535794cc6 100644
--- a/pkgs/tools/networking/ocserv/default.nix
+++ b/pkgs/tools/networking/ocserv/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://gitlab.com/openconnect/ocserv;
     license = licenses.gpl2;
     description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client.";
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index f0e0bb805de..983ba018473 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -2,14 +2,14 @@
   asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
 
 python2Packages.buildPythonApplication rec {
-  version = "7.3.0";
+  version = "7.3.2";
   pname = "offlineimap";
 
   src = fetchFromGitHub {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "0v32s09zgi3jg2grwh1xzzgzpw333b9qflai7zh2hv3fx9xnfbyj";
+    sha256 = "0rmj1ws6hljqnfap3p3js5s46kx85yc02hjkiki5zg44wn3hswjg";
   };
 
   postPatch = ''
@@ -35,6 +35,6 @@ python2Packages.buildPythonApplication rec {
     description = "Synchronize emails between two repositories, so that you can read the same mailbox from multiple computers";
     homepage = http://offlineimap.org;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ endocrimes ma27 ];
+    maintainers = with stdenv.lib.maintainers; [ endocrimes ];
   };
 }
diff --git a/pkgs/tools/networking/shorewall/default.nix b/pkgs/tools/networking/shorewall/default.nix
new file mode 100644
index 00000000000..8e62aa735a4
--- /dev/null
+++ b/pkgs/tools/networking/shorewall/default.nix
@@ -0,0 +1,130 @@
+{ coreutils
+, ebtables
+, fetchurl
+, gnugrep
+, gnused
+, iproute
+, ipset
+, iptables
+, perl
+, perlPackages
+, stdenv
+, tree
+, utillinux
+}:
+let
+  PATH = stdenv.lib.concatStringsSep ":"
+           [ "${coreutils}/bin"
+             "${iproute}/bin"
+             "${iptables}/bin"
+             "${ipset}/bin"
+             "${ebtables}/bin"
+             "${utillinux}/bin"
+             "${gnugrep}/bin"
+             "${gnused}/bin"
+           ];
+in
+stdenv.mkDerivation rec {
+  pname = "shorewall";
+  version = "5.2.3.3";
+
+  srcs = [
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall-core-${version}.tar.bz2";
+      sha256 = "1gg2yfxzm3y9qqjrrg5nq2ggi1c6yfxx0s7fvwjw70b185mwa5p5";
+    })
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall-${version}.tar.bz2";
+      sha256 = "1ka70pa3s0cnvc83rlm57r05cdv9idnxnq0vmxi6nr7razak5f3b";
+    })
+    (fetchurl {
+      url = "http://www.shorewall.net/pub/shorewall/5.2/shorewall-5.2.3/shorewall6-${version}.tar.bz2";
+      sha256 = "0mhs4m6agwk082h1n69gnyfsjpycdd8215r4r9rzb3czs5xi087n";
+    })
+  ];
+  sourceRoot = ".";
+
+  buildInputs = [
+    coreutils
+    iproute
+    ipset
+    iptables
+    ebtables
+    utillinux
+    gnugrep
+    gnused
+    perl
+  ] ++ (with perlPackages; [
+    DigestSHA1
+  ]);
+  prePatch = ''
+    # Patch configure and install.sh files
+    patchShebangs .
+
+    # Remove hardcoded PATH
+    sed -i shorewall-core-${version}/lib.cli \
+        -e '/^ *PATH=.*/d'
+  '';
+  configurePhase = ''
+    shorewall-core-${version}/configure \
+      HOST=linux \
+      PREFIX=$out \
+      CONFDIR=\$PREFIX/etc-example \
+      SBINDIR=\$PREFIX/sbin \
+      SYSCONFDIR= \
+      SHAREDIR=\$PREFIX/share \
+      LIBEXECDIR=\$SHAREDIR \
+      PERLLIBDIR=\$SHAREDIR/shorewall \
+      MANDIR=$out/man \
+      VARLIB=/var/lib \
+      INITSOURCE= \
+      INITDIR= \
+      INITFILE= \
+      DEFAULT_PAGER=
+  '';
+  installPhase = ''
+    export DESTDIR=/
+    shorewall-core-${version}/install.sh
+
+    ln -s ../shorewall-core-${version}/shorewallrc shorewall-${version}/
+    shorewall-${version}/install.sh
+
+    ln -s ../shorewall-core-${version}/shorewallrc shorewall6-${version}/
+    shorewall6-${version}/install.sh
+
+    # Patch the example shorewall{,6}.conf in case it is included
+    # in services.shorewall{,6}.configs
+    sed -i $out/etc-example/shorewall/shorewall.conf \
+           $out/etc-example/shorewall6/shorewall6.conf \
+        -e 's|^LOGFILE=.*|LOGFILE=/var/log/shorewall.log|' \
+        -e 's|^PATH=.*|PATH=${PATH}|' \
+        -e 's|^PERL=.*|PERL=${perl}/bin/perl|' \
+        -e 's|^SHOREWALL_SHELL=.*|SHOREWALL_SHELL=${stdenv.shell}|'
+    sed -i $out/etc-example/shorewall6/shorewall6.conf \
+        -e 's|^CONFIG_PATH=.*|CONFIG_PATH=:''${CONFDIR}/shorewall6:''${SHAREDIR}/shorewall6:''${SHAREDIR}/shorewall|'
+    # FIXME: the default GEOIPDIR=/usr/share/xt_geoip/LE may require attention.
+
+    # Redirect CONFDIR to /etc where services.shorewall{,6}.configs
+    # will generate the config files.
+    sed -i $out/share/shorewall/shorewallrc \
+        -e 's~^CONFDIR=.*~CONFDIR=/etc~'
+  '';
+
+  meta = {
+    homepage = http://www.shorewall.net/;
+    description = "An IP gateway/firewall configuration tool for GNU/Linux";
+    longDescription = ''
+      Shorewall is a high-level tool for configuring Netfilter. You describe your
+      firewall/gateway requirements using entries in a set of configuration
+      files. Shorewall reads those configuration files and with the help of the
+      iptables, iptables-restore, ip and tc utilities, Shorewall configures
+      Netfilter and the Linux networking subsystem to match your requirements.
+      Shorewall can be used on a dedicated firewall system, a multi-function
+      gateway/router/server or on a standalone GNU/Linux system. Shorewall does
+      not use Netfilter's ipchains compatibility mode and can thus take
+      advantage of Netfilter's connection state tracking capabilities.
+    '';
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index 8dee8989c06..81d0935f0b0 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jetmore.org/john/code/swaks/";
     description = "A featureful, flexible, scriptable, transaction-oriented SMTP test tool";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = platforms.all;
   };
 
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index bc500a01c11..b687f1db017 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -8,12 +8,12 @@ stdenv.mkDerivation ({
     sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
   };
 
-  makeFlags = if stdenv.isDarwin
+  makeFlags = [ (if stdenv.isDarwin
     then "osx"
-    else "lnp" # Linux with PAM modules;
+    else "lnp") ]  # Linux with PAM modules;
     # -fPIC is required to compile php with imap on x86_64 systems
-    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC"
-    + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " CC=${stdenv.hostPlatform.config}-gcc RANLIB=${stdenv.hostPlatform.config}-ranlib";
+    ++ stdenv.lib.optional stdenv.isx86_64 "EXTRACFLAGS=-fPIC"
+    ++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "CC=${stdenv.hostPlatform.config}-gcc" "RANLIB=${stdenv.hostPlatform.config}-ranlib" ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index 78f17934a78..ee3ca416aa4 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -3,20 +3,20 @@
 , ... } @ args:
 
 callPackage ./generic.nix (rec {
-  version = "4.21.3";
+  version = "4.22.0";
 
   src = fetchFromGitHub {
     owner = "v2ray";
     repo = "v2ray-core";
     rev = "v${version}";
-    sha256 = "0z45nrjnalrvpprq7g4zrjbrdkc3d3lhs4ci8hb8m69f92asiwbs";
+    sha256 = "1gr4s96ii4dx5bcwpb82rn250pcnncxwzx147p9dbwbyiy0i9nz7";
   };
 
   assets = {
     # MIT licensed
     "geoip.dat" = let
-      geoipRev = "20190516.1";
-      geoipSha256 = "14h4rq7rlcl1397pwpylfgwpk3fiscpzqb04c4wd5lxkfvk5f02r";
+      geoipRev = "202001010102";
+      geoipSha256 = "16i73c3852f7zmya0q3856cc4gvhqhpln9s98qvr2dr1mpp72c1w";
     in fetchurl {
       url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
       sha256 = geoipSha256;
@@ -24,8 +24,8 @@ callPackage ./generic.nix (rec {
 
     # MIT licensed
     "geosite.dat" = let
-      geositeRev = "20191121.1";
-      geositeSha256 = "0ijmvy43pvm69w38djf114j8swni7wfq5ry9wdpv9dj0rzb59m74";
+      geositeRev = "20191226.1";
+      geositeSha256 = "0b4ji5kj5jpkwri3libxm9yl49dcy91vkl7h1rkhrrhbl17s3qiy";
     in fetchurl {
       url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
       sha256 = geositeSha256;
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 8133e2a5a54..9b6304174df 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -14,14 +14,14 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20191219";
+  version = "1.0.20191226";
 
   src = fetchzip {
-    url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "1qxpjvj3927xdly022rp2sndbifmr0c2y6ik77v43k95ch94716d";
+    url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
+    sha256 = "14v5asdjazz0p3bhg8na9w6y66i3jhnn8imxhq8xlix1k4n93l4z";
   };
 
-  sourceRoot = "source/src/tools";
+  sourceRoot = "source/src";
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isLinux libmnl;
@@ -51,10 +51,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tools for the WireGuard secure network tunnel";
-    downloadPage = "https://git.zx2c4.com/WireGuard/refs/";
+    downloadPage = "https://git.zx2c4.com/wireguard-tools/refs/";
     homepage = "https://www.wireguard.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ma27 ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ma27 xwvvvvwx ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix
index 0c53c1bbbc9..61435cee284 100644
--- a/pkgs/tools/package-management/librepo/default.nix
+++ b/pkgs/tools/package-management/librepo/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  cmakeFlags="-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}";
+  cmakeFlags = ["-DPYTHON_DESIRED=${stdenv.lib.substring 0 1 python.pythonVersion}" ];
 
   buildInputs = [ python libxml2 glib openssl curl check gpgme ];
 
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 5c55ac31588..e2ec35d0ad0 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -57,7 +57,7 @@ common =
       propagatedBuildInputs = [ boehmgc ];
 
       # Seems to be required when using std::atomic with 64-bit types
-      NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
+      NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
 
       preConfigure =
         # Copy libboost_context so we don't get all of Boost in our closure.
diff --git a/pkgs/tools/security/afl/README.md b/pkgs/tools/security/afl/README.md
index 0b0d4e80fbc..180cad6bc4c 100644
--- a/pkgs/tools/security/afl/README.md
+++ b/pkgs/tools/security/afl/README.md
@@ -4,12 +4,12 @@ Updating the QEMU patches
 When updating to the latest American Fuzzy Lop, make sure to check for
 any new patches to qemu for binary fuzzing support:
 
-https://github.com/mirrorer/afl/tree/master/qemu_mode
+https://github.com/google/AFL/tree/master/qemu_mode
 
 Be sure to check the build script and make sure it's also using the
 right QEMU version and options in `qemu.nix`:
 
-https://github.com/mirrorer/afl/blob/master/qemu_mode/build_qemu_support.sh
+https://github.com/google/AFL/blob/master/qemu_mode/build_qemu_support.sh
 
 `afl-config.h`, `afl-types.h`, and `afl-qemu-cpu-inl.h` are part of
 the afl source code, and copied from `config.h`, `types.h` and
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index 05866792af6..df5e3728943 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, callPackage, makeWrapper
+{ stdenv, fetchFromGitHub, callPackage, makeWrapper
 , clang, llvm, which, libcgroup
 }:
 
@@ -9,11 +9,13 @@ let
     else throw "afl: no support for ${stdenv.hostPlatform.system}!";
   afl = stdenv.mkDerivation rec {
     pname = "afl";
-    version = "2.52b";
+    version = "2.56b";
 
-    src = fetchurl {
-      url    = "http://lcamtuf.coredump.cx/afl/releases/${pname}-${version}.tgz";
-      sha256 = "0ig0ij4n1pwry5dw1hk4q88801jzzy2cric6y2gd6560j55lnqa3";
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "1q1g59gkm48aa4cg9h70jx4i2gapmypgp5rzs156b2avd95vwkn1";
     };
     enableParallelBuilding = true;
 
diff --git a/pkgs/tools/security/afl/libdislocator.nix b/pkgs/tools/security/afl/libdislocator.nix
index 415fa82f2ec..953c59e435c 100644
--- a/pkgs/tools/security/afl/libdislocator.nix
+++ b/pkgs/tools/security/afl/libdislocator.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   pname = "libdislocator";
 
   src = afl.src;
-  sourceRoot = "${afl.name}/libdislocator";
+  sourceRoot = "${afl.src.name}/libdislocator";
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch b/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch
deleted file mode 100644
index 6cc663dc1fb..00000000000
--- a/pkgs/tools/security/afl/qemu-patches/qemu-2.10.0-glibc-2.27.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-A modified version of qemu commit 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
-diff --git a/configure b/configure
-index 9c8aa5a..99ccc17 100755
---- a/configure
-+++ b/configure
-@@ -3855,7 +3855,7 @@ fi
- # check if memfd is supported
- memfd=no
- cat > $TMPC << EOF
--#include <sys/memfd.h>
-+#include <sys/mman.h>
- 
- int main(void)
- {
-diff --git a/util/memfd.c b/util/memfd.c
-index 4571d1a..412e94a 100644
---- a/util/memfd.c
-+++ b/util/memfd.c
-@@ -31,9 +31,7 @@
- 
- #include "qemu/memfd.h"
- 
--#ifdef CONFIG_MEMFD
--#include <sys/memfd.h>
--#elif defined CONFIG_LINUX
-+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
- #include <sys/syscall.h>
- #include <asm/unistd.h>
diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix
index d80d301351f..479de4b4185 100644
--- a/pkgs/tools/security/afl/qemu.nix
+++ b/pkgs/tools/security/afl/qemu.nix
@@ -6,7 +6,6 @@ with stdenv.lib;
 
 let
   qemuName = "qemu-2.10.0";
-  aflName = afl.name;
   cpuTarget = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux-user"
     else if stdenv.hostPlatform.system == "i686-linux" then "i386-linux-user"
     else throw "afl: no support for ${stdenv.hostPlatform.system}!";
@@ -25,12 +24,12 @@ stdenv.mkDerivation {
   sourceRoot = qemuName;
 
   postUnpack = ''
-    cp ${aflName}/types.h $sourceRoot/afl-types.h
-    substitute ${aflName}/config.h $sourceRoot/afl-config.h \
+    cp ${afl.src.name}/types.h $sourceRoot/afl-types.h
+    substitute ${afl.src.name}/config.h $sourceRoot/afl-config.h \
       --replace "types.h" "afl-types.h"
-    substitute ${aflName}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
+    substitute ${afl.src.name}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
       --replace "../../config.h" "afl-config.h"
-    substituteInPlace ${aflName}/qemu_mode/patches/cpu-exec.diff \
+    substituteInPlace ${afl.src.name}/qemu_mode/patches/cpu-exec.diff \
       --replace "../patches/afl-qemu-cpu-inl.h" "afl-qemu-cpu-inl.h"
   '';
 
@@ -46,12 +45,13 @@ stdenv.mkDerivation {
 
   patches = [
     # patches extracted from afl source
-    "../${aflName}/qemu_mode/patches/cpu-exec.diff"
-    "../${aflName}/qemu_mode/patches/elfload.diff"
-    "../${aflName}/qemu_mode/patches/syscall.diff"
+    "../${afl.src.name}/qemu_mode/patches/cpu-exec.diff"
+    "../${afl.src.name}/qemu_mode/patches/elfload.diff"
+    "../${afl.src.name}/qemu_mode/patches/syscall.diff"
+    "../${afl.src.name}/qemu_mode/patches/configure.diff"
+    "../${afl.src.name}/qemu_mode/patches/memfd.diff"
     # nix-specific patches to make installation more well-behaved
     ./qemu-patches/no-etc-install.patch
-    ./qemu-patches/qemu-2.10.0-glibc-2.27.patch
   ];
 
   configureFlags =
diff --git a/pkgs/tools/security/age/default.nix b/pkgs/tools/security/age/default.nix
new file mode 100644
index 00000000000..bde597ba9f3
--- /dev/null
+++ b/pkgs/tools/security/age/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "age";
+  version = "1.0.0-beta2";
+  goPackagePath = "github.com/FiloSottile/age";
+  modSha256 = "0kwdwhkxgqjd8h1p7pm4h4xidp2vk840h1j4qya4qz8bjf9vskl9";
+
+  subPackages = [
+    "cmd/age"
+    "cmd/age-keygen"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "FiloSottile";
+    repo = "age";
+    rev = "v${version}";
+    sha256 = "1n1ww8yjw0mg00dvnfmggww9kwp1hls0a85iv6vx9k89mzv8mdrq";
+  };
+
+  meta = with lib; {
+    homepage = "https://age-encryption.org/";
+    description = "Modern encryption tool with small explicit keys";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tazjin ];
+  };
+}
diff --git a/pkgs/tools/security/bitwarden-cli/default.nix b/pkgs/tools/security/bitwarden-cli/default.nix
deleted file mode 100644
index 5c60eb9f4e2..00000000000
--- a/pkgs/tools/security/bitwarden-cli/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, pkgs }:
-
-let
-  # node-packages*.nix generated via:
-  #
-  # % node2nix --input node-packages.json \
-  #            --output node-packages-generated.nix \
-  #            --composition node-packages.nix \
-  #            --node-env ./../../../development/node-packages/node-env.nix
-  #
-  nodePackages = import ./node-packages.nix {
-    inherit pkgs;
-    inherit (stdenv.hostPlatform) system;
-  };
-in pkgs.lib.overrideDerivation nodePackages."@bitwarden/cli" (drv: {
-  # This defaults to "node-_at_bitwarden_slash_cli-1.7.0"
-  name = "bitwarden-cli-${drv.version}";
-})
diff --git a/pkgs/tools/security/bitwarden-cli/generate.sh b/pkgs/tools/security/bitwarden-cli/generate.sh
deleted file mode 100755
index 5bcee4c0513..00000000000
--- a/pkgs/tools/security/bitwarden-cli/generate.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
-
-exec node2nix -8 \
-    --input node-packages.json \
-    --output node-packages-generated.nix \
-    --composition node-packages.nix \
-    --node-env ./../../../development/node-packages/node-env.nix
diff --git a/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix b/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix
deleted file mode 100644
index 2afff040354..00000000000
--- a/pkgs/tools/security/bitwarden-cli/node-packages-generated.nix
+++ /dev/null
@@ -1,1407 +0,0 @@
-# This file has been generated by node2nix 1.7.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "abab-2.0.0" = {
-      name = "abab";
-      packageName = "abab";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz";
-        sha512 = "sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==";
-      };
-    };
-    "acorn-6.2.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz";
-        sha512 = "JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==";
-      };
-    };
-    "acorn-globals-4.3.2" = {
-      name = "acorn-globals";
-      packageName = "acorn-globals";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz";
-        sha512 = "BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==";
-      };
-    };
-    "acorn-walk-6.2.0" = {
-      name = "acorn-walk";
-      packageName = "acorn-walk";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz";
-        sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==";
-      };
-    };
-    "ajv-6.10.2" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
-        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
-      };
-    };
-    "ansi-escapes-3.2.0" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
-      };
-    };
-    "ansi-regex-3.0.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
-      };
-    };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "array-equal-1.0.0" = {
-      name = "array-equal";
-      packageName = "array-equal";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz";
-        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
-      };
-    };
-    "asn1-0.2.4" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
-      };
-    };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-      };
-    };
-    "async-limiter-1.0.0" = {
-      name = "async-limiter";
-      packageName = "async-limiter";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
-      };
-    };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
-      };
-    };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
-      };
-    };
-    "aws4-1.8.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
-      };
-    };
-    "bcrypt-pbkdf-1.0.2" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
-      };
-    };
-    "big-integer-1.6.36" = {
-      name = "big-integer";
-      packageName = "big-integer";
-      version = "1.6.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz";
-        sha512 = "t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==";
-      };
-    };
-    "browser-process-hrtime-0.1.3" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
-        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
-      };
-    };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
-      };
-    };
-    "chalk-2.4.1" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz";
-        sha512 = "ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==";
-      };
-    };
-    "chardet-0.7.0" = {
-      name = "chardet";
-      packageName = "chardet";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
-        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
-      };
-    };
-    "cli-cursor-2.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
-        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
-      };
-    };
-    "cli-width-2.2.0" = {
-      name = "cli-width";
-      packageName = "cli-width";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
-        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "combined-stream-1.0.6" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
-        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
-      };
-    };
-    "commander-2.18.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz";
-        sha512 = "6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==";
-      };
-    };
-    "core-util-is-1.0.2" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-      };
-    };
-    "cssom-0.3.8" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
-        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
-      };
-    };
-    "cssstyle-1.4.0" = {
-      name = "cssstyle";
-      packageName = "cssstyle";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz";
-        sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==";
-      };
-    };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
-      };
-    };
-    "data-urls-1.1.0" = {
-      name = "data-urls";
-      packageName = "data-urls";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz";
-        sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
-      };
-    };
-    "deep-is-0.1.3" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
-        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
-      };
-    };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-      };
-    };
-    "domexception-1.0.1" = {
-      name = "domexception";
-      packageName = "domexception";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz";
-        sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==";
-      };
-    };
-    "ecc-jsbn-0.1.2" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "escodegen-1.11.1" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz";
-        sha512 = "JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==";
-      };
-    };
-    "esprima-3.1.3" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
-        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
-      };
-    };
-    "estraverse-4.2.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
-        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
-      };
-    };
-    "external-editor-3.1.0" = {
-      name = "external-editor";
-      packageName = "external-editor";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
-        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
-      };
-    };
-    "extsprintf-1.3.0" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
-      };
-    };
-    "fast-deep-equal-2.0.1" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
-        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
-      };
-    };
-    "fast-json-stable-stringify-2.0.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
-      };
-    };
-    "fast-levenshtein-2.0.6" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
-      };
-    };
-    "figures-2.0.0" = {
-      name = "figures";
-      packageName = "figures";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
-        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
-      };
-    };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-      };
-    };
-    "form-data-2.3.2" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
-        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
-      };
-    };
-    "getpass-0.1.7" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
-      };
-    };
-    "graceful-fs-4.2.0" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz";
-        sha512 = "jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==";
-      };
-    };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
-      };
-    };
-    "har-validator-5.1.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
-      };
-    };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
-      };
-    };
-    "html-encoding-sniffer-1.0.2" = {
-      name = "html-encoding-sniffer";
-      packageName = "html-encoding-sniffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
-        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
-      };
-    };
-    "http-signature-1.2.0" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
-      };
-    };
-    "iconv-lite-0.4.24" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
-      };
-    };
-    "inquirer-6.2.0" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz";
-        sha512 = "QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==";
-      };
-    };
-    "is-fullwidth-code-point-2.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
-      };
-    };
-    "is-promise-2.1.0" = {
-      name = "is-promise";
-      packageName = "is-promise";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-      };
-    };
-    "is-typedarray-1.0.0" = {
-      name = "is-typedarray";
-      packageName = "is-typedarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
-      };
-    };
-    "isstream-0.1.2" = {
-      name = "isstream";
-      packageName = "isstream";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-      };
-    };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
-      };
-    };
-    "jsdom-13.2.0" = {
-      name = "jsdom";
-      packageName = "jsdom";
-      version = "13.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-13.2.0.tgz";
-        sha512 = "cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==";
-      };
-    };
-    "json-schema-0.2.3" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
-      };
-    };
-    "json-schema-traverse-0.4.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
-      };
-    };
-    "json-stringify-safe-5.0.1" = {
-      name = "json-stringify-safe";
-      packageName = "json-stringify-safe";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-      };
-    };
-    "jsprim-1.4.1" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
-      };
-    };
-    "levn-0.3.0" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
-      };
-    };
-    "lodash-4.17.15" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
-        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
-      };
-    };
-    "lodash.sortby-4.7.0" = {
-      name = "lodash.sortby";
-      packageName = "lodash.sortby";
-      version = "4.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
-        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
-      };
-    };
-    "lowdb-1.0.0" = {
-      name = "lowdb";
-      packageName = "lowdb";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz";
-        sha512 = "2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==";
-      };
-    };
-    "lunr-2.3.3" = {
-      name = "lunr";
-      packageName = "lunr";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.3.tgz";
-        sha512 = "rlAEsgU9Bnavca2w1WJ6+6cdeHMXNyadcersyk3ZpuhgWb5HBNj8l4WwJz9PjksAhYDlpQffCVXPctOn+wCIVA==";
-      };
-    };
-    "mime-db-1.40.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.40.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
-      };
-    };
-    "mime-types-2.1.24" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
-      };
-    };
-    "mimic-fn-1.2.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
-      };
-    };
-    "mute-stream-0.0.7" = {
-      name = "mute-stream";
-      packageName = "mute-stream";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
-        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
-      };
-    };
-    "node-fetch-2.2.0" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz";
-        sha512 = "OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==";
-      };
-    };
-    "node-forge-0.7.6" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.7.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz";
-        sha512 = "sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==";
-      };
-    };
-    "nwsapi-2.1.4" = {
-      name = "nwsapi";
-      packageName = "nwsapi";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
-        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
-      };
-    };
-    "oauth-sign-0.9.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
-      };
-    };
-    "onetime-2.0.1" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
-        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
-      };
-    };
-    "optionator-0.8.2" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
-        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
-      };
-    };
-    "os-tmpdir-1.0.2" = {
-      name = "os-tmpdir";
-      packageName = "os-tmpdir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
-        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
-      };
-    };
-    "papaparse-4.6.0" = {
-      name = "papaparse";
-      packageName = "papaparse";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/papaparse/-/papaparse-4.6.0.tgz";
-        sha512 = "ylm8pmgyz9rkS3Ng/ru5tHUF3JxWwKYP0aZZWZ8eCGdSxoqgYiDUXLNQei73mUJOjHw8QNu5ZNCsLoDpkMA6sg==";
-      };
-    };
-    "parse5-5.1.0" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz";
-        sha512 = "fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==";
-      };
-    };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
-      };
-    };
-    "pn-1.1.0" = {
-      name = "pn";
-      packageName = "pn";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz";
-        sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
-      };
-    };
-    "prelude-ls-1.1.2" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
-      };
-    };
-    "psl-1.3.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz";
-        sha512 = "avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==";
-      };
-    };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-      };
-    };
-    "punycode-2.1.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
-      };
-    };
-    "qs-6.5.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
-      };
-    };
-    "request-2.88.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.88.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
-        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
-      };
-    };
-    "request-promise-core-1.1.2" = {
-      name = "request-promise-core";
-      packageName = "request-promise-core";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
-      };
-    };
-    "request-promise-native-1.0.7" = {
-      name = "request-promise-native";
-      packageName = "request-promise-native";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
-      };
-    };
-    "restore-cursor-2.0.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
-        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
-      };
-    };
-    "run-async-2.3.0" = {
-      name = "run-async";
-      packageName = "run-async";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
-        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
-      };
-    };
-    "rxjs-6.5.2" = {
-      name = "rxjs";
-      packageName = "rxjs";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz";
-        sha512 = "HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==";
-      };
-    };
-    "safe-buffer-5.2.0" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
-      };
-    };
-    "safer-buffer-2.1.2" = {
-      name = "safer-buffer";
-      packageName = "safer-buffer";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
-      };
-    };
-    "saxes-3.1.11" = {
-      name = "saxes";
-      packageName = "saxes";
-      version = "3.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz";
-        sha512 = "Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==";
-      };
-    };
-    "signal-exit-3.0.2" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
-      };
-    };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
-      };
-    };
-    "sshpk-1.16.1" = {
-      name = "sshpk";
-      packageName = "sshpk";
-      version = "1.16.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
-      };
-    };
-    "stealthy-require-1.1.1" = {
-      name = "stealthy-require";
-      packageName = "stealthy-require";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
-        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
-      };
-    };
-    "steno-0.4.4" = {
-      name = "steno";
-      packageName = "steno";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz";
-        sha1 = "071105bdfc286e6615c0403c27e9d7b5dcb855cb";
-      };
-    };
-    "string-width-2.1.1" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
-      };
-    };
-    "strip-ansi-4.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "symbol-tree-3.2.4" = {
-      name = "symbol-tree";
-      packageName = "symbol-tree";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    };
-    "tldjs-2.3.1" = {
-      name = "tldjs";
-      packageName = "tldjs";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tldjs/-/tldjs-2.3.1.tgz";
-        sha512 = "W/YVH/QczLUxVjnQhFC61Iq232NWu3TqDdO0S/MtXVz4xybejBov4ud+CIwN9aYqjOecEqIy0PscGkwpG9ZyTw==";
-      };
-    };
-    "tmp-0.0.33" = {
-      name = "tmp";
-      packageName = "tmp";
-      version = "0.0.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
-        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
-      };
-    };
-    "tough-cookie-2.4.3" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
-        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
-      };
-    };
-    "tough-cookie-2.5.0" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
-      };
-    };
-    "tr46-1.0.1" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz";
-        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
-      };
-    };
-    "tslib-1.10.0" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
-        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
-      };
-    };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
-      };
-    };
-    "tweetnacl-0.14.5" = {
-      name = "tweetnacl";
-      packageName = "tweetnacl";
-      version = "0.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
-      };
-    };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
-      };
-    };
-    "uri-js-4.2.2" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
-        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
-      };
-    };
-    "uuid-3.3.2" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
-        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
-      };
-    };
-    "verror-1.10.0" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
-      };
-    };
-    "w3c-hr-time-1.0.1" = {
-      name = "w3c-hr-time";
-      packageName = "w3c-hr-time";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
-        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
-      };
-    };
-    "w3c-xmlserializer-1.1.2" = {
-      name = "w3c-xmlserializer";
-      packageName = "w3c-xmlserializer";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
-        sha512 = "p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==";
-      };
-    };
-    "webidl-conversions-4.0.2" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
-        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
-      };
-    };
-    "whatwg-encoding-1.0.5" = {
-      name = "whatwg-encoding";
-      packageName = "whatwg-encoding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
-      };
-    };
-    "whatwg-mimetype-2.3.0" = {
-      name = "whatwg-mimetype";
-      packageName = "whatwg-mimetype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
-      };
-    };
-    "whatwg-url-7.0.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
-        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
-      };
-    };
-    "wordwrap-1.0.0" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
-      };
-    };
-    "ws-6.2.1" = {
-      name = "ws";
-      packageName = "ws";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
-        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
-      };
-    };
-    "xml-name-validator-3.0.0" = {
-      name = "xml-name-validator";
-      packageName = "xml-name-validator";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
-      };
-    };
-    "xmlchars-2.1.1" = {
-      name = "xmlchars";
-      packageName = "xmlchars";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlchars/-/xmlchars-2.1.1.tgz";
-        sha512 = "7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w==";
-      };
-    };
-    "zxcvbn-4.4.2" = {
-      name = "zxcvbn";
-      packageName = "zxcvbn";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz";
-        sha1 = "28ec17cf09743edcab056ddd8b1b06262cc73c30";
-      };
-    };
-  };
-in
-{
-  "@bitwarden/cli" = nodeEnv.buildNodePackage {
-    name = "_at_bitwarden_slash_cli";
-    packageName = "@bitwarden/cli";
-    version = "1.7.4";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.7.4.tgz";
-      sha512 = "WCYARJaSpcItFvxPFdRXTO9s26HbYFazL3wSlZ7HuL4tiML/7AfPD4wO3J7fgBn1ghU5NGJ7YZIL+oPmiuw6+Q==";
-    };
-    dependencies = [
-      sources."abab-2.0.0"
-      sources."acorn-6.2.1"
-      sources."acorn-globals-4.3.2"
-      sources."acorn-walk-6.2.0"
-      sources."ajv-6.10.2"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."array-equal-1.0.0"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."big-integer-1.6.36"
-      sources."browser-process-hrtime-0.1.3"
-      sources."caseless-0.12.0"
-      sources."chalk-2.4.1"
-      sources."chardet-0.7.0"
-      sources."cli-cursor-2.1.0"
-      sources."cli-width-2.2.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."combined-stream-1.0.6"
-      sources."commander-2.18.0"
-      sources."core-util-is-1.0.2"
-      sources."cssom-0.3.8"
-      sources."cssstyle-1.4.0"
-      sources."dashdash-1.14.1"
-      sources."data-urls-1.1.0"
-      sources."deep-is-0.1.3"
-      sources."delayed-stream-1.0.0"
-      sources."domexception-1.0.1"
-      sources."ecc-jsbn-0.1.2"
-      sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.11.1"
-      sources."esprima-3.1.3"
-      sources."estraverse-4.2.0"
-      sources."esutils-2.0.3"
-      sources."extend-3.0.2"
-      sources."external-editor-3.1.0"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."figures-2.0.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.2"
-      sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.0"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
-      sources."has-flag-3.0.0"
-      sources."html-encoding-sniffer-1.0.2"
-      sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.24"
-      sources."inquirer-6.2.0"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-promise-2.1.0"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."jsdom-13.2.0"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
-      sources."levn-0.3.0"
-      sources."lodash-4.17.15"
-      sources."lodash.sortby-4.7.0"
-      sources."lowdb-1.0.0"
-      sources."lunr-2.3.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-fn-1.2.0"
-      sources."mute-stream-0.0.7"
-      sources."node-fetch-2.2.0"
-      sources."node-forge-0.7.6"
-      sources."nwsapi-2.1.4"
-      sources."oauth-sign-0.9.0"
-      sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
-      sources."os-tmpdir-1.0.2"
-      sources."papaparse-4.6.0"
-      sources."parse5-5.1.0"
-      sources."performance-now-2.1.0"
-      sources."pify-3.0.0"
-      sources."pn-1.1.0"
-      sources."prelude-ls-1.1.2"
-      sources."psl-1.3.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-          sources."tough-cookie-2.4.3"
-        ];
-      })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."restore-cursor-2.0.0"
-      sources."run-async-2.3.0"
-      sources."rxjs-6.5.2"
-      sources."safe-buffer-5.2.0"
-      sources."safer-buffer-2.1.2"
-      sources."saxes-3.1.11"
-      sources."signal-exit-3.0.2"
-      sources."source-map-0.6.1"
-      sources."sshpk-1.16.1"
-      sources."stealthy-require-1.1.1"
-      sources."steno-0.4.4"
-      sources."string-width-2.1.1"
-      sources."strip-ansi-4.0.0"
-      sources."supports-color-5.5.0"
-      sources."symbol-tree-3.2.4"
-      sources."through-2.3.8"
-      (sources."tldjs-2.3.1" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
-      sources."tmp-0.0.33"
-      sources."tough-cookie-2.5.0"
-      sources."tr46-1.0.1"
-      sources."tslib-1.10.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-check-0.3.2"
-      sources."uri-js-4.2.2"
-      sources."uuid-3.3.2"
-      sources."verror-1.10.0"
-      sources."w3c-hr-time-1.0.1"
-      sources."w3c-xmlserializer-1.1.2"
-      sources."webidl-conversions-4.0.2"
-      sources."whatwg-encoding-1.0.5"
-      sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-7.0.0"
-      sources."wordwrap-1.0.0"
-      sources."ws-6.2.1"
-      sources."xml-name-validator-3.0.0"
-      sources."xmlchars-2.1.1"
-      sources."zxcvbn-4.4.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "A secure and free password manager for all of your devices.";
-      homepage = https://bitwarden.com/;
-      license = "GPL-3.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-}
\ No newline at end of file
diff --git a/pkgs/tools/security/bitwarden-cli/node-packages.json b/pkgs/tools/security/bitwarden-cli/node-packages.json
deleted file mode 100644
index 624aa87bcbe..00000000000
--- a/pkgs/tools/security/bitwarden-cli/node-packages.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-  "@bitwarden/cli"
-]
diff --git a/pkgs/tools/security/bitwarden-cli/node-packages.nix b/pkgs/tools/security/bitwarden-cli/node-packages.nix
deleted file mode 100644
index 66560873b4c..00000000000
--- a/pkgs/tools/security/bitwarden-cli/node-packages.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.7.0. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs.nodejs-10_x}:
-
-let
-  nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
-    inherit nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages-generated.nix {
-  inherit (pkgs) fetchurl fetchgit;
-  inherit nodeEnv;
-}
\ No newline at end of file
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 324ac46b084..5ea91854282 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, python, pythonPackages, gamin }:
+{ stdenv, fetchFromGitHub, fetchpatch, python3, gamin }:
 
 let version = "0.10.4"; in
 
-pythonPackages.buildPythonApplication {
+python3.pkgs.buildPythonApplication {
   pname = "fail2ban";
   inherit version;
 
@@ -13,8 +13,19 @@ pythonPackages.buildPythonApplication {
     sha256 = "07ik6rm856q0ic2r7vbg6j3hsdcdgkv44hh5ck0c2y21fqwrck3l";
   };
 
-  propagatedBuildInputs = [ gamin ]
-    ++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd);
+  patches = [
+    # 0.10.3 supports Python 3 but somehow this got into the way
+    # https://github.com/fail2ban/fail2ban/issues/2255
+    (fetchpatch {
+      url = "https://github.com/fail2ban/fail2ban/commit/657b147c0d7830f3600f3dc7feaa4815a7e19fde.patch";
+      sha256 = "1hrk2x7ssrfhab1wrjk5xw1sxhiv2735glfcp6qcj8x4dss3q7f7";
+    })
+  ];
+
+  pythonPath = with python3.pkgs;
+    stdenv.lib.optionals stdenv.isLinux [
+      systemd
+    ];
 
   preConfigure = ''
     for i in config/action.d/sendmail*.conf; do
@@ -33,11 +44,15 @@ pythonPackages.buildPythonApplication {
     substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
 
     # see https://github.com/NixOS/nixpkgs/issues/4968
-    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
+    ${python3.interpreter} setup.py install_data --install-dir=$out --root=$out
+  '';
+
+  postPatch = ''
+    ${stdenv.shell} ./fail2ban-2to3
   '';
 
   postInstall = let
-    sitePackages = "$out/lib/${python.libPrefix}/site-packages";
+    sitePackages = "$out/${python3.sitePackages}";
   in ''
     # see https://github.com/NixOS/nixpkgs/issues/4968
     rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var;
diff --git a/pkgs/tools/security/notary/default.nix b/pkgs/tools/security/notary/default.nix
index f1a61adabbb..d1e2ee58e48 100644
--- a/pkgs/tools/security/notary/default.nix
+++ b/pkgs/tools/security/notary/default.nix
@@ -59,7 +59,7 @@ buildGoPackage rec {
     '';
     license = licenses.asl20;
     homepage = https://github.com/theupdateframework/notary;
-    maintainers = with maintainers; [ vdemeester ma27 ];
+    maintainers = with maintainers; [ vdemeester ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 4f220ee7717..315cd1c8c28 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -7,33 +7,15 @@
 
 stdenv.mkDerivation rec {
   pname = "opensc";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "OpenSC";
     rev = version;
-    sha256 = "10575gb9l38cskq7swyjp0907wlziyxg4ppq33ndz319dsx69d87";
+    sha256 = "0mg8qmhww3li1isfgvn5hang1hq58zra057ilvgci88csfziv5lv";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-6502.patch";
-      url = "https://github.com/OpenSC/OpenSC/commit/0d7967549751b7032f22b437106b41444aff0ba9.patch";
-      sha256 = "1y42lmz8i9w99hgpakdncnv8f94cqjfabz0v4xg6wfz9akl3ff7d";
-    })
-    (fetchpatch {
-      name = "CVE-2019-15945.patch";
-      url = "https://github.com/OpenSC/OpenSC/commit/412a6142c27a5973c61ba540e33cdc22d5608e68.patch";
-      sha256 = "088i2i1fkvdxnywmb54bn4283vhbxx6i2632b34ss5dh7k080hp7";
-    })
-    (fetchpatch {
-      name = "CVE-2019-15946.patch";
-      url = "https://github.com/OpenSC/OpenSC/commit/a3fc7693f3a035a8a7921cffb98432944bb42740.patch";
-      sha256 = "1qr9n8cbarrdn4kr5z0ys7flq50hfmcbm8584mhw7r39p08qwmvq";
-    })
-  ];
-
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     zlib readline openssl libassuan
diff --git a/pkgs/tools/security/proxmark3/default.nix b/pkgs/tools/security/proxmark3/default.nix
index afaed796057..e717558a24d 100644
--- a/pkgs/tools/security/proxmark3/default.nix
+++ b/pkgs/tools/security/proxmark3/default.nix
@@ -1,37 +1,59 @@
-{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline }:
+{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline, pcsclite, qt5
+, gcc-arm-embedded }:
 
-stdenv.mkDerivation rec {
-  pname = "proxmark3";
-  version = "3.1.0";
+let
+  generic = { pname, version, rev, sha256 }:
+    stdenv.mkDerivation rec {
+      inherit pname version;
 
-  src = fetchFromGitHub {
-    owner = "Proxmark";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1qw28n1bhhl91ix77lv50qcr919fq3hjc8zhhqphwxal2svgx2jf";
-  };
+      src = fetchFromGitHub {
+        owner = "Proxmark";
+        repo = "proxmark3";
+        inherit rev sha256;
+      };
+
+      nativeBuildInputs = [ pkgconfig gcc-arm-embedded ];
+      buildInputs = [ ncurses readline pcsclite qt5.qtbase ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses readline ];
+      postPatch = ''
+        substituteInPlace client/Makefile --replace '-ltermcap' ' '
+        substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
+        substituteInPlace client/flasher.c \
+          --replace 'armsrc/obj/fullimage.elf' \
+                    '${placeholder "out"}/firmware/fullimage.elf'
+      '';
 
-  postPatch = ''
-    substituteInPlace client/Makefile --replace '-ltermcap' ' '
-    substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
-  '';
+      buildPhase = ''
+        make bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf client
+      '';
 
-  preBuild = ''
-    cd client
-  '';
+      installPhase = ''
+        install -Dt $out/bin client/proxmark3
+        install -T client/flasher $out/bin/proxmark3-flasher
+        install -Dt $out/firmware bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
+      '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp proxmark3 $out/bin
-  '';
+      meta = with stdenv.lib; {
+        description = "Client for proxmark3, powerful general purpose RFID tool";
+        homepage = http://www.proxmark.org;
+        license = licenses.gpl2Plus;
+        maintainers = with maintainers; [ fpletz ];
+      };
+    };
+in
+
+{
+  proxmark3 = generic rec {
+    pname = "proxmark3";
+    version = "3.1.0";
+    rev = "v${version}";
+    sha256 = "1qw28n1bhhl91ix77lv50qcr919fq3hjc8zhhqphwxal2svgx2jf";
+  };
 
-  meta = with stdenv.lib; {
-    description = "Client for proxmark3,  powerful general purpose RFID tool";
-    homepage = http://www.proxmark.org;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fpletz ];
+  proxmark3-unstable = generic {
+    pname = "proxmark3-unstable";
+    version = "2019-12-28";
+    rev = "a4ff62be63ca2a81071e9aa2b882bd3ff57f13ad";
+    sha256 = "067lp28xqx61n3i2a2fy489r5frwxqrcfj8cpv3xdzi3gb3vk5c3";
   };
 }
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
index 5d54758cc7c..f7526ac7225 100644
--- a/pkgs/tools/security/tpm-quote-tools/default.nix
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage    = http://tpmquotetools.sourceforge.net/;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ ak ndowens ];
+    maintainers = with maintainers; [ ak ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/augeas/default.nix b/pkgs/tools/system/augeas/default.nix
index a99df36beb6..08731cd6db2 100644
--- a/pkgs/tools/system/augeas/default.nix
+++ b/pkgs/tools/system/augeas/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Configuration editing tool";
     license = licenses.lgpl2;
     homepage = http://augeas.net/;
-    maintainers = with maintainers; [ offline ndowens ];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
index b69d440499f..6aaa0eeddfe 100644
--- a/pkgs/tools/system/di/default.nix
+++ b/pkgs/tools/system/di/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = https://gentoo.com/di/;
     license = licenses.zlib;
     updateWalker = true;
-    maintainers = with maintainers; [ manveru ndowens ];
+    maintainers = with maintainers; [ manveru ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 18b452b3ca7..d323f048ba0 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Hardware detection tool from openSUSE";
     license = licenses.gpl2;
     homepage = https://github.com/openSUSE/hwinfo;
-    maintainers = with maintainers; [ bobvanderlinden ndowens ];
+    maintainers = with maintainers; [ bobvanderlinden ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix
index 274e65bb41d..b4ab0f04d1c 100644
--- a/pkgs/tools/system/ioping/default.nix
+++ b/pkgs/tools/system/ioping/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Disk I/O latency measuring tool";
-    maintainers = with maintainers; [ raskin ndowens ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.unix;
     license = licenses.gpl3Plus;
     homepage = https://github.com/koct9i/ioping;
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index c906ad3c8cf..3105cba5a34 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
       ${if static then "LDFLAGS=-static --enable-static --disable-shared" else "--enable-shared"}
     )
   '';
-  makeFlags = if static then "AM_LDFLAGS=-all-static" else "";
+  makeFlags = stdenv.lib.optional static "AM_LDFLAGS=-all-static";
   dontDisableStatic = static;
 
   meta = with lib; {
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index ff6a6e03cc8..0d09d385cda 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , CoreFoundation, IOKit, libossp_uuid
 , curl, libcap,  libuuid, lm_sensors, zlib
 , withCups ? false, cups
@@ -12,12 +12,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.18.1";
+  version = "1.19.0";
   pname = "netdata";
 
-  src = fetchurl {
-    url = "https://github.com/netdata/netdata/releases/download/v${version}/netdata-v${version}.tar.gz";
-    sha256 = "08g5jp63k8y5gbg8v9hxj75q0533c6cyzpjml9z1g5h2h4zaik1r";
+  src = fetchFromGitHub {
+    owner = "netdata";
+    repo = "netdata";
+    rev = "v${version}";
+    sha256 = "1s6kzx4xh8b6v7ki8h2mfzprj5rxvlgx2md20cr8c0v81qpz3q3q";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
index c3927c29dd2..138787b98f1 100644
--- a/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
+++ b/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
@@ -1,9 +1,9 @@
 diff --git a/Makefile.am b/Makefile.am
-index f2087bb..7a70cfb 100644
+index 2625dcc..1fdd645 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -116,10 +116,10 @@ AM_CFLAGS = \
- 	$(NULL)
+@@ -113,10 +113,10 @@ AM_CFLAGS = \
+     $(NULL)
  
  sbin_PROGRAMS =
 -dist_cache_DATA = packaging/installer/.keep
@@ -17,70 +17,113 @@ index f2087bb..7a70cfb 100644
  plugins_PROGRAMS =
  
  LIBNETDATA_FILES = \
+diff --git a/collectors/Makefile.am b/collectors/Makefile.am
+index 7431025..f62f8ac 100644
+--- a/collectors/Makefile.am
++++ b/collectors/Makefile.am
+@@ -30,11 +30,6 @@ SUBDIRS = \
+ usercustompluginsconfigdir=$(configdir)/custom-plugins.d
+ usergoconfigdir=$(configdir)/go.d
+ 
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir)
+-	$(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
+-
+ dist_noinst_DATA = \
+     README.md \
+     $(NULL)
 diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am
-index 2989b4b..64de7d6 100644
+index b3b2fb9..68b768e 100644
 --- a/collectors/charts.d.plugin/Makefile.am
 +++ b/collectors/charts.d.plugin/Makefile.am
-@@ -32,7 +32,6 @@ dist_charts_DATA = \
+@@ -31,13 +31,8 @@ dist_charts_DATA = \
  
  userchartsconfigdir=$(configdir)/charts.d
  dist_userchartsconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
+-
  chartsconfigdir=$(libconfigdir)/charts.d
+ dist_chartsconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am
-index 3b5a0a5..b7abe01 100644
+index 411bce9..ba60276 100644
 --- a/collectors/node.d.plugin/Makefile.am
 +++ b/collectors/node.d.plugin/Makefile.am
-@@ -23,7 +23,6 @@ dist_noinst_DATA = \
+@@ -23,13 +23,8 @@ dist_noinst_DATA = \
  
  usernodeconfigdir=$(configdir)/node.d
  dist_usernodeconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usernodeconfigdir)
+-
  nodeconfigdir=$(libconfigdir)/node.d
+ dist_nodeconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am
-index 652a35d..cf4b2cc 100644
+index cb14e35..8a6c5a7 100644
 --- a/collectors/python.d.plugin/Makefile.am
 +++ b/collectors/python.d.plugin/Makefile.am
-@@ -29,7 +29,6 @@ dist_python_DATA = \
+@@ -29,13 +29,8 @@ dist_python_DATA = \
  
  userpythonconfigdir=$(configdir)/python.d
  dist_userpythonconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userpythonconfigdir)
+-
  pythonconfigdir=$(libconfigdir)/python.d
+ dist_pythonconfig_DATA = \
+     $(NULL)
 diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am
-index e63bf98..0f59782 100644
+index 87b6ca7..9d010c7 100644
 --- a/collectors/statsd.plugin/Makefile.am
 +++ b/collectors/statsd.plugin/Makefile.am
-@@ -14,6 +14,5 @@ dist_statsdconfig_DATA = \
+@@ -14,9 +14,4 @@ dist_statsdconfig_DATA = \
  
  userstatsdconfigdir=$(configdir)/statsd.d
  dist_userstatsdconfig_DATA = \
 -    .keep \
      $(NULL)
- 
+-
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
 diff --git a/health/Makefile.am b/health/Makefile.am
-index 62a4c6d..4d651df 100644
+index f63faa8..8912ef2 100644
 --- a/health/Makefile.am
 +++ b/health/Makefile.am
-@@ -16,7 +16,6 @@ dist_noinst_DATA = \
+@@ -16,13 +16,8 @@ dist_noinst_DATA = \
  
  userhealthconfigdir=$(configdir)/health.d
  dist_userhealthconfig_DATA = \
 -    .keep \
      $(NULL)
  
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(userhealthconfigdir)
+-
  healthconfigdir=$(libconfigdir)/health.d
+ dist_healthconfig_DATA = \
+     health.d/adaptec_raid.conf \
 diff --git a/system/Makefile.am b/system/Makefile.am
-index b085dca..ccfa588 100644
+index ad68c65..bf6a840 100644
 --- a/system/Makefile.am
 +++ b/system/Makefile.am
-@@ -17,10 +17,6 @@ CLEANFILES = \
+@@ -16,14 +16,6 @@ CLEANFILES = \
  include $(top_srcdir)/build/subst.inc
  SUFFIXES = .in
  
@@ -88,6 +131,25 @@ index b085dca..ccfa588 100644
 -    edit-config \
 -    $(NULL)
 -
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(configdir)
+-
  nodist_noinst_DATA = \
- 	netdata-openrc \
- 	netdata.logrotate \
+     netdata-openrc \
+     netdata.logrotate \
+diff --git a/web/Makefile.am b/web/Makefile.am
+index ccaccd7..f2fed50 100644
+--- a/web/Makefile.am
++++ b/web/Makefile.am
+@@ -11,10 +11,6 @@ SUBDIRS = \
+ 
+ usersslconfigdir=$(configdir)/ssl
+ 
+-# Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
+-	$(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
+-
+ dist_noinst_DATA = \
+     README.md \
+     gui/confluence/README.md \
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index 9776960327e..9a4a2238558 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
     xorgproto libX11 libXext libXt fontconfig
     freetype # fontsrv wants ft2build.h provides system fonts for acme and sam.
   ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    darwin.cf-private Carbon Cocoa IOKit Metal QuartzCore
+    Carbon Cocoa IOKit Metal QuartzCore
   ]);
 
   builder = ./builder.sh;
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index c98634e1199..c8748efc302 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.11";
+  version = "0.10.14";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "16z45fmvncpa0bv91dpwarqfm9p7aiqkmlcpmv2y23rh6sikhkdq";
+    sha256 = "0lazjxrlqzhxd6fg3y1vh38h66v8swkd9q2say4m6sglzkfqdfnq";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/xe/default.nix b/pkgs/tools/system/xe/default.nix
index 02d90472440..02e36dbc31c 100644
--- a/pkgs/tools/system/xe/default.nix
+++ b/pkgs/tools/system/xe/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/chneukirchen/xe;
     license = licenses.publicDomain;
     platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan ndowens ];
+    maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/tools/text/catdoc/default.nix b/pkgs/tools/text/catdoc/default.nix
index d4f40270915..64ef092f36b 100644
--- a/pkgs/tools/text/catdoc/default.nix
+++ b/pkgs/tools/text/catdoc/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "MS-Word/Excel/PowerPoint to text converter";
     platforms = platforms.all;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
   };
 }
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 561ee06136d..c1183d4c5a0 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Implementation of Markdown markup language in C";
     homepage = http://www.pell.portland.or.us/~orc/Code/discount/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ shell ndowens ];
+    maintainers = with maintainers; [ shell ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index 146338df916..b7efe02f4cd 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = "https://waterlan.home.xs4all.nl/dos2unix.html";
     changelog = "https://sourceforge.net/p/dos2unix/dos2unix/ci/dos2unix-${version}/tree/dos2unix/NEWS.txt?format=raw";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ c0bw3b ndowens ];
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 3a9e8e9ceaf..51cafeb8c4a 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -49,7 +49,7 @@ let
       description = "Source code highlighting tool";
       homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
       platforms = platforms.unix;
-      maintainers = with maintainers; [ ndowens willibutz ];
+      maintainers = with maintainers; [ willibutz ];
     };
   };
 
diff --git a/pkgs/tools/text/kytea/default.nix b/pkgs/tools/text/kytea/default.nix
index 600907311ef..621408866e8 100644
--- a/pkgs/tools/text/kytea/default.nix
+++ b/pkgs/tools/text/kytea/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
     license = licenses.asl20;
 
-    maintainers = with maintainers; [ ericsagnes ndowens ];
+    maintainers = with maintainers; [ ericsagnes ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index 415ff0b31b7..f7543dc0f70 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.nongnu.org/numdiff/;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ndowens ];
+    maintainers = with maintainers; [];
     platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/qgrep/default.nix b/pkgs/tools/text/qgrep/default.nix
index 5f0e7461361..c45398e31a1 100644
--- a/pkgs/tools/text/qgrep/default.nix
+++ b/pkgs/tools/text/qgrep/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, CoreServices, CoreFoundation, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "1.1";
@@ -12,6 +12,20 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      url = "https://github.com/zeux/qgrep/commit/21c4d1a5ab0f0bdaa0b5ca993c1315c041418cc6.patch";
+      sha256 = "0wpxzrd9pmhgbgby17vb8279xwvkxfdd99gvv7r74indgdxqg7v8";
+    })
+  ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices CoreFoundation ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
+    substituteInPlace Makefile \
+      --replace "-msse2" "" --replace "-DUSE_SSE2" ""
+  '';
+
   installPhase = '' 
     install -Dm755 qgrep $out/bin/qgrep
   '';
@@ -23,5 +37,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.yrashk ];
     platforms = platforms.all;
   };
-
 }
diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix
index d41be25231c..df54724d384 100644
--- a/pkgs/tools/text/ripgrep-all/default.nix
+++ b/pkgs/tools/text/ripgrep-all/default.nix
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = https://github.com/phiresky/ripgrep-all;
     license = with licenses; [ agpl3Plus ];
-    maintainers = with maintainers; [ zaninime ];
+    maintainers = with maintainers; [ zaninime ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 77cc625f7f8..963ef99c68a 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
     license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = with maintainers; [ tailhook globin ];
+    maintainers = with maintainers; [ tailhook globin ma27 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/text/smu/default.nix b/pkgs/tools/text/smu/default.nix
index a80a6d3d799..50bceb4fcb3 100644
--- a/pkgs/tools/text/smu/default.nix
+++ b/pkgs/tools/text/smu/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
   # _FORTIFY_SOURCE requires compiling with optimization (-O)
   NIX_CFLAGS_COMPILE = "-O";
 
-  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
 
   meta = with lib; {
     description = "simple markup - markdown like syntax";
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index 7b08cffe42d..3360fd4cbe0 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Command-line interface to various pastebins";
     homepage = http://wgetpaste.zlin.dk/;
     license = stdenv.lib.licenses.publicDomain;
-    maintainers = with stdenv.lib.maintainers; [ qknight domenkozar ndowens ];
+    maintainers = with stdenv.lib.maintainers; [ qknight domenkozar ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/text/xurls/default.nix b/pkgs/tools/text/xurls/default.nix
index 6e66090d88f..c8d10a6e269 100644
--- a/pkgs/tools/text/xurls/default.nix
+++ b/pkgs/tools/text/xurls/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "Extract urls from text";
     homepage = https://github.com/mvdan/xurls;
-    maintainers = with maintainers; [ koral ndowens ];
+    maintainers = with maintainers; [ koral ];
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix
index c681eaa6ddc..0b5c79756bd 100644
--- a/pkgs/tools/typesetting/fop/default.nix
+++ b/pkgs/tools/typesetting/fop/default.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage = https://xmlgraphics.apache.org/fop/;
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ bjornfor ndowens ];
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cd59fa7bbd2..049d0bfab9f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -508,6 +508,8 @@ in
 
   acpica-tools = callPackage ../tools/system/acpica-tools { };
 
+  act = callPackage ../development/tools/misc/act {};
+
   actdiag = with python3.pkgs; toPythonApplication actdiag;
 
   actkbd = callPackage ../tools/system/actkbd { };
@@ -771,7 +773,7 @@ in
 
   bitwarden = callPackage ../tools/security/bitwarden { };
 
-  bitwarden-cli = callPackage ../tools/security/bitwarden-cli { };
+  inherit (nodePackages) bitwarden-cli;
 
   bitwarden_rs = callPackage ../tools/security/bitwarden_rs {
     inherit (darwin.apple_sdk.frameworks) Security CoreServices;
@@ -811,6 +813,8 @@ in
 
   cloudflare-wrangler = callPackage ../development/tools/cloudflare-wrangler { };
 
+  codeql = callPackage ../development/tools/analysis/codeql { };
+
   container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
 
   ccextractor = callPackage ../applications/video/ccextractor { };
@@ -899,7 +903,7 @@ in
 
   github-commenter = callPackage ../development/tools/github-commenter { };
 
-  gitless = callPackage ../applications/version-management/gitless { };
+  gitless = callPackage ../applications/version-management/gitless { python = python3; };
 
   gitter = callPackage  ../applications/networking/instant-messengers/gitter { };
 
@@ -1083,6 +1087,10 @@ in
 
   backblaze-b2 = python.pkgs.callPackage ../development/tools/backblaze-b2 { };
 
+  bandwhich = callPackage ../tools/networking/bandwhich {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   bar = callPackage ../tools/system/bar {};
 
   base16-shell-preview = callPackage ../misc/base16-shell-preview { };
@@ -1394,6 +1402,8 @@ in
 
   clac = callPackage ../tools/misc/clac {};
 
+  clash = callPackage ../tools/networking/clash { };
+
   clasp = callPackage ../tools/misc/clasp { };
 
   cli53 = callPackage ../tools/admin/cli53 { };
@@ -2516,6 +2526,8 @@ in
     caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { };
   };
 
+  age = callPackage ../tools/security/age { };
+
   brotli = callPackage ../tools/compression/brotli { };
 
   biosdevname = callPackage ../tools/networking/biosdevname { };
@@ -2953,6 +2965,7 @@ in
 
   uutils-coreutils = callPackage ../tools/misc/uutils-coreutils {
     inherit (pythonPackages) sphinx;
+    inherit (darwin.apple_sdk.frameworks) Security;
   };
 
   volctl = callPackage ../tools/audio/volctl { };
@@ -3300,6 +3313,7 @@ in
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+    python = python3;
   });
   fontforge-gtk = fontforge.override {
     withSpiro = true;
@@ -3784,6 +3798,8 @@ in
 
   gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { };
 
+  gsmlib = callPackage ../development/libraries/gsmlib { };
+
   gssdp = callPackage ../development/libraries/gssdp { };
 
   gt5 = callPackage ../tools/system/gt5 { };
@@ -5806,7 +5822,8 @@ in
 
   prototypejs = callPackage ../development/libraries/prototypejs { };
 
-  proxmark3 = callPackage ../tools/security/proxmark3 { };
+  inherit (callPackages ../tools/security/proxmark3 { gcc-arm-embedded = gcc-arm-embedded-8; })
+    proxmark3 proxmark3-unstable;
 
   proxychains = callPackage ../tools/networking/proxychains { };
 
@@ -5907,7 +5924,9 @@ in
   qesteidutil = libsForQt5.callPackage ../tools/security/qesteidutil { } ;
   qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
 
-  qgrep = callPackage ../tools/text/qgrep {};
+  qgrep = callPackage ../tools/text/qgrep {
+    inherit (darwin.apple_sdk.frameworks) CoreServices CoreFoundation;
+  };
 
   qhull = callPackage ../development/libraries/qhull { };
 
@@ -5971,6 +5990,8 @@ in
 
   rc = callPackage ../shells/rc { };
 
+  rdbtools = callPackage ../development/tools/rdbtools { python = python3; };
+
   rdma-core = callPackage ../os-specific/linux/rdma-core { };
 
   react-native-debugger = callPackage ../development/tools/react-native-debugger { };
@@ -5984,6 +6005,8 @@ in
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
+  reredirect = callPackage ../tools/misc/reredirect { };
+
   retext = libsForQt5.callPackage ../applications/editors/retext { };
 
   richgo = callPackage ../development/tools/richgo {  };
@@ -6276,6 +6299,8 @@ in
 
   shocco = callPackage ../tools/text/shocco { };
 
+  shorewall = callPackage ../tools/networking/shorewall { };
+
   shotwell = callPackage ../applications/graphics/shotwell { };
 
   shout = nodePackages.shout;
@@ -8092,36 +8117,11 @@ in
 
   gcl_2_6_13_pre = callPackage ../development/compilers/gcl/2.6.13-pre.nix { };
 
-  gcc-arm-embedded-4_7 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.7-2013q3-20130916";
-    releaseType = "update";
-    sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-4_8 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.8-2014q1-20140314";
-    releaseType = "update";
-    sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-4_9 = pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    version = "4.9-2015q1-20150306";
-    releaseType = "update";
-    sha256 = "c5e0025b065750bbd76b5357b4fc8606d88afbac9ff55b8a82927b4b96178154";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
-  gcc-arm-embedded-5 = pkgs.pkgsi686Linux.callPackage ../development/compilers/gcc-arm-embedded {
-    dirName = "5.0";
-    subdirName = "5-2016-q2-update";
-    version = "5.4-2016q2-20160622";
-    releaseType = "update";
-    sha256 = "1r0rqbnw7rf94f5bsa3gi8bick4xb7qnp1dkvdjfbvqjvysvc44r";
-    ncurses = pkgsi686Linux.ncurses5;
-  };
   gcc-arm-embedded-6 = callPackage ../development/compilers/gcc-arm-embedded/6 {};
   gcc-arm-embedded-7 = callPackage ../development/compilers/gcc-arm-embedded/7 {};
   gcc-arm-embedded-8 = callPackage ../development/compilers/gcc-arm-embedded/8 {};
-  gcc-arm-embedded = gcc-arm-embedded-8;
+  gcc-arm-embedded-9 = callPackage ../development/compilers/gcc-arm-embedded/9 {};
+  gcc-arm-embedded = gcc-arm-embedded-9;
 
   gforth = callPackage ../development/compilers/gforth {};
 
@@ -8154,7 +8154,7 @@ in
 
   purescript-psa = nodePackages.purescript-psa;
 
-  spago = haskell.lib.justStaticExecutables haskellPackages.spago;
+  spago = callPackage ../development/tools/purescript/spago { };
 
   pulp = nodePackages.pulp;
 
@@ -8457,7 +8457,7 @@ in
 
   llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 ({
     isl = isl_0_14;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8465,7 +8465,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_39.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_39.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8473,7 +8473,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_4.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_4.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv;
   });
 
@@ -8481,7 +8481,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_5.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_5.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
@@ -8489,7 +8489,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_6.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_6.libraries;
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     # with gcc-7 on i686: undefined reference to `__divmoddi4'
     # Failing tests with gcc8.
     stdenv = overrideCC stdenv (if stdenv.hostPlatform.isi686 then gcc6 else gcc7);
@@ -8499,7 +8499,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_7.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
-  } // stdenv.lib.optionalAttrs (buildPackages.stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
@@ -8507,7 +8507,7 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_8.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_8.libraries;
-  } // stdenv.lib.optionalAttrs (buildPackages.stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
@@ -8515,14 +8515,13 @@ in
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_9.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_9.libraries;
-  } // stdenv.lib.optionalAttrs (buildPackages.stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
   llvmPackages_latest = llvmPackages_9;
 
   lorri = callPackage ../tools/misc/lorri {
-    inherit (darwin) cf-private;
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
 
@@ -9377,6 +9376,7 @@ in
   rubyPackages_2_4 = recurseIntoAttrs ruby_2_4.gems;
   rubyPackages_2_5 = recurseIntoAttrs ruby_2_5.gems;
   rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
+  rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
 
   mruby = callPackage ../development/compilers/mruby { };
 
@@ -9391,7 +9391,7 @@ in
   spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
   spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
     inherit (darwin) libobjc;
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
   }));
   spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
@@ -10589,7 +10589,6 @@ in
 
   texlab = callPackage ../development/tools/misc/texlab {
     inherit (darwin.apple_sdk.frameworks) Security;
-    texlab-citeproc-build-deps = nodePackages."texlab-citeproc-build-deps-../tools/misc/texlab/citeproc";
   };
 
   tflint = callPackage ../development/tools/analysis/tflint { };
@@ -10772,7 +10771,7 @@ in
 
   arrow-cpp = callPackage ../development/libraries/arrow-cpp ({
     gtest = gtest.override { static = true; };
-  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
     stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4'
   });
 
@@ -11192,7 +11191,6 @@ in
     inherit (gst_all_1)
       gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
       gst-libav;
-    inherit (pythonPackages) gst-python;
   };
 
   fcgi = callPackage ../development/libraries/fcgi { };
@@ -11663,6 +11661,8 @@ in
 
   glib-networking = callPackage ../development/libraries/glib-networking {};
 
+  glirc = haskell.lib.justStaticExecutables haskellPackages.glirc;
+
   gom = callPackage ../development/libraries/gom { };
 
   ace = callPackage ../development/libraries/ace { };
@@ -11771,6 +11771,8 @@ in
 
   gtkspellmm = callPackage ../development/libraries/gtkspellmm { };
 
+  gtk-layer-shell = callPackage ../development/libraries/gtk-layer-shell { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gumbo = callPackage ../development/libraries/gumbo { };
@@ -11851,27 +11853,27 @@ in
   icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
     nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
   } //
-    (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+    (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu59 = callPackage ../development/libraries/icu/59.nix ({
     nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu60 = callPackage ../development/libraries/icu/60.nix ({
     nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu63 = callPackage ../development/libraries/icu/63.nix ({
     nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
   icu64 = callPackage ../development/libraries/icu/64.nix ({
     nativeBuildRoot = buildPackages.icu64.override { buildRootOnly = true; };
-  } // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+  } // (stdenv.lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
 
@@ -12217,6 +12219,8 @@ in
 
   libcredis = callPackage ../development/libraries/libcredis { };
 
+  libctb = callPackage ../development/libraries/libctb { };
+
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
   libcouchbase = callPackage ../development/libraries/libcouchbase { };
@@ -16479,7 +16483,7 @@ in
       virtualbox = pkgs.virtualboxHardened;
     };
 
-    wireguard = callPackage ../os-specific/linux/wireguard { };
+    wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
 
@@ -16617,9 +16621,13 @@ in
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
 
-  libselinux = callPackage ../os-specific/linux/libselinux { };
+  libselinux = callPackage ../os-specific/linux/libselinux {
+    python = python3;
+  };
 
-  libsemanage = callPackage ../os-specific/linux/libsemanage { };
+  libsemanage = callPackage ../os-specific/linux/libsemanage {
+    python = python3;
+  };
 
   libraw = callPackage ../development/libraries/libraw { };
 
@@ -18605,6 +18613,7 @@ in
 
   emacs26-nox = lowPrio (appendToName "nox" (emacs26.override {
     withX = false;
+    withNS = false;
     withGTK2 = false;
     withGTK3 = false;
   }));
@@ -19306,6 +19315,8 @@ in
 
   hashit = callPackage ../tools/misc/hashit { };
 
+  heimer = libsForQt5.callPackage ../applications/misc/heimer { };
+
   hello = callPackage ../applications/misc/hello { };
   hello-unfree = callPackage ../applications/misc/hello-unfree { };
 
@@ -20599,8 +20610,8 @@ in
   osmo = callPackage ../applications/office/osmo { };
 
   palemoon = callPackage ../applications/networking/browsers/palemoon {
-    # https://forum.palemoon.org/viewtopic.php?f=57&t=15296#p111146
-    stdenv = gcc49Stdenv;
+    # https://www.palemoon.org/sourcecode.shtml
+    stdenv = gcc7Stdenv;
   };
 
   pamix = callPackage ../applications/audio/pamix { };
@@ -21452,7 +21463,9 @@ in
 
   tailor = callPackage ../applications/version-management/tailor {};
 
-  taizen = callPackage ../applications/misc/taizen { };
+  taizen = callPackage ../applications/misc/taizen {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   tangogps = callPackage ../applications/misc/tangogps {
     gconf = gnome2.GConf;
@@ -21670,6 +21683,8 @@ in
 
   twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
 
+  ueberzug = with python3Packages; toPythonApplication ueberzug;
+
   umurmur = callPackage ../applications/networking/umurmur { };
 
   udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
@@ -22379,6 +22394,8 @@ in
 
   yed = callPackage ../applications/graphics/yed {};
 
+  yeetgif = callPackage ../applications/graphics/yeetgif { };
+
   inherit (gnome3) yelp;
 
   yelp-tools = callPackage ../development/misc/yelp-tools { };
@@ -23661,10 +23678,16 @@ in
 
   kssd = callPackage ../applications/science/biology/kssd { };
 
+  last = callPackage ../applications/science/biology/last { };
+
   macse = callPackage ../applications/science/biology/macse { };
 
   migrate = callPackage ../applications/science/biology/migrate { };
 
+  minia = callPackage ../applications/science/biology/minia {
+    boost = boost159;
+  };
+
   mirtk = callPackage ../development/libraries/science/biology/mirtk { };
 
   muscle = callPackage ../applications/science/biology/muscle { };
@@ -23751,6 +23774,8 @@ in
 
   svaba = callPackage ../applications/science/biology/svaba { };
 
+  tebreak = callPackage ../applications/science/biology/tebreak { };
+
   trimal = callPackage ../applications/science/biology/trimal { };
 
   truvari = callPackage ../applications/science/biology/truvari { };
@@ -24531,7 +24556,9 @@ in
 
   dpkg = callPackage ../tools/package-management/dpkg { };
 
-  ekiga = callPackage ../applications/networking/instant-messengers/ekiga { };
+  ekiga = callPackage ../applications/networking/instant-messengers/ekiga {
+    boost = boost167;
+  };
 
   dumb = callPackage ../misc/dumb { };
 
@@ -25146,11 +25173,7 @@ in
   seafile-shared = callPackage ../misc/seafile-shared { };
 
   serviio = callPackage ../servers/serviio {};
-  selinux-python = callPackage ../os-specific/linux/selinux-python {
-    # needs python3 bindings
-    libselinux = libselinux.override { python = python3; };
-    libsemanage = libsemanage.override { python = python3; };
-  };
+  selinux-python = callPackage ../os-specific/linux/selinux-python { };
 
   slock = callPackage ../misc/screensavers/slock {
     conf = config.slock.conf or null;
@@ -25253,6 +25276,8 @@ in
     inherit (gnome2) GConf;
   };
 
+  unityhub = callPackage ../development/tools/unityhub { };
+
   urbit = callPackage ../misc/urbit { };
 
   utf8proc = callPackage ../development/libraries/utf8proc { };
@@ -25699,4 +25724,6 @@ in
 
   sentencepiece = callPackage ../development/libraries/sentencepiece {};
 
+  kcli = callPackage ../development/tools/kcli {};
+
 }
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 8f1133d9ba2..c4c18b264f1 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -62,6 +62,18 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_7;
       llvmPackages = pkgs.llvmPackages_7;
     };
+    ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix {
+      bootPkgs = packages.ghc863Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_7;
+      llvmPackages = pkgs.llvmPackages_7;
+    };
+    ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix {
+      bootPkgs = packages.ghc863Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_9;
+      llvmPackages = pkgs.llvmPackages_9;
+    };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs = packages.ghc863Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -120,6 +132,16 @@ in {
       ghc = bh.compiler.ghc881;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
     };
+    ghc882 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc882;
+      ghc = bh.compiler.ghc882;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
+    };
+    ghc8101 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8101;
+      ghc = bh.compiler.ghc8101;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
+    };
     ghcHEAD = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghcHEAD;
       ghc = bh.compiler.ghcHEAD;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4f884e91e26..4a7743b1090 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -191,6 +191,8 @@ let
 
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
+    cpu = callPackage ../development/ocaml-modules/cpu { };
+
     cpuid = callPackage ../development/ocaml-modules/cpuid { };
 
     crunch = callPackage ../development/tools/ocaml/crunch { };
@@ -504,6 +506,8 @@ let
       lwt = ocaml_lwt;
     };
 
+    macaddr = callPackage ../development/ocaml-modules/macaddr { };
+
     macaque = callPackage ../development/ocaml-modules/macaque { };
 
     magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
@@ -833,8 +837,6 @@ let
 
     sedlex = callPackage ../development/ocaml-modules/sedlex { };
 
-    setcore = callPackage ../development/ocaml-modules/setcore { };
-
     sodium = callPackage ../development/ocaml-modules/sodium { };
 
     spelll = callPackage ../development/ocaml-modules/spelll { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3a045f330eb..11ead718270 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -550,6 +550,8 @@ in {
     inherit (pkgs.llvmPackages) openmp libcxx libcxxabi;
   };
 
+  databases = callPackage ../development/python-modules/databases { };
+
   datamodeldict = callPackage ../development/python-modules/datamodeldict { };
 
   datasette = callPackage ../development/python-modules/datasette { };
@@ -717,8 +719,6 @@ in {
 
   helper = callPackage ../development/python-modules/helper { };
 
-  histbook = callPackage ../development/python-modules/histbook { };
-
   hdmedians = callPackage ../development/python-modules/hdmedians { };
 
   hocr-tools = callPackage ../development/python-modules/hocr-tools { };
@@ -757,6 +757,8 @@ in {
 
   jira = callPackage ../development/python-modules/jira { };
 
+  junitparser = callPackage ../development/python-modules/junitparser { };
+
   jwcrypto = callPackage ../development/python-modules/jwcrypto { };
 
   kconfiglib = callPackage ../development/python-modules/kconfiglib { };
@@ -1456,16 +1458,22 @@ in {
 
   aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
 
+  aiomysql = callPackage ../development/python-modules/aiomysql { };
+
   aioprocessing = callPackage ../development/python-modules/aioprocessing { };
 
   aioresponses = callPackage ../development/python-modules/aioresponses { };
 
+  aiosqlite = callPackage ../development/python-modules/aiosqlite { };
+
   aiorpcx = callPackage ../development/python-modules/aiorpcx { };
 
   aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
 
   aiounifi = callPackage ../development/python-modules/aiounifi { };
 
+  aiounittest = callPackage ../development/python-modules/aiounittest { };
+
   aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
 
   ajpy = callPackage ../development/python-modules/ajpy { };
@@ -1704,6 +1712,10 @@ in {
 
   bumps = callPackage ../development/python-modules/bumps {};
 
+  bx-python = callPackage ../development/python-modules/bx-python {
+    inherit (pkgs) zlib;
+  };
+
   cached-property = callPackage ../development/python-modules/cached-property { };
 
   caffe = toPythonModule (pkgs.caffe.override {
@@ -1942,6 +1954,8 @@ in {
 
   certifi = callPackage ../development/python-modules/certifi { };
 
+  certipy = callPackage ../development/python-modules/certipy {};
+ 
   characteristic = callPackage ../development/python-modules/characteristic { };
 
   chart-studio = callPackage ../development/python-modules/chart-studio { };
@@ -2598,6 +2612,8 @@ in {
   then callPackage ../development/python-modules/gurobipy/linux.nix {}
   else throw "gurobipy not yet supported on ${stdenv.hostPlatform.system}";
 
+  hass-nabucasa = callPackage ../development/python-modules/hass-nabucasa { };
+
   hbmqtt = callPackage ../development/python-modules/hbmqtt { };
 
   hiro = callPackage ../development/python-modules/hiro {};
@@ -2614,10 +2630,14 @@ in {
 
   hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
 
+  hstspreload = callPackage ../development/python-modules/hstspreload { };
+
   htmlmin = callPackage ../development/python-modules/htmlmin {};
 
   httpauth = callPackage ../development/python-modules/httpauth { };
 
+  httpx = callPackage ../development/python-modules/httpx { };
+
   idna-ssl = callPackage ../development/python-modules/idna-ssl { };
 
   identify = callPackage ../development/python-modules/identify { };
@@ -2914,6 +2934,8 @@ in {
     inherit (pkgs) meson pkgconfig;
   };
 
+  python-lzf = callPackage ../development/python-modules/python-lzf { };
+
   pyramid = callPackage ../development/python-modules/pyramid { };
 
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
@@ -2940,6 +2962,10 @@ in {
 
   python-ctags3 = callPackage ../development/python-modules/python-ctags3 { };
 
+  python-lzo = callPackage ../development/python-modules/python-lzo {
+    inherit (pkgs) lzo;
+  };
+
   junos-eznc = callPackage ../development/python-modules/junos-eznc {};
 
   raven = callPackage ../development/python-modules/raven { };
@@ -3136,6 +3162,8 @@ in {
 
   django_polymorphic = callPackage ../development/python-modules/django-polymorphic { };
 
+  django-postgresql-netfields = callPackage ../development/python-modules/django-postgresql-netfields { };
+
   django-rest-auth = callPackage ../development/python-modules/django-rest-auth { };
 
   django-sampledatahelper = callPackage ../development/python-modules/django-sampledatahelper { };
@@ -3970,7 +3998,8 @@ in {
 
   matrix-nio = callPackage ../development/python-modules/matrix-nio { };
 
-  mautrix-appservice = callPackage ../development/python-modules/mautrix-appservice { };
+  mautrix = callPackage ../development/python-modules/mautrix { };
+  mautrix-appservice = self.mautrix; # alias 2019-12-28
 
   maya = callPackage ../development/python-modules/maya { };
 
@@ -4302,6 +4331,8 @@ in {
 
   orderedset = callPackage ../development/python-modules/orderedset { };
 
+  python-multipart = callPackage ../development/python-modules/python-multipart { };
+
   python-otr = callPackage ../development/python-modules/python-otr { };
 
   plone-testing = callPackage ../development/python-modules/plone-testing { };
@@ -4350,6 +4381,8 @@ in {
 
   fasteners = callPackage ../development/python-modules/fasteners { };
 
+  aiocontextvars = callPackage ../development/python-modules/aiocontextvars { };
+
   aioeventlet = callPackage ../development/python-modules/aioeventlet { };
 
   aiokafka = callPackage ../development/python-modules/aiokafka { };
@@ -4498,6 +4531,12 @@ in {
 
   precis-i18n = callPackage ../development/python-modules/precis-i18n { };
 
+  prox-tv = callPackage ../development/python-modules/prox-tv {
+    # We need to use blas instead of openblas on darwin,
+    # see https://github.com/NixOS/nixpkgs/pull/45013.
+    useOpenblas = ! stdenv.isDarwin;
+  };
+
   pvlib = callPackage ../development/python-modules/pvlib { };
 
   pybase64 = callPackage ../development/python-modules/pybase64 { };
@@ -4701,6 +4740,8 @@ in {
 
   pyqrcode = callPackage ../development/python-modules/pyqrcode { };
 
+  pyrabbit2 = callPackage ../development/python-modules/pyrabbit2 { };
+
   pyrr = callPackage ../development/python-modules/pyrr { };
 
   pysha3 = callPackage ../development/python-modules/pysha3 { };
@@ -5102,6 +5143,8 @@ in {
 
   typesentry = callPackage ../development/python-modules/typesentry { };
 
+  typesystem = callPackage ../development/python-modules/typesystem { };
+
   s3transfer = callPackage ../development/python-modules/s3transfer { };
 
   seqdiag = callPackage ../development/python-modules/seqdiag { };
@@ -5188,6 +5231,8 @@ in {
 
   snowballstemmer = callPackage ../development/python-modules/snowballstemmer { };
 
+  snitun = callPackage ../development/python-modules/snitun { };
+
   snscrape = callPackage ../development/python-modules/snscrape { };
 
   snug = callPackage ../development/python-modules/snug { };
@@ -5358,6 +5403,10 @@ in {
 
   uarray = callPackage ../development/python-modules/uarray { };
 
+  ueberzug = callPackage ../development/python-modules/ueberzug {
+    inherit (pkgs.xorg) libX11 libXext;
+  };
+
   ukpostcodeparser = callPackage ../development/python-modules/ukpostcodeparser { };
 
   umap-learn = callPackage ../development/python-modules/umap-learn { };
@@ -6067,6 +6116,8 @@ in {
 
   ofxtools = callPackage ../development/python-modules/ofxtools { };
 
+  orm = callPackage ../development/python-modules/orm { };
+
   basemap = callPackage ../development/python-modules/basemap { };
 
   dict2xml = callPackage ../development/python-modules/dict2xml { };
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 003fb9c4fff..5e392ff1b88 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -135,6 +135,11 @@ in
   /* Linux on the fuloong */
   fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
 
+  /* Javacript */
+  ghcjs = mapTestOnCross lib.systems.examples.ghcjs {
+    haskell.packages.ghcjs.hello = nativePlatforms;
+  };
+
   /* Linux on Raspberrypi */
   rpi = mapTestOnCross lib.systems.examples.raspberryPi rpiCommon;
   rpi-musl = mapTestOnCross lib.systems.examples.muslpi rpiCommon;