summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/trivial.nix21
-rw-r--r--maintainers/maintainer-list.nix43
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml7
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md2
-rwxr-xr-xnixos/lib/test-driver/test-driver.py6
-rw-r--r--nixos/modules/hardware/video/nvidia.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/node.nix4
-rw-r--r--nixos/modules/services/networking/iscsi/root-initiator.nix9
-rw-r--r--nixos/modules/services/networking/multipath.nix572
-rw-r--r--nixos/modules/services/networking/unifi.nix6
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix99
-rw-r--r--nixos/modules/services/web-apps/nextcloud.xml6
-rw-r--r--nixos/modules/system/boot/stage-1.nix49
-rw-r--r--nixos/tests/iscsi-multipath-root.nix267
-rw-r--r--nixos/tests/nextcloud/basic.nix6
-rw-r--r--pkgs/applications/audio/csound/default.nix3
-rw-r--r--pkgs/applications/audio/easyeffects/default.nix18
-rw-r--r--pkgs/applications/audio/in-formant/default.nix45
-rw-r--r--pkgs/applications/audio/librespot/cargo-lock.patch3817
-rw-r--r--pkgs/applications/audio/librespot/default.nix7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix18
-rw-r--r--pkgs/applications/editors/emacs/generic.nix2
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/graphics/blockbench-electron/default.nix2
-rw-r--r--pkgs/applications/graphics/drawing/default.nix4
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix1
-rw-r--r--pkgs/applications/graphics/sane/frontends.nix1
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix1
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix4
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix4
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix1
-rw-r--r--pkgs/applications/misc/grip/default.nix2
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix6
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix1
-rw-r--r--pkgs/applications/misc/markets/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--pkgs/applications/misc/onboard/default.nix4
-rw-r--r--pkgs/applications/misc/orca/default.nix2
-rw-r--r--pkgs/applications/misc/themechanger/default.nix65
-rw-r--r--pkgs/applications/misc/vifm/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix7
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix6
-rwxr-xr-xpkgs/applications/networking/cluster/fluxcd/update.sh15
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update.sh4
-rwxr-xr-xpkgs/applications/networking/cluster/linkerd/update-edge.sh6
-rwxr-xr-xpkgs/applications/networking/cluster/linkerd/update-stable.sh12
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix38
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix21
-rw-r--r--pkgs/applications/networking/opsdroid/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix2
-rw-r--r--pkgs/applications/office/antiword/default.nix1
-rw-r--r--pkgs/applications/office/gnucash/default.nix2
-rw-r--r--pkgs/applications/office/minetime/default.nix50
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix1
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix2
-rw-r--r--pkgs/applications/science/electronics/tkgate/1.x.nix1
-rw-r--r--pkgs/applications/science/logic/cadical/default.nix1
-rw-r--r--pkgs/applications/science/logic/coq/default.nix9
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix27
-rw-r--r--pkgs/applications/science/logic/z3/4.4.0.nix2
-rw-r--r--pkgs/applications/science/math/R/default.nix2
-rw-r--r--pkgs/applications/science/math/eukleides/default.nix1
-rw-r--r--pkgs/applications/science/math/maxima/default.nix1
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/ctx/default.nix58
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix15
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix7
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix5
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock2
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.lock22
-rw-r--r--pkgs/applications/version-management/redmine/default.nix4
-rw-r--r--pkgs/applications/version-management/redmine/gemset.nix40
-rw-r--r--pkgs/applications/version-management/verco/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-ndi.nix2
-rw-r--r--pkgs/build-support/fetchnextcloudapp/default.nix37
-rw-r--r--pkgs/data/fonts/gdouros/default.nix28
-rw-r--r--pkgs/data/themes/adwaita-qt/default.nix2
-rw-r--r--pkgs/desktops/gnome/apps/gnome-music/default.nix10
-rw-r--r--pkgs/desktops/gnome/core/gnome-user-share/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/nautilus/default.nix2
-rw-r--r--pkgs/desktops/gnome/misc/gnome-tweaks/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-user-share/default.nix2
-rw-r--r--pkgs/development/compilers/crystal/default.nix32
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix2
-rw-r--r--pkgs/development/compilers/gprolog/default.nix1
-rw-r--r--pkgs/development/compilers/mint/default.nix6
-rw-r--r--pkgs/development/compilers/yap/default.nix1
-rw-r--r--pkgs/development/compilers/zz/default.nix19
-rw-r--r--pkgs/development/coq-modules/aac-tactics/default.nix2
-rw-r--r--pkgs/development/coq-modules/bignums/default.nix1
-rw-r--r--pkgs/development/coq-modules/equations/default.nix3
-rw-r--r--pkgs/development/coq-modules/fourcolor/default.nix4
-rw-r--r--pkgs/development/coq-modules/goedel/default.nix2
-rw-r--r--pkgs/development/coq-modules/graph-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/hierarchy-builder/default.nix4
-rw-r--r--pkgs/development/coq-modules/iris/default.nix4
-rw-r--r--pkgs/development/coq-modules/itauto/default.nix2
-rw-r--r--pkgs/development/coq-modules/multinomials/default.nix2
-rw-r--r--pkgs/development/coq-modules/paco/default.nix4
-rw-r--r--pkgs/development/coq-modules/parsec/default.nix2
-rw-r--r--pkgs/development/coq-modules/reglang/default.nix2
-rw-r--r--pkgs/development/coq-modules/relation-algebra/default.nix10
-rw-r--r--pkgs/development/coq-modules/semantics/default.nix3
-rw-r--r--pkgs/development/coq-modules/serapi/default.nix22
-rw-r--r--pkgs/development/coq-modules/stdpp/default.nix4
-rw-r--r--pkgs/development/libraries/adns/default.nix1
-rw-r--r--pkgs/development/libraries/boost/generic.nix1
-rw-r--r--pkgs/development/libraries/buddy/default.nix1
-rw-r--r--pkgs/development/libraries/dleyna-core/default.nix2
-rw-r--r--pkgs/development/libraries/geoclue/default.nix8
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix1
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix1
-rw-r--r--pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--pkgs/development/libraries/libgxps/default.nix2
-rw-r--r--pkgs/development/libraries/libshumate/default.nix2
-rw-r--r--pkgs/development/libraries/nss/3.53.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix1
-rw-r--r--pkgs/development/libraries/tecla/default.nix1
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/gen.nix30
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/unix.nix48
-rw-r--r--pkgs/development/ocaml-modules/data-encoding/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ff/pbt.nix21
-rw-r--r--pkgs/development/ocaml-modules/ff/sig.nix27
-rw-r--r--pkgs/development/ocaml-modules/getopt/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/hashcons/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/bson.nix3
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/lwt-canceler/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt-exit/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/pyml/default.nix44
-rw-r--r--pkgs/development/ocaml-modules/tar/default.nix39
-rw-r--r--pkgs/development/ocaml-modules/tar/unix.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix39
-rw-r--r--pkgs/development/ocaml-modules/tezos/base.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/clic.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix38
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-base.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/context.nix34
-rw-r--r--pkgs/development/ocaml-modules/tezos/crypto.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/error-monad.nix7
-rw-r--r--pkgs/development/ocaml-modules/tezos/event-logging.nix16
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue.nix17
-rw-r--r--pkgs/development/ocaml-modules/tezos/legacy-store.nix40
-rw-r--r--pkgs/development/ocaml-modules/tezos/lmdb.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix13
-rw-r--r--pkgs/development/ocaml-modules/tezos/micheline.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-proxy.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-registration.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p-services.nix3
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p.nix9
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix19
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-compiler.nix9
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix22
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment.nix12
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-updater.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/proxy.nix36
-rw-r--r--pkgs/development/ocaml-modules/tezos/requester.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/sapling.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-context.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-services.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell.nix45
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-backends.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-services.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib-unix.nix17
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/store.nix48
-rw-r--r--pkgs/development/ocaml-modules/tezos/test-helpers.nix33
-rw-r--r--pkgs/development/ocaml-modules/tezos/test-services.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/validation.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/version.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/workers.nix5
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix4
-rw-r--r--pkgs/development/python-modules/accuweather/default.nix4
-rw-r--r--pkgs/development/python-modules/aiodiscover/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/augeas/default.nix2
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix4
-rw-r--r--pkgs/development/python-modules/brother/default.nix4
-rw-r--r--pkgs/development/python-modules/bugzilla/default.nix2
-rw-r--r--pkgs/development/python-modules/deepdiff/default.nix4
-rw-r--r--pkgs/development/python-modules/django-mailman3/default.nix2
-rw-r--r--pkgs/development/python-modules/dogtail/default.nix2
-rw-r--r--pkgs/development/python-modules/dragonfly/default.nix77
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/google-api-core/default.nix2
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/google-auth-oauthlib/default.nix2
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-appengine-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-core/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-dataproc/default.nix7
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix5
-rw-r--r--pkgs/development/python-modules/google-cloud-dns/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-firestore/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-iam/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-kms/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-org-policy/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-os-config/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix7
-rw-r--r--pkgs/development/python-modules/google-cloud-translate/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix2
-rw-r--r--pkgs/development/python-modules/ifcopenshell/default.nix2
-rw-r--r--pkgs/development/python-modules/iminuit/default.nix4
-rw-r--r--pkgs/development/python-modules/intensity-normalization/default.nix4
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/0001-stub.patch156
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/0002-exec-path.patch34
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/0003-ffi-path.patch13
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/0004-fork-cmake.patch20
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/0006-fork-configure.patch26
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/default.nix61
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/fork.nix94
-rw-r--r--pkgs/development/python-modules/mailman-hyperkitty/default.nix2
-rw-r--r--pkgs/development/python-modules/mailmanclient/default.nix2
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix54
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/nettigo-air-monitor/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix15
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/progressbar2/default.nix4
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--pkgs/development/python-modules/recommonmark/default.nix5
-rw-r--r--pkgs/development/python-modules/sopel/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx_rtd_theme/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix4
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/timecop/default.nix23
-rw-r--r--pkgs/development/python-modules/ush/default.nix27
-rw-r--r--pkgs/development/python-modules/velbus-aio/default.nix10
-rw-r--r--pkgs/development/python-modules/versioneer/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix13
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix6
-rw-r--r--pkgs/development/tools/dockle/default.nix4
-rw-r--r--pkgs/development/tools/misc/dfu-util/default.nix4
-rw-r--r--pkgs/development/tools/misc/fsatrace/default.nix1
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/default.nix1
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json11
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-deadlinks/default.nix9
-rw-r--r--pkgs/development/tools/rust/cargo-spellcheck/default.nix6
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix4
-rwxr-xr-xpkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js2
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/postman/default.nix12
-rw-r--r--pkgs/games/gzdoom/default.nix8
-rw-r--r--pkgs/games/stockfish/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/splix/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix7
-rw-r--r--pkgs/misc/emulators/ryujinx/default.nix6
-rw-r--r--pkgs/misc/vim-plugins/generated.nix276
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix14
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/tbs/default.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix2
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_dnssd/default.nix10
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix1
-rw-r--r--pkgs/servers/mail/dovecot/default.nix2
-rw-r--r--pkgs/servers/mail/mailman/default.nix2
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix2
-rw-r--r--pkgs/servers/mail/mailman/postorius.nix2
-rw-r--r--pkgs/servers/mail/mailman/web.nix2
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix2
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/pufferpanel/default.nix2
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix18
-rw-r--r--pkgs/servers/teleport/default.nix5
-rw-r--r--pkgs/shells/bash/4.4.nix1
-rw-r--r--pkgs/shells/bash/5.1.nix2
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix2
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/tools/admin/analog/default.nix1
-rw-r--r--pkgs/tools/admin/netplan/default.nix9
-rw-r--r--pkgs/tools/backup/duplicity/default.nix1
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix2
-rw-r--r--pkgs/tools/graphics/mscgen/default.nix1
-rw-r--r--pkgs/tools/misc/fclones/default.nix9
-rw-r--r--pkgs/tools/misc/parallel/wrapper.nix21
-rw-r--r--pkgs/tools/misc/recutils/default.nix46
-rw-r--r--pkgs/tools/misc/screen/default.nix2
-rw-r--r--pkgs/tools/misc/xstow/default.nix22
-rw-r--r--pkgs/tools/misc/zthrottle/default.nix2
-rw-r--r--pkgs/tools/networking/gvproxy/default.nix4
-rw-r--r--pkgs/tools/networking/nbd/default.nix1
-rw-r--r--pkgs/tools/networking/packetdrill/default.nix12
-rw-r--r--pkgs/tools/networking/pdsh/default.nix1
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/22.nix2
-rw-r--r--pkgs/tools/security/naabu/default.nix22
-rw-r--r--pkgs/tools/system/smartmontools/default.nix2
-rw-r--r--pkgs/tools/system/tree/default.nix1
-rw-r--r--pkgs/tools/typesetting/coq2html/default.nix (renamed from pkgs/applications/science/logic/coq2html/default.nix)4
-rw-r--r--pkgs/tools/typesetting/lowdown/default.nix4
-rwxr-xr-xpkgs/tools/virtualization/linode-cli/update.sh4
-rw-r--r--pkgs/top-level/aliases.nix5
-rw-r--r--pkgs/top-level/all-packages.nix24
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix44
-rw-r--r--pkgs/top-level/python-packages.nix8
348 files changed, 4022 insertions, 4785 deletions
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 7956ba4bde6..a389c7cdfac 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -303,7 +303,26 @@ rec {
   # TODO: figure out a clever way to integrate location information from
   # something like __unsafeGetAttrPos.
 
-  warn = msg: builtins.trace "warning: ${msg}";
+  /*
+    Print a warning before returning the second argument. This function behaves
+    like `builtins.trace`, but requires a string message and formats it as a
+    warning, including the `warning: ` prefix.
+
+    To get a call stack trace and abort evaluation, set the environment variable
+    `NIX_ABORT_ON_WARN=true` and set the Nix options `--option pure-eval false --show-trace`
+
+    Type: string -> a -> a
+  */
+  warn =
+    if lib.elem (builtins.getEnv "NIX_ABORT_ON_WARN") ["1" "true" "yes"]
+    then msg: builtins.trace "warning: ${msg}" (abort "NIX_ABORT_ON_WARN=true; warnings are treated as unrecoverable errors.")
+    else msg: builtins.trace "warning: ${msg}";
+
+  /*
+    Like warn, but only warn when the first argument is `true`.
+
+    Type: bool -> string -> a -> a
+  */
   warnIf = cond: msg: if cond then warn msg else id;
 
   info = msg: builtins.trace "INFO: ${msg}";
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index c288e8c2ff4..15de9bc00b4 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -440,6 +440,12 @@
     githubId = 173595;
     name = "Caleb Maclennan";
   };
+  ALEX11BR = {
+    email = "alexioanpopa11@gmail.com";
+    github = "ALEX11BR";
+    githubId = 49609151;
+    name = "Popa Ioan Alexandru";
+  };
   alexarice = {
     email = "alexrice999@hotmail.co.uk";
     github = "alexarice";
@@ -2090,6 +2096,16 @@
     githubId = 25088352;
     name = "Christian Kögler";
   };
+  ckie = {
+    email = "nixpkgs-0efe364@ckie.dev";
+    github = "ckiee";
+    githubId = 2526321;
+    keys = [{
+      longkeyid = "rsa4096/0x13E79449C0525215";
+      fingerprint = "539F 0655 4D35 38A5 429A  E253 13E7 9449 C052 5215";
+    }];
+    name = "ckie";
+  };
   clkamp = {
     email = "c@lkamp.de";
     github = "clkamp";
@@ -5461,6 +5477,12 @@
     githubId = 8735102;
     name = "John Ramsden";
   };
+  johnrichardrinehart = {
+    email = "johnrichardrinehart@gmail.com";
+    github = "johnrichardrinehart";
+    githubId = 6321578;
+    name = "John Rinehart";
+  };
   johntitor = {
     email = "huyuumi.dev@gmail.com";
     github = "JohnTitor";
@@ -8314,6 +8336,17 @@
     githubId = 127548;
     name = "Judson Lester";
   };
+  nzbr = {
+    email = "nixos@nzbr.de";
+    github = "nzbr";
+    githubId = 7851175;
+    name = "nzbr";
+    matrix = "@nzbr:nzbr.de";
+    keys = [{
+      longkeyid = "rsa2048/0x6C78B50B97A42F8A";
+      fingerprint = "BF3A 3EE6 3144 2C5F C9FB  39A7 6C78 B50B 97A4 2F8A";
+    }];
+  };
   nzhang-zh = {
     email = "n.zhang.hp.au@gmail.com";
     github = "nzhang-zh";
@@ -9672,16 +9705,6 @@
     githubId = 1312525;
     name = "Rongcui Dong";
   };
-  ronthecookie = {
-    name = "Ron B";
-    email = "me@ronthecookie.me";
-    github = "ronthecookie";
-    githubId = 2526321;
-    keys = [{
-      longkeyid = "rsa2048/0x6F5B32DE5E5FA80C";
-      fingerprint = "4B2C DDA5 FA35 642D 956D  7294 6F5B 32DE 5E5F A80C";
-    }];
-  };
   roosemberth = {
     email = "roosembert.palacios+nixpkgs@posteo.ch";
     github = "roosemberth";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 50aa9a5416a..17035df345a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -350,6 +350,13 @@
           controller support.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/opensvc/multipath-tools">multipath</link>,
+          the device mapper multipath (DM-MP) daemon. Available as
+          <link linkend="opt-services.multipath.enable">services.multipath</link>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-incompatibilities">
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 615c3160176..94c79b9452a 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -107,6 +107,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [joycond](https://github.com/DanielOgorchock/joycond), a service that uses `hid-nintendo` to provide nintendo joycond pairing and better nintendo switch pro controller support.
 
+- [multipath](https://github.com/opensvc/multipath-tools), the device mapper multipath (DM-MP) daemon. Available as [services.multipath](#opt-services.multipath.enable).
+
 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
 - The `services.wakeonlan` option was removed, and replaced with `networking.interfaces.<name>.wakeOnLan`.
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 56c510c4e69..e659b0c04f5 100755
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -1126,9 +1126,9 @@ class Driver:
             try:
                 yield
                 return True
-            except:
-                rootlog.error(f'Test "{name}" failed with error:')
-                raise
+            except Exception as e:
+                rootlog.error(f'Test "{name}" failed with error: "{e}"')
+                raise e
 
     def test_symbols(self) -> Dict[str, Any]:
         @contextmanager
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index b9eb7f69ef4..8f6b5c22ea4 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -213,7 +213,7 @@ in
       }
 
       {
-        assertion = cfg.powerManagement.enable -> offloadCfg.enable;
+        assertion = cfg.powerManagement.finegrained -> offloadCfg.enable;
         message = "Fine-grained power management requires offload to be enabled.";
       }
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index c45309bd6b6..df35a57d047 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -779,6 +779,7 @@
   ./services/networking/mstpd.nix
   ./services/networking/mtprotoproxy.nix
   ./services/networking/mullvad-vpn.nix
+  ./services/networking/multipath.nix
   ./services/networking/murmur.nix
   ./services/networking/mxisd.nix
   ./services/networking/namecoind.nix
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index b40d6b3ca00..62e90232e11 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -192,7 +192,7 @@ let
         serviceConfig.MemoryDenyWriteExecute = true;
         serviceConfig.NoNewPrivileges = true;
         serviceConfig.PrivateDevices = true;
-        serviceConfig.ProtectClock = true;
+        serviceConfig.ProtectClock = mkDefault true;
         serviceConfig.ProtectControlGroups = true;
         serviceConfig.ProtectHome = true;
         serviceConfig.ProtectHostname = true;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
index ed594460d95..baac21b050f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
@@ -35,6 +35,10 @@ in
           ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
           --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
       '';
+      # The systemd collector needs AF_UNIX
+      RestrictAddressFamilies = lib.optional (lib.any (x: x == "systemd") cfg.enabledCollectors) "AF_UNIX";
+      # The timex collector needs to access clock APIs
+      ProtectClock = lib.any (x: x == "timex") cfg.disabledCollectors;
     };
   };
 }
diff --git a/nixos/modules/services/networking/iscsi/root-initiator.nix b/nixos/modules/services/networking/iscsi/root-initiator.nix
index 3274878c4fa..c12aca1bc24 100644
--- a/nixos/modules/services/networking/iscsi/root-initiator.nix
+++ b/nixos/modules/services/networking/iscsi/root-initiator.nix
@@ -64,6 +64,12 @@ in
       default = false;
     };
 
+    extraIscsiCommands = mkOption {
+      description = "Extra iscsi commands to run in the initrd.";
+      default = "";
+      type = lines;
+    };
+
     extraConfig = mkOption {
       description = "Extra lines to append to /etc/iscsid.conf";
       default = null;
@@ -162,6 +168,9 @@ in
       '' else ''
         iscsiadm --mode node --targetname ${escapeShellArg cfg.target} --login
       ''}
+
+        ${cfg.extraIscsiCommands}
+
         pkill -9 iscsid
       '';
     };
diff --git a/nixos/modules/services/networking/multipath.nix b/nixos/modules/services/networking/multipath.nix
new file mode 100644
index 00000000000..1cc2ad1fc84
--- /dev/null
+++ b/nixos/modules/services/networking/multipath.nix
@@ -0,0 +1,572 @@
+{ config, lib, pkgs, ... }: with lib;
+
+# See http://christophe.varoqui.free.fr/usage.html and
+# https://github.com/opensvc/multipath-tools/blob/master/multipath/multipath.conf.5
+
+let
+  cfg = config.services.multipath;
+
+  indentLines = n: str: concatStringsSep "\n" (
+    map (line: "${fixedWidthString n " " " "}${line}") (
+      filter ( x: x != "" ) ( splitString "\n" str )
+    )
+  );
+
+  addCheckDesc = desc: elemType: check: types.addCheck elemType check
+    // { description = "${elemType.description} (with check: ${desc})"; };
+  hexChars = stringToCharacters "0123456789abcdef";
+  isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s));
+  hexStr = addCheckDesc "hexadecimal string" types.str isHexString;
+
+in {
+
+  options.services.multipath = with types; {
+
+    enable = mkEnableOption "the device mapper multipath (DM-MP) daemon";
+
+    package = mkOption {
+      type = package;
+      description = "multipath-tools package to use";
+      default = pkgs.multipath-tools;
+      defaultText = "pkgs.multipath-tools";
+    };
+
+    devices = mkOption {
+      default = [ ];
+      example = literalExpression ''
+        [
+          {
+            vendor = "\"COMPELNT\"";
+            product = "\"Compellent Vol\"";
+            path_checker = "tur";
+            no_path_retry = "queue";
+            max_sectors_kb = 256;
+          }, ...
+        ]
+      '';
+      description = ''
+        This option allows you to define arrays for use in multipath
+        groups.
+      '';
+      type = listOf (submodule {
+        options = {
+
+          vendor = mkOption {
+            type = str;
+            example = "COMPELNT";
+            description = "Regular expression to match the vendor name";
+          };
+
+          product = mkOption {
+            type = str;
+            example = "Compellent Vol";
+            description = "Regular expression to match the product name";
+          };
+
+          revision = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "Regular expression to match the product revision";
+          };
+
+          product_blacklist = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "Products with the given vendor matching this string are blacklisted";
+          };
+
+          alias_prefix = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "The user_friendly_names prefix to use for this device type, instead of the default mpath";
+          };
+
+          vpd_vendor = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "The vendor specific vpd page information, using the vpd page abbreviation";
+          };
+
+          hardware_handler = mkOption {
+            type = nullOr (enum [ "emc" "rdac" "hp_sw" "alua" "ana" ]);
+            default = null;
+            description = "The hardware handler to use for this device type";
+          };
+
+          # Optional arguments
+          path_grouping_policy = mkOption {
+            type = nullOr (enum [ "failover" "multibus" "group_by_serial" "group_by_prio" "group_by_node_name" ]);
+            default = null; # real default: "failover"
+            description = "The default path grouping policy to apply to unspecified multipaths";
+          };
+
+          uid_attribute = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "The udev attribute providing a unique path identifier (WWID)";
+          };
+
+          getuid_callout = mkOption {
+            type = nullOr str;
+            default = null;
+            description = ''
+              (Superseded by uid_attribute) The default program and args to callout
+              to obtain a unique path identifier. Should be specified with an absolute path.
+            '';
+          };
+
+          path_selector = mkOption {
+            type = nullOr (enum [
+              ''"round-robin 0"''
+              ''"queue-length 0"''
+              ''"service-time 0"''
+              ''"historical-service-time 0"''
+            ]);
+            default = null; # real default: "service-time 0"
+            description = "The default path selector algorithm to use; they are offered by the kernel multipath target";
+          };
+
+          path_checker = mkOption {
+            type = enum [ "readsector0" "tur" "emc_clariion" "hp_sw" "rdac" "directio" "cciss_tur" "none" ];
+            default = "tur";
+            description = "The default method used to determine the paths state";
+          };
+
+          prio = mkOption {
+            type = nullOr (enum [
+              "none" "const" "sysfs" "emc" "alua" "ontap" "rdac" "hp_sw" "hds"
+              "random" "weightedpath" "path_latency" "ana" "datacore" "iet"
+            ]);
+            default = null; # real default: "const"
+            description = "The name of the path priority routine";
+          };
+
+          prio_args = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "Arguments to pass to to the prio function";
+          };
+
+          features = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "Specify any device-mapper features to be used";
+          };
+
+          failback = mkOption {
+            type = nullOr str;
+            default = null; # real default: "manual"
+            description = "Tell multipathd how to manage path group failback. Quote integers as strings";
+          };
+
+          rr_weight = mkOption {
+            type = nullOr (enum [ "priorities" "uniform" ]);
+            default = null; # real default: "uniform"
+            description = ''
+              If set to priorities the multipath configurator will assign path weights
+              as "path prio * rr_min_io".
+            '';
+          };
+
+          no_path_retry = mkOption {
+            type = nullOr str;
+            default = null; # real default: "fail"
+            description = "Specify what to do when all paths are down. Quote integers as strings";
+          };
+
+          rr_min_io = mkOption {
+            type = nullOr int;
+            default = null; # real default: 1000
+            description = ''
+              Number of I/O requests to route to a path before switching to the next in the
+              same path group. This is only for Block I/O (BIO) based multipath and
+              only apply to round-robin path_selector.
+            '';
+          };
+
+          rr_min_io_rq = mkOption {
+            type = nullOr int;
+            default = null; # real default: 1
+            description = ''
+              Number of I/O requests to route to a path before switching to the next in the
+              same path group. This is only for Request based multipath and
+              only apply to round-robin path_selector.
+            '';
+          };
+
+          fast_io_fail_tmo = mkOption {
+            type = nullOr str;
+            default = null; # real default: 5
+            description = ''
+              Specify the number of seconds the SCSI layer will wait after a problem has been
+              detected on a FC remote port before failing I/O to devices on that remote port.
+              This should be smaller than dev_loss_tmo. Setting this to "off" will disable
+              the timeout. Quote integers as strings.
+            '';
+          };
+
+          dev_loss_tmo = mkOption {
+            type = nullOr str;
+            default = null; # real default: 600
+            description = ''
+              Specify the number of seconds the SCSI layer will wait after a problem has
+              been detected on a FC remote port before removing it from the system. This
+              can be set to "infinity" which sets it to the max value of 2147483647
+              seconds, or 68 years. It will be automatically adjusted to the overall
+              retry interval no_path_retry * polling_interval
+              if a number of retries is given with no_path_retry and the
+              overall retry interval is longer than the specified dev_loss_tmo value.
+              The Linux kernel will cap this value to 600 if fast_io_fail_tmo
+              is not set.
+            '';
+          };
+
+          flush_on_last_del = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "no"
+            description = ''
+              If set to "yes" multipathd will disable queueing when the last path to a
+              device has been deleted.
+            '';
+          };
+
+          user_friendly_names = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "no"
+            description = ''
+              If set to "yes", using the bindings file /etc/multipath/bindings
+              to assign a persistent and unique alias to the multipath, in the
+              form of mpath. If set to "no" use the WWID as the alias. In either
+              case this be will be overridden by any specific aliases in the
+              multipaths section.
+            '';
+          };
+
+          retain_attached_hw_handler = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "yes"
+            description = ''
+              (Obsolete for kernels >= 4.3) If set to "yes" and the SCSI layer has
+              already attached a hardware_handler to the device, multipath will not
+              force the device to use the hardware_handler specified by mutipath.conf.
+              If the SCSI layer has not attached a hardware handler, multipath will
+              continue to use its configured hardware handler.
+
+              Important Note: Linux kernel 4.3 or newer always behaves as if
+              "retain_attached_hw_handler yes" was set.
+            '';
+          };
+
+          detect_prio = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "yes"
+            description = ''
+              If set to "yes", multipath will try to detect if the device supports
+              SCSI-3 ALUA. If so, the device will automatically use the sysfs
+              prioritizer if the required sysf attributes access_state and
+              preferred_path are supported, or the alua prioritizer if not. If set
+              to "no", the prioritizer will be selected as usual.
+            '';
+          };
+
+          detect_checker = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "yes"
+            description = ''
+              If set to "yes", multipath will try to detect if the device supports
+              SCSI-3 ALUA. If so, the device will automatically use the tur checker.
+              If set to "no", the checker will be selected as usual.
+            '';
+          };
+
+          deferred_remove = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "no"
+            description = ''
+              If set to "yes", multipathd will do a deferred remove instead of a
+              regular remove when the last path device has been deleted. This means
+              that if the multipath device is still in use, it will be freed when
+              the last user closes it. If path is added to the multipath device
+              before the last user closes it, the deferred remove will be canceled.
+            '';
+          };
+
+          san_path_err_threshold = mkOption {
+            type = nullOr str;
+            default = null;
+            description = ''
+              If set to a value greater than 0, multipathd will watch paths and check
+              how many times a path has been failed due to errors.If the number of
+              failures on a particular path is greater then the san_path_err_threshold,
+              then the path will not reinstate till san_path_err_recovery_time. These
+              path failures should occur within a san_path_err_forget_rate checks, if
+              not we will consider the path is good enough to reinstantate.
+            '';
+          };
+
+          san_path_err_forget_rate = mkOption {
+            type = nullOr str;
+            default = null;
+            description = ''
+              If set to a value greater than 0, multipathd will check whether the path
+              failures has exceeded the san_path_err_threshold within this many checks
+              i.e san_path_err_forget_rate. If so we will not reinstante the path till
+              san_path_err_recovery_time.
+            '';
+          };
+
+          san_path_err_recovery_time = mkOption {
+            type = nullOr str;
+            default = null;
+            description = ''
+              If set to a value greater than 0, multipathd will make sure that when
+              path failures has exceeded the san_path_err_threshold within
+              san_path_err_forget_rate then the path will be placed in failed state
+              for san_path_err_recovery_time duration. Once san_path_err_recovery_time
+              has timeout we will reinstante the failed path. san_path_err_recovery_time
+              value should be in secs.
+            '';
+          };
+
+          marginal_path_err_sample_time = mkOption {
+            type = nullOr int;
+            default = null;
+            description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
+          };
+
+          marginal_path_err_rate_threshold = mkOption {
+            type = nullOr int;
+            default = null;
+            description = "The error rate threshold as a permillage (1/1000)";
+          };
+
+          marginal_path_err_recheck_gap_time = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
+          };
+
+          marginal_path_double_failed_time = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
+          };
+
+          delay_watch_checks = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "This option is deprecated, and mapped to san_path_err_forget_rate";
+          };
+
+          delay_wait_checks = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "This option is deprecated, and mapped to san_path_err_recovery_time";
+          };
+
+          skip_kpartx = mkOption {
+            type = nullOr (enum [ "yes" "no" ]);
+            default = null; # real default: "no"
+            description = "If set to yes, kpartx will not automatically create partitions on the device";
+          };
+
+          max_sectors_kb = mkOption {
+            type = nullOr int;
+            default = null;
+            description = "Sets the max_sectors_kb device parameter on all path devices and the multipath device to the specified value";
+          };
+
+          ghost_delay = mkOption {
+            type = nullOr int;
+            default = null;
+            description = "Sets the number of seconds that multipath will wait after creating a device with only ghost paths before marking it ready for use in systemd";
+          };
+
+          all_tg_pt = mkOption {
+            type = nullOr str;
+            default = null;
+            description = "Set the 'all targets ports' flag when registering keys with mpathpersist";
+          };
+
+        };
+      });
+    };
+
+    defaults = mkOption {
+      type = nullOr str;
+      default = null;
+      description = ''
+        This section defines default values for attributes which are used
+        whenever no values are given in the appropriate device or multipath
+        sections.
+      '';
+    };
+
+    blacklist = mkOption {
+      type = nullOr str;
+      default = null;
+      description = ''
+        This section defines which devices should be excluded from the
+        multipath topology discovery.
+      '';
+    };
+
+    blacklist_exceptions = mkOption {
+      type = nullOr str;
+      default = null;
+      description = ''
+        This section defines which devices should be included in the
+        multipath topology discovery, despite being listed in the
+        blacklist section.
+      '';
+    };
+
+    overrides = mkOption {
+      type = nullOr str;
+      default = null;
+      description = ''
+        This section defines values for attributes that should override the
+        device-specific settings for all devices.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = nullOr str;
+      default = null;
+      description = "Lines to append to default multipath.conf";
+    };
+
+    extraConfigFile = mkOption {
+      type = nullOr str;
+      default = null;
+      description = "Append an additional file's contents to /etc/multipath.conf";
+    };
+
+    pathGroups = mkOption {
+      example = literalExpression ''
+        [
+          {
+            wwid = "360080e500043b35c0123456789abcdef";
+            alias = 10001234;
+            array = "bigarray.example.com";
+            fsType = "zfs"; # optional
+            options = "ro"; # optional
+          }, ...
+        ]
+      '';
+      description = ''
+        This option allows you to define multipath groups as described
+        in http://christophe.varoqui.free.fr/usage.html.
+      '';
+      type = listOf (submodule {
+        options = {
+
+          alias = mkOption {
+            type = int;
+            example = 1001234;
+            description = "The name of the multipath device";
+          };
+
+          wwid = mkOption {
+            type = hexStr;
+            example = "360080e500043b35c0123456789abcdef";
+            description = "The identifier for the multipath device";
+          };
+
+          array = mkOption {
+            type = str;
+            default = null;
+            example = "bigarray.example.com";
+            description = "The DNS name of the storage array";
+          };
+
+          fsType = mkOption {
+            type = nullOr str;
+            default = null;
+            example = "zfs";
+            description = "Type of the filesystem";
+          };
+
+          options = mkOption {
+            type = nullOr str;
+            default = null;
+            example = "ro";
+            description = "Options used to mount the file system";
+          };
+
+        };
+      });
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.etc."multipath.conf".text =
+      let
+        inherit (cfg) defaults blacklist blacklist_exceptions overrides;
+
+        mkDeviceBlock = cfg: let
+          nonNullCfg = lib.filterAttrs (k: v: v != null) cfg;
+          attrs = lib.mapAttrsToList (name: value: "  ${name} ${toString value}") nonNullCfg;
+        in ''
+          device {
+          ${lib.concatStringsSep "\n" attrs}
+          }
+        '';
+        devices = lib.concatMapStringsSep "\n" mkDeviceBlock cfg.devices;
+
+        mkMultipathBlock = m: ''
+          multipath {
+            wwid ${m.wwid}
+            alias ${toString m.alias}
+          }
+        '';
+        multipaths = lib.concatMapStringsSep "\n" mkMultipathBlock cfg.pathGroups;
+
+      in ''
+        devices {
+        ${indentLines 2 devices}
+        }
+
+        ${optionalString (!isNull defaults) ''
+          defaults {
+          ${indentLines 2 defaults}
+            multipath_dir ${cfg.package}/lib/multipath
+          }
+        ''}
+        ${optionalString (!isNull blacklist) ''
+          blacklist {
+          ${indentLines 2 blacklist}
+          }
+        ''}
+        ${optionalString (!isNull blacklist_exceptions) ''
+          blacklist_exceptions {
+          ${indentLines 2 blacklist_exceptions}
+          }
+        ''}
+        ${optionalString (!isNull overrides) ''
+          overrides {
+          ${indentLines 2 overrides}
+          }
+        ''}
+        multipaths {
+        ${indentLines 2 multipaths}
+        }
+      '';
+
+    systemd.packages = [ cfg.package ];
+
+    environment.systemPackages = [ cfg.package ];
+    boot.kernelModules = [ "dm-multipath" "dm-service-time" ];
+
+    # We do not have systemd in stage-1 boot so must invoke `multipathd`
+    # with the `-1` argument which disables systemd calls. Invoke `multipath`
+    # to display the multipath mappings in the output of `journalctl -b`.
+    boot.initrd.kernelModules = [ "dm-multipath" "dm-service-time" ];
+    boot.initrd.postDeviceCommands = ''
+      modprobe -a dm-multipath dm-service-time
+      multipathd -s
+      (set -x && sleep 1 && multipath -ll)
+    '';
+  };
+}
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index 708ea28a944..530614ad937 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -172,9 +172,15 @@ in
         ExecStart = "${(removeSuffix "\n" cmd)} start";
         ExecStop = "${(removeSuffix "\n" cmd)} stop";
         Restart = "on-failure";
+        TimeoutSec = "5min";
         User = "unifi";
         UMask = "0077";
         WorkingDirectory = "${stateDir}";
+        # the stop command exits while the main process is still running, and unifi
+        # wants to manage its own child processes. this means we have to set KillSignal
+        # to something the main process ignores, otherwise every stop will have unifi.service
+        # fail with SIGTERM status.
+        KillSignal = "SIGCONT";
 
         # Hardening
         AmbientCapabilities = "";
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 4d7f16b1e1a..62ae763b69b 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -6,6 +6,8 @@ let
   cfg = config.services.nextcloud;
   fpm = config.services.phpfpm.pools.nextcloud;
 
+  inherit (cfg) datadir;
+
   phpPackage = cfg.phpPackage.buildEnv {
     extensions = { enabled, all }:
       (with all;
@@ -40,7 +42,7 @@ let
     if [[ "$USER" != nextcloud ]]; then
       sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR --preserve-env=OC_PASS'
     fi
-    export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
+    export NEXTCLOUD_CONFIG_DIR="${datadir}/config"
     $sudo \
       ${phpPackage}/bin/php \
       occ "$@"
@@ -85,6 +87,59 @@ in {
       default = "/var/lib/nextcloud";
       description = "Storage path of nextcloud.";
     };
+    datadir = mkOption {
+      type = types.str;
+      defaultText = "config.services.nextcloud.home";
+      description = ''
+        Data storage path of nextcloud.  Will be <xref linkend="opt-services.nextcloud.home" /> by default.
+        This folder will be populated with a config.php and data folder which contains the state of the instance (excl the database).";
+      '';
+      example = "/mnt/nextcloud-file";
+    };
+    extraApps = mkOption {
+      type = types.attrsOf types.package;
+      default = { };
+      description = ''
+        Extra apps to install. Should be an attrSet of appid to packages generated by fetchNextcloudApp.
+        The appid must be identical to the "id" value in the apps appinfo/info.xml.
+        Using this will disable the appstore to prevent Nextcloud from updating these apps (see <xref linkend="opt-services.nextcloud.appstoreEnable" />).
+      '';
+      example = literalExpression ''
+        {
+          maps = pkgs.fetchNextcloudApp {
+            name = "maps";
+            sha256 = "007y80idqg6b6zk6kjxg4vgw0z8fsxs9lajnv49vv1zjy6jx2i1i";
+            url = "https://github.com/nextcloud/maps/releases/download/v0.1.9/maps-0.1.9.tar.gz";
+            version = "0.1.9";
+          };
+          phonetrack = pkgs.fetchNextcloudApp {
+            name = "phonetrack";
+            sha256 = "0qf366vbahyl27p9mshfma1as4nvql6w75zy2zk5xwwbp343vsbc";
+            url = "https://gitlab.com/eneiluj/phonetrack-oc/-/wikis/uploads/931aaaf8dca24bf31a7e169a83c17235/phonetrack-0.6.9.tar.gz";
+            version = "0.6.9";
+          };
+        }
+        '';
+    };
+    extraAppsEnable = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Automatically enable the apps in <xref linkend="opt-services.nextcloud.extraApps" /> every time nextcloud starts.
+        If set to false, apps need to be enabled in the Nextcloud user interface or with nextcloud-occ app:enable.
+      '';
+    };
+    appstoreEnable = mkOption {
+      type = types.nullOr types.bool;
+      default = null;
+      example = true;
+      description = ''
+        Allow the installation of apps and app updates from the store.
+        Enabled by default unless there are packages in <xref linkend="opt-services.nextcloud.extraApps" />.
+        Set to true to force enable the store even if <xref linkend="opt-services.nextcloud.extraApps" /> is used.
+        Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
+      '';
+    };
     logLevel = mkOption {
       type = types.ints.between 0 4;
       default = 2;
@@ -524,6 +579,8 @@ in {
           else nextcloud22
         );
 
+      services.nextcloud.datadir = mkOptionDefault config.services.nextcloud.home;
+
       services.nextcloud.phpPackage =
         if versionOlder cfg.package.version "21" then pkgs.php74
         else pkgs.php80;
@@ -563,6 +620,14 @@ in {
             ]
           '';
 
+          showAppStoreSetting = cfg.appstoreEnable != null || cfg.extraApps != {};
+          renderedAppStoreSetting =
+            let
+              x = cfg.appstoreEnable;
+            in
+              if x == null then "false"
+              else boolToString x;
+
           overrideConfig = pkgs.writeText "nextcloud-config.php" ''
             <?php
             ${optionalString requiresReadSecretFunction ''
@@ -581,10 +646,12 @@ in {
             ''}
             $CONFIG = [
               'apps_paths' => [
+                ${optionalString (cfg.extraApps != { }) "[ 'path' => '${cfg.home}/nix-apps', 'url' => '/nix-apps', 'writable' => false ],"}
                 [ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
                 [ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
               ],
-              'datadirectory' => '${cfg.home}/data',
+              ${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
+              'datadirectory' => '${datadir}/data',
               'skeletondirectory' => '${cfg.skeletonDirectory}',
               ${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
               'log_type' => 'syslog',
@@ -628,7 +695,7 @@ in {
               "--database-pass" = "\$${dbpass.arg}";
               "--admin-user" = ''"${c.adminuser}"'';
               "--admin-pass" = "\$${adminpass.arg}";
-              "--data-dir" = ''"${cfg.home}/data"'';
+              "--data-dir" = ''"${datadir}/data"'';
             });
           in ''
             ${mkExport dbpass}
@@ -670,9 +737,15 @@ in {
 
             ln -sf ${cfg.package}/apps ${cfg.home}/
 
+            # Install extra apps
+            ln -sfT \
+              ${pkgs.linkFarm "nix-apps"
+                (mapAttrsToList (name: path: { inherit name path; }) cfg.extraApps)} \
+              ${cfg.home}/nix-apps
+
             # create nextcloud directories.
             # if the directories exist already with wrong permissions, we fix that
-            for dir in ${cfg.home}/config ${cfg.home}/data ${cfg.home}/store-apps; do
+            for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps ${cfg.home}/nix-apps; do
               if [ ! -e $dir ]; then
                 install -o nextcloud -g nextcloud -d $dir
               elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then
@@ -680,23 +753,29 @@ in {
               fi
             done
 
-            ln -sf ${overrideConfig} ${cfg.home}/config/override.config.php
+            ln -sf ${overrideConfig} ${datadir}/config/override.config.php
 
             # Do not install if already installed
-            if [[ ! -e ${cfg.home}/config/config.php ]]; then
+            if [[ ! -e ${datadir}/config/config.php ]]; then
               ${occInstallCmd}
             fi
 
             ${occ}/bin/nextcloud-occ upgrade
 
             ${occ}/bin/nextcloud-occ config:system:delete trusted_domains
+
+            ${optionalString (cfg.extraAppsEnable && cfg.extraApps != { }) ''
+                # Try to enable apps (don't fail when one of them cannot be enabled , eg. due to incompatible version)
+                ${occ}/bin/nextcloud-occ app:enable ${concatStringsSep " " (attrNames cfg.extraApps)}
+            ''}
+
             ${occSetTrustedDomainsCmd}
           '';
           serviceConfig.Type = "oneshot";
           serviceConfig.User = "nextcloud";
         };
         nextcloud-cron = {
-          environment.NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
+          environment.NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
           serviceConfig.Type = "oneshot";
           serviceConfig.User = "nextcloud";
           serviceConfig.ExecStart = "${phpPackage}/bin/php -f ${cfg.package}/cron.php";
@@ -715,7 +794,7 @@ in {
           group = "nextcloud";
           phpPackage = phpPackage;
           phpEnv = {
-            NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
+            NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
             PATH = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin";
           };
           settings = mapAttrs (name: mkDefault) {
@@ -765,6 +844,10 @@ in {
             priority = 201;
             extraConfig = "root ${cfg.home};";
           };
+          "~ ^/nix-apps" = {
+            priority = 201;
+            extraConfig = "root ${cfg.home};";
+          };
           "^~ /.well-known" = {
             priority = 210;
             extraConfig = ''
diff --git a/nixos/modules/services/web-apps/nextcloud.xml b/nixos/modules/services/web-apps/nextcloud.xml
index ed84487d233..9d9cb8dfb3f 100644
--- a/nixos/modules/services/web-apps/nextcloud.xml
+++ b/nixos/modules/services/web-apps/nextcloud.xml
@@ -237,6 +237,12 @@
    Some apps may require extra PHP extensions to be installed.
    This can be configured with the <xref linkend="opt-services.nextcloud.phpExtraExtensions" /> setting.
   </para>
+
+  <para>
+   Alternatively, extra apps can also be declared with the <xref linkend="opt-services.nextcloud.extraApps" /> setting.
+   When using this setting, apps can no longer be managed statefully because this can lead to Nextcloud updating apps
+   that are managed by Nix. If you want automatic updates it is recommended that you use web interface to install apps.
+  </para>
  </section>
 
  <section xml:id="module-services-nextcloud-maintainer-info">
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index bd7e955a6f4..adbed9d8d58 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -137,6 +137,14 @@ let
         copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/resize2fs
       ''}
 
+      # Copy multipath.
+      ${optionalString config.services.multipath.enable ''
+        copy_bin_and_libs ${config.services.multipath.package}/bin/multipath
+        copy_bin_and_libs ${config.services.multipath.package}/bin/multipathd
+        # Copy lib/multipath manually.
+        cp -rpv ${config.services.multipath.package}/lib/multipath $out/lib
+      ''}
+
       # Copy secrets if needed.
       #
       # TODO: move out to a separate script; see #85000.
@@ -199,6 +207,10 @@ let
       $out/bin/dmsetup --version 2>&1 | tee -a log | grep -q "version:"
       LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep -q "LVM"
       $out/bin/mdadm --version
+      ${optionalString config.services.multipath.enable ''
+        ($out/bin/multipath || true) 2>&1 | grep -q 'need to be root'
+        ($out/bin/multipathd || true) 2>&1 | grep -q 'need to be root'
+      ''}
 
       ${config.boot.initrd.extraUtilsCommandsTest}
       fi
@@ -338,7 +350,26 @@ let
         { object = pkgs.kmod-debian-aliases;
           symlink = "/etc/modprobe.d/debian.conf";
         }
-      ];
+      ] ++ lib.optionals config.services.multipath.enable [
+        { object = pkgs.runCommand "multipath.conf" {
+              src = config.environment.etc."multipath.conf".text;
+              preferLocalBuild = true;
+            } ''
+              target=$out
+              printf "$src" > $out
+              substituteInPlace $out \
+                --replace ${config.services.multipath.package}/lib ${extraUtils}/lib
+            '';
+          symlink = "/etc/multipath.conf";
+        }
+      ] ++ (lib.mapAttrsToList
+        (symlink: options:
+          {
+            inherit symlink;
+            object = options.source;
+          }
+        )
+        config.boot.initrd.extraFiles);
   };
 
   # Script to add secret files to the initrd at bootloader update time
@@ -419,6 +450,22 @@ in
       '';
     };
 
+    boot.initrd.extraFiles = mkOption {
+      default = { };
+      type = types.attrsOf
+        (types.submodule {
+          options = {
+            source = mkOption {
+              type = types.package;
+              description = "The object to make available inside the initrd.";
+            };
+          };
+        });
+      description = ''
+        Extra files to link and copy in to the initrd.
+      '';
+    };
+
     boot.initrd.prepend = mkOption {
       default = [ ];
       type = types.listOf types.str;
diff --git a/nixos/tests/iscsi-multipath-root.nix b/nixos/tests/iscsi-multipath-root.nix
new file mode 100644
index 00000000000..a26fea503b6
--- /dev/null
+++ b/nixos/tests/iscsi-multipath-root.nix
@@ -0,0 +1,267 @@
+import ./make-test-python.nix (
+  { pkgs, lib, ... }:
+  let
+    initiatorName = "iqn.2020-08.org.linux-iscsi.initiatorhost:example";
+    targetName = "iqn.2003-01.org.linux-iscsi.target.x8664:sn.acf8fd9c23af";
+  in
+  {
+    name = "iscsi";
+    meta = {
+      maintainers = pkgs.lib.teams.deshaw.members;
+    };
+
+    nodes = {
+      target = { config, pkgs, lib, ... }: {
+        virtualisation.vlans = [ 1 2 ];
+        services.target = {
+          enable = true;
+          config = {
+            fabric_modules = [ ];
+            storage_objects = [
+              {
+                dev = "/dev/vdb";
+                name = "test";
+                plugin = "block";
+                write_back = true;
+                wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522";
+              }
+            ];
+            targets = [
+              {
+                fabric = "iscsi";
+                tpgs = [
+                  {
+                    enable = true;
+                    attributes = {
+                      authentication = 0;
+                      generate_node_acls = 1;
+                    };
+                    luns = [
+                      {
+                        alias = "94dfe06967";
+                        alua_tg_pt_gp_name = "default_tg_pt_gp";
+                        index = 0;
+                        storage_object = "/backstores/block/test";
+                      }
+                    ];
+                    node_acls = [
+                      {
+                        mapped_luns = [
+                          {
+                            alias = "d42f5bdf8a";
+                            index = 0;
+                            tpg_lun = 0;
+                            write_protect = false;
+                          }
+                        ];
+                        node_wwn = initiatorName;
+                      }
+                    ];
+                    portals = [
+                      {
+                        ip_address = "0.0.0.0";
+                        iser = false;
+                        offload = false;
+                        port = 3260;
+                      }
+                    ];
+                    tag = 1;
+                  }
+                ];
+                wwn = targetName;
+              }
+            ];
+          };
+        };
+
+        networking.firewall.allowedTCPPorts = [ 3260 ];
+        networking.firewall.allowedUDPPorts = [ 3260 ];
+
+        virtualisation.memorySize = 2048;
+        virtualisation.emptyDiskImages = [ 2048 ];
+      };
+
+      initiatorAuto = { nodes, config, pkgs, ... }: {
+        virtualisation.vlans = [ 1 2 ];
+
+        services.multipath = {
+          enable = true;
+          defaults = ''
+            find_multipaths yes
+            user_friendly_names yes
+          '';
+          pathGroups = [
+            {
+              alias = 123456;
+              wwid = "3600140592b17c3f6b404168b082ceeb7";
+            }
+          ];
+        };
+
+        services.openiscsi = {
+          enable = true;
+          enableAutoLoginOut = true;
+          discoverPortal = "target";
+          name = initiatorName;
+        };
+
+        environment.systemPackages = with pkgs; [
+          xfsprogs
+        ];
+
+        environment.etc."initiator-root-disk-closure".source = nodes.initiatorRootDisk.config.system.build.toplevel;
+
+        nix.binaryCaches = lib.mkForce [ ];
+        nix.extraOptions = ''
+          hashed-mirrors =
+          connect-timeout = 1
+        '';
+      };
+
+      initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: {
+        boot.initrd.network.enable = true;
+        boot.loader.grub.enable = false;
+
+        boot.kernelParams = lib.mkOverride 5 (
+          [
+            "boot.shell_on_fail"
+            "console=tty1"
+            "ip=192.168.1.1:::255.255.255.0::ens9:none"
+            "ip=192.168.2.1:::255.255.255.0::ens10:none"
+          ]
+        );
+
+        # defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store
+        virtualisation.writableStore = false;
+        virtualisation.vlans = [ 1 2 ];
+
+        services.multipath = {
+          enable = true;
+          defaults = ''
+            find_multipaths yes
+            user_friendly_names yes
+          '';
+          pathGroups = [
+            {
+              alias = 123456;
+              wwid = "3600140592b17c3f6b404168b082ceeb7";
+            }
+          ];
+        };
+
+        fileSystems = lib.mkOverride 5 {
+          "/" = {
+            fsType = "xfs";
+            device = "/dev/mapper/123456";
+            options = [ "_netdev" ];
+          };
+        };
+
+        boot.initrd.extraFiles."etc/multipath/wwids".source = pkgs.writeText "wwids" "/3600140592b17c3f6b404168b082ceeb7/";
+
+        boot.iscsi-initiator = {
+          discoverPortal = "target";
+          name = initiatorName;
+          target = targetName;
+          extraIscsiCommands = ''
+            iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login
+          '';
+        };
+      };
+
+    };
+
+    testScript = { nodes, ... }: ''
+      target.start()
+      target.wait_for_unit("iscsi-target.service")
+
+      initiatorAuto.start()
+
+      initiatorAuto.wait_for_unit("iscsid.service")
+      initiatorAuto.wait_for_unit("iscsi.service")
+      initiatorAuto.get_unit_info("iscsi")
+
+      # Expecting this to fail since we should already know about 192.168.1.3
+      initiatorAuto.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login")
+      # Expecting this to succeed since we don't yet know about 192.168.2.3
+      initiatorAuto.succeed("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login")
+
+      # /dev/sda is provided by iscsi on target
+      initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done")
+
+      initiatorAuto.succeed("mkfs.xfs /dev/sda")
+      initiatorAuto.succeed("mkdir /mnt")
+
+      # Start by verifying /dev/sda and /dev/sdb are both the same disk
+      initiatorAuto.succeed("mount /dev/sda /mnt")
+      initiatorAuto.succeed("touch /mnt/hi")
+      initiatorAuto.succeed("umount /mnt")
+
+      initiatorAuto.succeed("mount /dev/sdb /mnt")
+      initiatorAuto.succeed("test -e /mnt/hi")
+      initiatorAuto.succeed("umount /mnt")
+
+      initiatorAuto.succeed("systemctl restart multipathd")
+      initiatorAuto.succeed("multipath -ll | systemd-cat")
+
+      # Install our RootDisk machine to 123456, the alias to the device that multipath is now managing
+      initiatorAuto.succeed("mount /dev/mapper/123456 /mnt")
+      initiatorAuto.succeed("mkdir -p /mnt/etc/{multipath,iscsi}")
+      initiatorAuto.succeed("cp -r /etc/multipath/wwids /mnt/etc/multipath/wwids")
+      initiatorAuto.succeed("cp -r /etc/iscsi/{nodes,send_targets} /mnt/etc/iscsi")
+      initiatorAuto.succeed(
+        "nixos-install --no-bootloader --no-root-passwd --system /etc/initiator-root-disk-closure"
+      )
+      initiatorAuto.succeed("umount /mnt")
+      initiatorAuto.shutdown()
+
+      initiatorRootDisk.start()
+      initiatorRootDisk.wait_for_unit("multi-user.target")
+      initiatorRootDisk.wait_for_unit("iscsid")
+
+      # Log in over both nodes
+      initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login")
+      initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login")
+      initiatorRootDisk.succeed("systemctl restart multipathd")
+      initiatorRootDisk.succeed("multipath -ll | systemd-cat")
+
+      # Verify we can write and sync the root disk
+      initiatorRootDisk.succeed("mkdir /scratch")
+      initiatorRootDisk.succeed("touch /scratch/both-up")
+      initiatorRootDisk.succeed("sync /scratch")
+
+      # Verify we can write to the root with ens9 (sda, 192.168.1.3) down
+      initiatorRootDisk.succeed("ip link set ens9 down")
+      initiatorRootDisk.succeed("touch /scratch/ens9-down")
+      initiatorRootDisk.succeed("sync /scratch")
+      initiatorRootDisk.succeed("ip link set ens9 up")
+
+      # todo: better way to wait until multipath notices the link is back
+      initiatorRootDisk.succeed("sleep 5")
+      initiatorRootDisk.succeed("touch /scratch/both-down")
+      initiatorRootDisk.succeed("sync /scratch")
+
+      # Verify we can write to the root with ens10 (sdb, 192.168.2.3) down
+      initiatorRootDisk.succeed("ip link set ens10 down")
+      initiatorRootDisk.succeed("touch /scratch/ens10-down")
+      initiatorRootDisk.succeed("sync /scratch")
+      initiatorRootDisk.succeed("ip link set ens10 up")
+      initiatorRootDisk.succeed("touch /scratch/ens10-down")
+      initiatorRootDisk.succeed("sync /scratch")
+
+      initiatorRootDisk.succeed("ip link set ens9 up")
+      initiatorRootDisk.succeed("ip link set ens10 up")
+      initiatorRootDisk.shutdown()
+
+      # Verify we can boot with the target's eth1 down, forcing
+      # it to multipath via the second link
+      target.succeed("ip link set eth1 down")
+      initiatorRootDisk.start()
+      initiatorRootDisk.wait_for_unit("multi-user.target")
+      initiatorRootDisk.wait_for_unit("iscsid")
+      initiatorRootDisk.succeed("test -e /scratch/both-up")
+    '';
+  }
+)
+
+
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index 1a7b25d5a49..eb37470a4c7 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -33,8 +33,13 @@ in {
     in {
       networking.firewall.allowedTCPPorts = [ 80 ];
 
+      systemd.tmpfiles.rules = [
+        "d /var/lib/nextcloud-data 0750 nextcloud nginx - -"
+      ];
+
       services.nextcloud = {
         enable = true;
+        datadir = "/var/lib/nextcloud-data";
         hostName = "nextcloud";
         config = {
           # Don't inherit adminuser since "root" is supposed to be the default
@@ -98,6 +103,7 @@ in {
         "${withRcloneEnv} ${copySharedFile}"
     )
     client.wait_for_unit("multi-user.target")
+    nextcloud.succeed("test -f /var/lib/nextcloud-data/data/root/files/test-shared-file")
     client.succeed(
         "${withRcloneEnv} ${diffSharedFile}"
     )
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 029710206f0..ab3267eae7f 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -14,9 +14,6 @@
 
 stdenv.mkDerivation rec {
   pname = "csound";
-  # When updating, please check if https://github.com/csound/csound/issues/1078
-  # has been fixed in the new version so we can use the normal fluidsynth
-  # version and remove fluidsynth 1.x from nixpkgs again.
   version = "6.16.2";
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix
index 1e85d57c3f7..e1366d38baf 100644
--- a/pkgs/applications/audio/easyeffects/default.nix
+++ b/pkgs/applications/audio/easyeffects/default.nix
@@ -16,6 +16,7 @@
 , lilv
 , lsp-plugins
 , lv2
+, mda_lv2
 , meson
 , ninja
 , nlohmann_json
@@ -25,20 +26,20 @@
 , rnnoise
 , rubberband
 , speexdsp
-, wrapGAppsHook
+, wrapGAppsHook4
 , zam-plugins
 , zita-convolver
 }:
 
 stdenv.mkDerivation rec {
   pname = "easyeffects";
-  version = "6.0.3";
+  version = "6.1.3";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "easyeffects";
     rev = "v${version}";
-    sha256 = "sha256-GzqPC/m/HMthLMamhJ4EXX6fxZYscdX1QmXgqHOPEcg=";
+    sha256 = "sha256-1UfeqPJxY4YT98UdqTZtG+QUBOZlKfK+7WbszhO22A0=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
@@ -74,17 +75,20 @@ stdenv.mkDerivation rec {
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
+    # https://github.com/wwmm/easyeffects/pull/1205
+    substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
   '';
 
   preFixup =
     let
       lv2Plugins = [
-        calf # limiter, compressor exciter, bass enhancer and others
-        lsp-plugins # delay
+        calf # compressor exciter, bass enhancer and others
+        lsp-plugins # delay, limiter, multiband compressor
+        mda_lv2 # loudness
+        zam-plugins # maximizer
       ];
       ladspaPlugins = [
         rubberband # pitch shifting
-        zam-plugins # maximizer
       ];
     in
     ''
diff --git a/pkgs/applications/audio/in-formant/default.nix b/pkgs/applications/audio/in-formant/default.nix
new file mode 100644
index 00000000000..7cf0fb8c145
--- /dev/null
+++ b/pkgs/applications/audio/in-formant/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, cmake, lib, fetchFromGitHub, qt5, fftw, libtorch-bin, portaudio, eigen
+, xorg, pkg-config, autoPatchelfHook, soxr
+}:
+
+stdenv.mkDerivation rec {
+  pname = "in-formant";
+  version = "2021-06-30";
+
+  # no Qt6 yet, so we're stuck in the last Qt5-supporting commit: https://github.com/NixOS/nixpkgs/issues/108008
+  src = fetchFromGitHub {
+    owner = "in-formant";
+    repo = "in-formant";
+    rev = "e28e628cf5ff0949a7b046d220cc884f6035f31a";
+    sha256 = "sha256-YvtV0wGUNmI/+GGxrIfTk/l8tqUsWgc/LAI17X+AWGI=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config qt5.wrapQtAppsHook autoPatchelfHook ];
+
+  buildInputs = [
+    qt5.qtbase
+    qt5.qtquickcontrols
+    qt5.qtquickcontrols2
+    qt5.qtcharts
+    fftw
+    libtorch-bin
+    portaudio
+    eigen
+    xorg.libxcb
+    soxr
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp in-formant $out/bin
+  '';
+
+  meta = with lib; {
+    description = "A real-time pitch and formant tracking software";
+    homepage = "https://github.com/in-formant/in-formant";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/applications/audio/librespot/cargo-lock.patch b/pkgs/applications/audio/librespot/cargo-lock.patch
deleted file mode 100644
index 0c2af8f80c6..00000000000
--- a/pkgs/applications/audio/librespot/cargo-lock.patch
+++ /dev/null
@@ -1,3817 +0,0 @@
---- source/Cargo.lock	1970-01-01 01:00:01.000000000 +0100
-+++ ../nix-build-librespot-0.1.6.drv-0/source/Cargo.lock	2021-04-27 19:07:38.535244188 +0200
-@@ -4,2784 +4,2782 @@
- name = "aes"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9"
- dependencies = [
-- "aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes-soft",
-+ "aesni",
-+ "block-cipher-trait",
- ]
- 
- [[package]]
- name = "aes-ctr"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee"
- dependencies = [
-- "aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes-soft",
-+ "aesni",
-+ "ctr",
-+ "stream-cipher",
- ]
- 
- [[package]]
- name = "aes-soft"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-cipher-trait",
-+ "byteorder",
-+ "opaque-debug",
- ]
- 
- [[package]]
- name = "aesni"
- version = "0.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-cipher-trait",
-+ "opaque-debug",
-+ "stream-cipher",
- ]
- 
- [[package]]
- name = "alga"
- version = "0.9.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2"
- dependencies = [
-- "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-complex 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "approx",
-+ "num-complex",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "alsa"
- version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4a0d4ebc8b23041c5de9bc9aee13b4bad844a589479701f31a5934cfe4aeb32"
- dependencies = [
-- "alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "nix 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "alsa-sys",
-+ "bitflags 0.9.1",
-+ "libc",
-+ "nix",
- ]
- 
- [[package]]
- name = "alsa-sys"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b0edcbbf9ef68f15ae1b620f722180b82a98b6f0628d30baa6b8d2a5abc87d58"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "approx"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3"
- dependencies = [
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "arc-swap"
- version = "0.4.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034"
- 
- [[package]]
- name = "atty"
- version = "0.2.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
- dependencies = [
-- "hermit-abi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hermit-abi",
-+ "libc",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "autocfg"
- version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
- 
- [[package]]
- name = "autocfg"
- version = "1.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
- 
- [[package]]
- name = "base64"
- version = "0.9.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "safemem",
- ]
- 
- [[package]]
- name = "base64"
- version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
- ]
- 
- [[package]]
- name = "bindgen"
- version = "0.53.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cexpr 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "clang-sys 0.29.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rustc-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "cexpr",
-+ "cfg-if",
-+ "clang-sys",
-+ "lazy_static",
-+ "lazycell",
-+ "peeking_take_while",
-+ "proc-macro2 1.0.19",
-+ "quote 1.0.7",
-+ "regex",
-+ "rustc-hash",
-+ "shlex",
- ]
- 
- [[package]]
- name = "bit-set"
- version = "0.5.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
- dependencies = [
-- "bit-vec 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bit-vec",
- ]
- 
- [[package]]
- name = "bit-vec"
- version = "0.6.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5f0dc55f2d8a1a85650ac47858bb001b4c0dd73d79e3c455a842925e68d29cd3"
- 
- [[package]]
- name = "bitflags"
- version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
- 
- [[package]]
- name = "bitflags"
- version = "0.9.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
- 
- [[package]]
- name = "bitflags"
- version = "1.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
- 
- [[package]]
- name = "block-buffer"
- version = "0.7.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
- dependencies = [
-- "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-padding",
-+ "byte-tools",
-+ "byteorder",
-+ "generic-array",
- ]
- 
- [[package]]
- name = "block-cipher-trait"
- version = "0.6.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
- ]
- 
- [[package]]
- name = "block-modes"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "31aa8410095e39fdb732909fb5730a48d5bd7c2e3cd76bd1b07b3dbea130c529"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-cipher-trait",
-+ "block-padding",
- ]
- 
- [[package]]
- name = "block-padding"
- version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
- dependencies = [
-- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byte-tools",
- ]
- 
- [[package]]
- name = "byte-tools"
- version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
- 
- [[package]]
- name = "byteorder"
- version = "1.3.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
- 
- [[package]]
- name = "bytes"
- version = "0.4.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "iovec",
- ]
- 
- [[package]]
- name = "cc"
- version = "1.0.58"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518"
- 
- [[package]]
- name = "cexpr"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
- dependencies = [
-- "nom 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nom",
- ]
- 
- [[package]]
- name = "cfg-if"
- version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
- 
- [[package]]
- name = "chrono"
- version = "0.4.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c74d84029116787153e02106bf53e66828452a4b325cc8652b788b5967c0a0b6"
- dependencies = [
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer",
-+ "num-traits",
-+ "time",
- ]
- 
- [[package]]
- name = "clang-sys"
- version = "0.29.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a"
- dependencies = [
-- "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob",
-+ "libc",
-+ "libloading 0.5.2",
- ]
- 
- [[package]]
- name = "cloudabi"
- version = "0.0.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
- ]
- 
- [[package]]
- name = "core-foundation-sys"
- version = "0.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
- 
- [[package]]
- name = "coreaudio-rs"
- version = "0.9.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f229761965dad3e9b11081668a6ea00f1def7aa46062321b5ec245b834f6e491"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "coreaudio-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "coreaudio-sys",
- ]
- 
- [[package]]
- name = "coreaudio-sys"
- version = "0.2.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d6570ee6e089131e928d5ec9236db9e818aa3cf850f48b0eec6ef700571271d4"
- dependencies = [
-- "bindgen 0.53.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bindgen",
- ]
- 
- [[package]]
- name = "cpal"
- version = "0.8.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d58ae1ed6536b1b233f5e3aeb6997a046ddb4d05e3f61701b58a92eb254a829e"
- dependencies = [
-- "alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "alsa-sys",
-+ "core-foundation-sys",
-+ "coreaudio-rs",
-+ "lazy_static",
-+ "libc",
-+ "stdweb",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "crossbeam-deque"
- version = "0.7.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
- dependencies = [
-- "crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-epoch",
-+ "crossbeam-utils 0.7.2",
-+ "maybe-uninit",
- ]
- 
- [[package]]
- name = "crossbeam-epoch"
- version = "0.8.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "memoffset 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "cfg-if",
-+ "crossbeam-utils 0.7.2",
-+ "lazy_static",
-+ "maybe-uninit",
-+ "memoffset",
-+ "scopeguard",
- ]
- 
- [[package]]
- name = "crossbeam-queue"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
- dependencies = [
-- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6",
- ]
- 
- [[package]]
- name = "crossbeam-queue"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "crossbeam-utils 0.7.2",
-+ "maybe-uninit",
- ]
- 
- [[package]]
- name = "crossbeam-utils"
- version = "0.6.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "lazy_static",
- ]
- 
- [[package]]
- name = "crossbeam-utils"
- version = "0.7.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "cfg-if",
-+ "lazy_static",
- ]
- 
- [[package]]
- name = "crypto-mac"
- version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
-+ "subtle",
- ]
- 
- [[package]]
- name = "ctr"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-cipher-trait",
-+ "stream-cipher",
- ]
- 
- [[package]]
- name = "digest"
- version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
- ]
- 
- [[package]]
- name = "dns-sd"
- version = "0.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d748509dea20228f63ba519bf142ce2593396386125b01f5b0d6412dab972087"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "env_logger"
- version = "0.6.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
- dependencies = [
-- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty",
-+ "humantime",
-+ "log 0.4.11",
-+ "termcolor",
- ]
- 
- [[package]]
- name = "error-chain"
- version = "0.12.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d371106cc88ffdfb1eabd7111e432da544f16f3e2d7bf1dfe8bf575f1df045cd"
- dependencies = [
-- "version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "version_check",
- ]
- 
- [[package]]
- name = "fake-simd"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
- 
- [[package]]
- name = "fnv"
- version = "1.0.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
- 
- [[package]]
- name = "fuchsia-cprng"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
- 
- [[package]]
- name = "fuchsia-zircon"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "fuchsia-zircon-sys",
- ]
- 
- [[package]]
- name = "fuchsia-zircon-sys"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
- 
- [[package]]
- name = "futures"
- version = "0.1.29"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
- 
- [[package]]
- name = "futures-channel"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
- dependencies = [
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-core",
- ]
- 
- [[package]]
- name = "futures-core"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
- 
- [[package]]
- name = "futures-cpupool"
- version = "0.1.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "num_cpus",
- ]
- 
- [[package]]
- name = "futures-executor"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
- dependencies = [
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-core",
-+ "futures-task",
-+ "futures-util",
- ]
- 
- [[package]]
- name = "futures-macro"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
- dependencies = [
-- "proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro-hack",
-+ "proc-macro2 1.0.19",
-+ "quote 1.0.7",
-+ "syn 1.0.35",
- ]
- 
- [[package]]
- name = "futures-sink"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
- 
- [[package]]
- name = "futures-task"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
- dependencies = [
-- "once_cell 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "once_cell",
- ]
- 
- [[package]]
- name = "futures-util"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
- dependencies = [
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pin-project 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro-nested 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-core",
-+ "futures-macro",
-+ "futures-task",
-+ "pin-project",
-+ "pin-utils",
-+ "proc-macro-hack",
-+ "proc-macro-nested",
-+ "slab 0.4.2",
- ]
- 
- [[package]]
- name = "gcc"
- version = "0.3.55"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
- 
- [[package]]
- name = "generic-array"
- version = "0.12.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
- dependencies = [
-- "typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "typenum",
- ]
- 
- [[package]]
- name = "getopts"
- version = "0.2.21"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
- dependencies = [
-- "unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width",
- ]
- 
- [[package]]
- name = "getrandom"
- version = "0.1.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "libc",
-+ "wasi",
- ]
- 
- [[package]]
- name = "glib"
- version = "0.9.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "40fb573a09841b6386ddf15fd4bc6655b4f5b106ca962f57ecaecde32a0061c0"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-executor",
-+ "futures-task",
-+ "futures-util",
-+ "glib-sys",
-+ "gobject-sys",
-+ "lazy_static",
-+ "libc",
- ]
- 
- [[package]]
- name = "glib-sys"
- version = "0.9.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "glob"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
- 
- [[package]]
- name = "gobject-sys"
- version = "0.9.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "gstreamer"
- version = "0.15.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ce8664a114cd6ec16bece783d5eee59496919915b1f6884400ba4a953274a163"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "muldiv 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-rational 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "paste 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "cfg-if",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-util",
-+ "glib",
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer-sys",
-+ "lazy_static",
-+ "libc",
-+ "muldiv",
-+ "num-rational",
-+ "paste",
- ]
- 
- [[package]]
- name = "gstreamer-app"
- version = "0.15.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "789784e8d42f5add1e1e965cf9f7e2d09e21dd0756bae6148f971db9a761d6a9"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-app-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-base 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "futures-core",
-+ "futures-sink",
-+ "glib",
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer",
-+ "gstreamer-app-sys",
-+ "gstreamer-base",
-+ "gstreamer-sys",
-+ "lazy_static",
-+ "libc",
- ]
- 
- [[package]]
- name = "gstreamer-app-sys"
- version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bf869ce152c23bca5d761ab62146b47f750d0b28d4d499731857532897d48167"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-base-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys",
-+ "gstreamer-base-sys",
-+ "gstreamer-sys",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "gstreamer-base"
- version = "0.15.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "42552f75cc6c260b0be180d5c955f4cd74bd170289c622404c25f1210b521c12"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-base-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "glib",
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer",
-+ "gstreamer-base-sys",
-+ "gstreamer-sys",
-+ "libc",
- ]
- 
- [[package]]
- name = "gstreamer-base-sys"
- version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba384f52174b3c586593fca32642680a9e67961fea9f4cd8419f678965023bed"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys",
-+ "gobject-sys",
-+ "gstreamer-sys",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "gstreamer-sys"
- version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d18da01b97d0ab5896acd5151e4c155acefd0e6c03c3dd24dd133ba054053db"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys",
-+ "gobject-sys",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "hermit-abi"
- version = "0.1.15"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
- 
- [[package]]
- name = "hex"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
- 
- [[package]]
- name = "hmac"
- version = "0.7.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
- dependencies = [
-- "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crypto-mac",
-+ "digest",
- ]
- 
- [[package]]
- name = "hostname"
- version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "match_cfg",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "httparse"
- version = "1.3.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
- 
- [[package]]
- name = "humantime"
- version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
- dependencies = [
-- "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quick-error",
- ]
- 
- [[package]]
- name = "hyper"
- version = "0.11.27"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7"
- dependencies = [
-- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
-- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "base64 0.9.3",
-+ "bytes",
-+ "futures",
-+ "futures-cpupool",
-+ "httparse",
-+ "iovec",
-+ "language-tags",
-+ "log 0.4.11",
-+ "mime",
-+ "net2",
-+ "percent-encoding",
-+ "relay",
-+ "time",
-+ "tokio-core",
-+ "tokio-io",
-+ "tokio-proto",
-+ "tokio-service",
-+ "unicase",
-+ "want",
- ]
- 
- [[package]]
- name = "hyper-proxy"
- version = "0.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "44f0925de2747e481e6e477dd212c25e8f745567f02f6182e04d27b97c3fbece"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "hyper",
-+ "tokio-core",
-+ "tokio-io",
- ]
- 
- [[package]]
- name = "idna"
- version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
- dependencies = [
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-normalization 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches",
-+ "unicode-bidi",
-+ "unicode-normalization",
- ]
- 
- [[package]]
- name = "if-addrs"
- version = "0.6.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48"
- dependencies = [
-- "if-addrs-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "if-addrs-sys",
-+ "libc",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "if-addrs-sys"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"
- dependencies = [
-- "cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "libc",
- ]
- 
- [[package]]
- name = "iovec"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
- 
- [[package]]
- name = "itoa"
- version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
- 
- [[package]]
- name = "jack"
- version = "0.5.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e15fc592e2e5a74a105ff507083c04db1aa20ba1b90d425362ba000e57422df"
- dependencies = [
-- "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "jack-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 0.7.0",
-+ "jack-sys",
-+ "lazy_static",
-+ "libc",
- ]
- 
- [[package]]
- name = "jack-sys"
- version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c0d4ca501477fd3cd93a36df581046e5d6338ed826cf7e9b8d302603521e6cc3"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
-+ "libc",
-+ "libloading 0.4.3",
- ]
- 
- [[package]]
- name = "kernel32-sys"
- version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
- dependencies = [
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.2.8",
-+ "winapi-build",
- ]
- 
- [[package]]
- name = "language-tags"
- version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
- 
- [[package]]
- name = "lazy_static"
- version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
- 
- [[package]]
- name = "lazycell"
- version = "1.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
- 
- [[package]]
- name = "lewton"
- version = "0.9.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ogg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "ogg",
-+ "smallvec 0.6.13",
- ]
- 
- [[package]]
- name = "libc"
- version = "0.2.73"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
- 
- [[package]]
- name = "libloading"
- version = "0.4.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9"
- dependencies = [
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "kernel32-sys",
-+ "lazy_static",
-+ "winapi 0.2.8",
- ]
- 
- [[package]]
- name = "libloading"
- version = "0.5.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
- dependencies = [
-- "cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "libm"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
- 
- [[package]]
- name = "libmdns"
- version = "0.2.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5d8582c174736c53633bc482ac709b24527c018356c3dc6d8e25a788b06b394e"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hostname 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "if-addrs 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "multimap 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "futures",
-+ "hostname",
-+ "if-addrs",
-+ "log 0.4.11",
-+ "multimap",
-+ "net2",
-+ "quick-error",
-+ "rand 0.7.3",
-+ "tokio-core",
- ]
- 
- [[package]]
- name = "libpulse-sys"
- version = "0.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9bb11b06faf883500c1b625cf4453e6c7737e9df9c7ba01df3f84b22b083e4ac"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
- 
- [[package]]
- name = "librespot"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-audio 0.1.5",
-- "librespot-connect 0.1.5",
-- "librespot-core 0.1.5",
-- "librespot-metadata 0.1.5",
-- "librespot-playback 0.1.5",
-- "librespot-protocol 0.1.5",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rpassword 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-process 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-signal 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "base64 0.10.1",
-+ "env_logger",
-+ "futures",
-+ "getopts",
-+ "hex",
-+ "hyper",
-+ "librespot-audio",
-+ "librespot-connect",
-+ "librespot-core",
-+ "librespot-metadata",
-+ "librespot-playback",
-+ "librespot-protocol",
-+ "log 0.4.11",
-+ "num-bigint",
-+ "protobuf",
-+ "rand 0.7.3",
-+ "rpassword",
-+ "sha-1",
-+ "tokio-core",
-+ "tokio-io",
-+ "tokio-process",
-+ "tokio-signal",
-+ "url",
- ]
- 
- [[package]]
- name = "librespot-audio"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bit-set 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-core 0.1.5",
-- "librespot-tremor 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vorbis 0.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes-ctr",
-+ "bit-set",
-+ "byteorder",
-+ "bytes",
-+ "futures",
-+ "lewton",
-+ "librespot-core",
-+ "librespot-tremor",
-+ "log 0.4.11",
-+ "num-bigint",
-+ "num-traits",
-+ "tempfile",
-+ "vorbis",
- ]
- 
- [[package]]
- name = "librespot-connect"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "dns-sd 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libmdns 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-core 0.1.5",
-- "librespot-playback 0.1.5",
-- "librespot-protocol 0.1.5",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.56 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes-ctr",
-+ "base64 0.10.1",
-+ "block-modes",
-+ "dns-sd",
-+ "futures",
-+ "hmac",
-+ "hyper",
-+ "libmdns",
-+ "librespot-core",
-+ "librespot-playback",
-+ "librespot-protocol",
-+ "log 0.4.11",
-+ "num-bigint",
-+ "protobuf",
-+ "rand 0.7.3",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "sha-1",
-+ "tokio-core",
-+ "url",
- ]
- 
- [[package]]
- name = "librespot-core"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "error-chain 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hyper-proxy 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-protocol 0.1.5",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.56 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "shannon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vergen 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes",
-+ "base64 0.10.1",
-+ "byteorder",
-+ "bytes",
-+ "error-chain",
-+ "futures",
-+ "hmac",
-+ "httparse",
-+ "hyper",
-+ "hyper-proxy",
-+ "lazy_static",
-+ "librespot-protocol",
-+ "log 0.4.11",
-+ "num-bigint",
-+ "num-integer",
-+ "num-traits",
-+ "pbkdf2",
-+ "protobuf",
-+ "rand 0.7.3",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "sha-1",
-+ "shannon",
-+ "tokio-codec",
-+ "tokio-core",
-+ "tokio-io",
-+ "url",
-+ "uuid",
-+ "vergen",
- ]
- 
- [[package]]
- name = "librespot-metadata"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-core 0.1.5",
-- "librespot-protocol 0.1.5",
-- "linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "futures",
-+ "librespot-core",
-+ "librespot-protocol",
-+ "linear-map",
-+ "log 0.4.11",
-+ "protobuf",
- ]
- 
- [[package]]
- name = "librespot-playback"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "alsa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gstreamer-app 0.15.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "jack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "librespot-audio 0.1.5",
-- "librespot-core 0.1.5",
-- "librespot-metadata 0.1.5",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "portaudio-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rodio 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sdl2 0.32.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "shell-words 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "zerocopy 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "alsa",
-+ "byteorder",
-+ "cpal",
-+ "futures",
-+ "glib",
-+ "gstreamer",
-+ "gstreamer-app",
-+ "jack",
-+ "libc",
-+ "libpulse-sys",
-+ "librespot-audio",
-+ "librespot-core",
-+ "librespot-metadata",
-+ "log 0.4.11",
-+ "portaudio-rs",
-+ "rodio",
-+ "sdl2",
-+ "shell-words",
-+ "zerocopy",
- ]
- 
- [[package]]
- name = "librespot-protocol"
--version = "0.1.5"
-+version = "0.1.6"
- dependencies = [
-- "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf-codegen 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf-codegen-pure 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob",
-+ "protobuf",
-+ "protobuf-codegen",
-+ "protobuf-codegen-pure",
- ]
- 
- [[package]]
- name = "librespot-tremor"
- version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "97f525bff915d478a76940a7b988e5ea34911ba7280c97bd3a7673f54d68b4fe"
- dependencies = [
-- "cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ogg-sys 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "libc",
-+ "ogg-sys",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "linear-map"
- version = "1.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
- 
- [[package]]
- name = "lock_api"
- version = "0.3.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
- dependencies = [
-- "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard",
- ]
- 
- [[package]]
- name = "log"
- version = "0.3.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
- dependencies = [
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.11",
- ]
- 
- [[package]]
- name = "log"
- version = "0.4.11"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
- ]
- 
- [[package]]
- name = "match_cfg"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
- 
- [[package]]
- name = "matches"
- version = "0.1.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
- 
- [[package]]
- name = "matrixmultiply"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f"
- dependencies = [
-- "rawpointer 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rawpointer",
- ]
- 
- [[package]]
- name = "maybe-uninit"
- version = "2.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
- 
- [[package]]
- name = "memchr"
- version = "2.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
- 
- [[package]]
- name = "memoffset"
- version = "0.5.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c198b026e1bbf08a937e94c6c60f9ec4a2267f5b0d2eec9c1b21b061ce2be55f"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
- ]
- 
- [[package]]
- name = "mime"
- version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
- 
- [[package]]
- name = "mio"
- version = "0.6.22"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "fuchsia-zircon",
-+ "fuchsia-zircon-sys",
-+ "iovec",
-+ "kernel32-sys",
-+ "libc",
-+ "log 0.4.11",
-+ "miow 0.2.1",
-+ "net2",
-+ "slab 0.4.2",
-+ "winapi 0.2.8",
- ]
- 
- [[package]]
- name = "mio-named-pipes"
- version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
- dependencies = [
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "miow 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.11",
-+ "mio",
-+ "miow 0.3.5",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "mio-uds"
- version = "0.6.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
- dependencies = [
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iovec",
-+ "libc",
-+ "mio",
- ]
- 
- [[package]]
- name = "miow"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
- dependencies = [
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "kernel32-sys",
-+ "net2",
-+ "winapi 0.2.8",
-+ "ws2_32-sys",
- ]
- 
- [[package]]
- name = "miow"
- version = "0.3.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
- dependencies = [
-- "socket2 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "socket2",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "muldiv"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0419348c027fa7be448d2ae7ea0e4e04c2334c31dc4e74ab29f00a2a7ca69204"
- 
- [[package]]
- name = "multimap"
- version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce"
- dependencies = [
-- "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde",
- ]
- 
- [[package]]
- name = "nalgebra"
- version = "0.18.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2"
- dependencies = [
-- "alga 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matrixmultiply 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-complex 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-rational 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "alga",
-+ "approx",
-+ "generic-array",
-+ "matrixmultiply",
-+ "num-complex",
-+ "num-rational",
-+ "num-traits",
-+ "rand 0.6.5",
-+ "typenum",
- ]
- 
- [[package]]
- name = "net2"
- version = "0.2.34"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "libc",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "nix"
- version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a2c5afeb0198ec7be8569d666644b574345aad2e95a53baf3a532da3e0f3fb32"
- dependencies = [
-- "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 0.9.1",
-+ "cfg-if",
-+ "libc",
-+ "void",
- ]
- 
- [[package]]
- name = "nom"
- version = "5.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
- dependencies = [
-- "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr",
-+ "version_check",
- ]
- 
- [[package]]
- name = "num"
- version = "0.1.42"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
- dependencies = [
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-iter 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-integer",
-+ "num-iter",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-bigint"
- version = "0.2.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "num-integer",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-complex"
- version = "0.2.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-integer"
- version = "0.1.43"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-iter"
- version = "0.1.41"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6e6b7c748f995c4c29c5f5ae0248536e04a5739927c74ec0fa564805094b9f"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "num-integer",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-rational"
- version = "0.2.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "num-integer",
-+ "num-traits",
- ]
- 
- [[package]]
- name = "num-traits"
- version = "0.2.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
- dependencies = [
-- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libm 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.0",
-+ "libm",
- ]
- 
- [[package]]
- name = "num_cpus"
- version = "1.13.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
- dependencies = [
-- "hermit-abi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hermit-abi",
-+ "libc",
- ]
- 
- [[package]]
- name = "ogg"
- version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d79f1db9148be9d0e174bb3ac890f6030fcb1ed947267c5a91ee4c91b5a91e15"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
- ]
- 
- [[package]]
- name = "ogg-sys"
- version = "0.0.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a95b8c172e17df1a41bf8d666301d3b2c4efeb90d9d0415e2a4dc0668b35fdb2"
- dependencies = [
-- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gcc",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "once_cell"
- version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
- 
- [[package]]
- name = "opaque-debug"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
- 
- [[package]]
- name = "parking_lot"
- version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
- dependencies = [
-- "lock_api 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lock_api",
-+ "parking_lot_core",
-+ "rustc_version",
- ]
- 
- [[package]]
- name = "parking_lot_core"
- version = "0.6.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "cloudabi",
-+ "libc",
-+ "redox_syscall",
-+ "rustc_version",
-+ "smallvec 0.6.13",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "paste"
- version = "0.1.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
- dependencies = [
-- "paste-impl 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "paste-impl",
-+ "proc-macro-hack",
- ]
- 
- [[package]]
- name = "paste-impl"
- version = "0.1.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
- dependencies = [
-- "proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro-hack",
- ]
- 
- [[package]]
- name = "pbkdf2"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
- dependencies = [
-- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "base64 0.9.3",
-+ "byteorder",
-+ "crypto-mac",
-+ "hmac",
-+ "rand 0.5.6",
-+ "sha2",
-+ "subtle",
- ]
- 
- [[package]]
- name = "peeking_take_while"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
- 
- [[package]]
- name = "percent-encoding"
- version = "1.0.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
- 
- [[package]]
- name = "pin-project"
- version = "0.4.22"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "12e3a6cdbfe94a5e4572812a0201f8c0ed98c1c452c7b8563ce2276988ef9c17"
- dependencies = [
-- "pin-project-internal 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pin-project-internal",
- ]
- 
- [[package]]
- name = "pin-project-internal"
- version = "0.4.22"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7"
- dependencies = [
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.19",
-+ "quote 1.0.7",
-+ "syn 1.0.35",
- ]
- 
- [[package]]
- name = "pin-utils"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
- 
- [[package]]
- name = "pkg-config"
- version = "0.3.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
- 
- [[package]]
- name = "portaudio-rs"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cdb6b5eff96ccc9bf44d34c379ab03ae944426d83d1694345bdf8159d561d562"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "portaudio-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "libc",
-+ "portaudio-sys",
- ]
- 
- [[package]]
- name = "portaudio-sys"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5194a4fa953b4ffd851c320ef6f0484cd7278cb7169ea9d6c433e49b23f7b7f5"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "ppv-lite86"
- version = "0.2.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
- 
- [[package]]
- name = "proc-macro-hack"
- version = "0.5.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4"
- 
- [[package]]
- name = "proc-macro-nested"
- version = "0.1.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
- 
- [[package]]
- name = "proc-macro2"
- version = "0.4.30"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
- dependencies = [
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0",
- ]
- 
- [[package]]
- name = "proc-macro2"
- version = "1.0.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
- dependencies = [
-- "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.2.1",
- ]
- 
- [[package]]
- name = "protobuf"
- version = "2.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485"
- 
- [[package]]
- name = "protobuf-codegen"
- version = "2.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de113bba758ccf2c1ef816b127c958001b7831136c9bc3f8e9ec695ac4e82b0c"
- dependencies = [
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "protobuf",
- ]
- 
- [[package]]
- name = "protobuf-codegen-pure"
- version = "2.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d1a4febc73bf0cada1d77c459a0c8e5973179f1cfd5b0f1ab789d45b17b6440"
- dependencies = [
-- "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "protobuf-codegen 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "protobuf",
-+ "protobuf-codegen",
- ]
- 
- [[package]]
- name = "quick-error"
- version = "1.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
- 
- [[package]]
- name = "quote"
- version = "0.6.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30",
- ]
- 
- [[package]]
- name = "quote"
- version = "1.0.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
- dependencies = [
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.19",
- ]
- 
- [[package]]
- name = "rand"
- version = "0.3.23"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "rand 0.4.6",
- ]
- 
- [[package]]
- name = "rand"
- version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
- dependencies = [
-- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.3.1",
-+ "rdrand",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rand"
- version = "0.5.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
- dependencies = [
-- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cloudabi",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.3.1",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rand"
- version = "0.6.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 0.1.7",
-+ "libc",
-+ "rand_chacha 0.1.1",
-+ "rand_core 0.4.2",
-+ "rand_hc 0.1.0",
-+ "rand_isaac",
-+ "rand_jitter",
-+ "rand_os",
-+ "rand_pcg",
-+ "rand_xorshift",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rand"
- version = "0.7.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
- dependencies = [
-- "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getrandom",
-+ "libc",
-+ "rand_chacha 0.2.2",
-+ "rand_core 0.5.1",
-+ "rand_hc 0.2.0",
- ]
- 
- [[package]]
- name = "rand_chacha"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 0.1.7",
-+ "rand_core 0.3.1",
- ]
- 
- [[package]]
- name = "rand_chacha"
- version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
- dependencies = [
-- "ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ppv-lite86",
-+ "rand_core 0.5.1",
- ]
- 
- [[package]]
- name = "rand_core"
- version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
- dependencies = [
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2",
- ]
- 
- [[package]]
- name = "rand_core"
- version = "0.4.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
- 
- [[package]]
- name = "rand_core"
- version = "0.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
- dependencies = [
-- "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getrandom",
- ]
- 
- [[package]]
- name = "rand_hc"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
- 
- [[package]]
- name = "rand_hc"
- version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
- dependencies = [
-- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.5.1",
- ]
- 
- [[package]]
- name = "rand_isaac"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
- 
- [[package]]
- name = "rand_jitter"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "rand_core 0.4.2",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rand_os"
- version = "0.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
- dependencies = [
-- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cloudabi",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.4.2",
-+ "rdrand",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rand_pcg"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 0.1.7",
-+ "rand_core 0.4.2",
- ]
- 
- [[package]]
- name = "rand_xorshift"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
- 
- [[package]]
- name = "rawpointer"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
- 
- [[package]]
- name = "rdrand"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
- 
- [[package]]
- name = "redox_syscall"
- version = "0.1.57"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
- 
- [[package]]
- name = "regex"
- version = "1.3.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
- dependencies = [
-- "regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax",
- ]
- 
- [[package]]
- name = "regex-syntax"
- version = "0.6.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
- 
- [[package]]
- name = "relay"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
- ]
- 
- [[package]]
- name = "remove_dir_all"
- version = "0.5.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
- dependencies = [
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "rodio"
- version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5d0f961b254e66d147a7b550c78b01308934c97d807a34b417fd0f5a0a0f3a2d"
- dependencies = [
-- "cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "nalgebra 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cpal",
-+ "lazy_static",
-+ "nalgebra",
- ]
- 
- [[package]]
- name = "rpassword"
- version = "3.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c34fa7bcae7fca3c8471e8417088bbc3ad9af8066b0ecf4f3c0d98a0d772716e"
- dependencies = [
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "kernel32-sys",
-+ "libc",
-+ "winapi 0.2.8",
- ]
- 
- [[package]]
- name = "rustc-hash"
- version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
- 
- [[package]]
- name = "rustc_version"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
- dependencies = [
-- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver",
- ]
- 
- [[package]]
- name = "ryu"
- version = "1.0.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
- 
- [[package]]
- name = "safemem"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
- 
- [[package]]
- name = "scoped-tls"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
- 
- [[package]]
- name = "scopeguard"
- version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
- 
- [[package]]
- name = "sdl2"
- version = "0.32.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d051a07231e303f5f719da78cb6f7394f6d5b54f733aef5b0b447804a83edd7b"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sdl2-sys 0.32.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "lazy_static",
-+ "libc",
-+ "num",
-+ "rand 0.6.5",
-+ "sdl2-sys",
- ]
- 
- [[package]]
- name = "sdl2-sys"
- version = "0.32.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "34e71125077d297d57e4c1acfe8981b5bdfbf5a20e7b589abfdcb33bf1127f86"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "libc",
- ]
- 
- [[package]]
- name = "semver"
- version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
- dependencies = [
-- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver-parser",
- ]
- 
- [[package]]
- name = "semver-parser"
- version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
- 
- [[package]]
- name = "serde"
- version = "1.0.114"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
- 
- [[package]]
- name = "serde_derive"
- version = "1.0.114"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
- dependencies = [
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.19",
-+ "quote 1.0.7",
-+ "syn 1.0.35",
- ]
- 
- [[package]]
- name = "serde_json"
- version = "1.0.56"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3433e879a558dde8b5e8feb2a04899cf34fdde1fafb894687e52105fc1162ac3"
- dependencies = [
-- "itoa 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ryu 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itoa",
-+ "ryu",
-+ "serde",
- ]
- 
- [[package]]
- name = "sha-1"
- version = "0.8.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
- dependencies = [
-- "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-buffer",
-+ "digest",
-+ "fake-simd",
-+ "opaque-debug",
- ]
- 
- [[package]]
- name = "sha2"
- version = "0.8.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
- dependencies = [
-- "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-buffer",
-+ "digest",
-+ "fake-simd",
-+ "opaque-debug",
- ]
- 
- [[package]]
- name = "shannon"
- version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7ea5b41c9427b56caa7b808cb548a04fb50bb5b9e98590b53f28064ff4174561"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
- ]
- 
- [[package]]
- name = "shell-words"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "39acde55a154c4cd3ae048ac78cc21c25f3a0145e44111b523279113dce0d94a"
- 
- [[package]]
- name = "shlex"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
- 
- [[package]]
- name = "signal-hook-registry"
- version = "1.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41"
- dependencies = [
-- "arc-swap 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arc-swap",
-+ "libc",
- ]
- 
- [[package]]
- name = "slab"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
- 
- [[package]]
- name = "slab"
- version = "0.4.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
- 
- [[package]]
- name = "smallvec"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c8cbcd6df1e117c2210e13ab5109635ad68a929fcbb8964dc965b76cb5ee013"
- 
- [[package]]
- name = "smallvec"
- version = "0.6.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
- dependencies = [
-- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "maybe-uninit",
- ]
- 
- [[package]]
- name = "socket2"
- version = "0.3.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "libc",
-+ "redox_syscall",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "stdweb"
- version = "0.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e"
- 
- [[package]]
- name = "stream-cipher"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
- ]
- 
- [[package]]
- name = "subtle"
- version = "1.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
- 
- [[package]]
- name = "syn"
- version = "0.15.44"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30",
-+ "quote 0.6.13",
-+ "unicode-xid 0.1.0",
- ]
- 
- [[package]]
- name = "syn"
- version = "1.0.35"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fb7f4c519df8c117855e19dd8cc851e89eb746fe7a73f0157e0d95fdec5369b0"
- dependencies = [
-- "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.19",
-+ "quote 1.0.7",
-+ "unicode-xid 0.2.1",
- ]
- 
- [[package]]
- name = "synstructure"
- version = "0.10.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.30",
-+ "quote 0.6.13",
-+ "syn 0.15.44",
-+ "unicode-xid 0.1.0",
- ]
- 
- [[package]]
- name = "take"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
- 
- [[package]]
- name = "tempfile"
- version = "3.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)",
-- "remove_dir_all 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if",
-+ "libc",
-+ "rand 0.7.3",
-+ "redox_syscall",
-+ "remove_dir_all",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "termcolor"
- version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
- dependencies = [
-- "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-util",
- ]
- 
- [[package]]
- name = "time"
- version = "0.1.43"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "tinyvec"
- version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed"
- 
- [[package]]
- name = "tokio"
- version = "0.1.22"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-current-thread 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-fs 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-tcp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-udp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-uds 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "mio",
-+ "num_cpus",
-+ "tokio-codec",
-+ "tokio-current-thread",
-+ "tokio-executor",
-+ "tokio-fs",
-+ "tokio-io",
-+ "tokio-reactor",
-+ "tokio-sync",
-+ "tokio-tcp",
-+ "tokio-threadpool",
-+ "tokio-timer",
-+ "tokio-udp",
-+ "tokio-uds",
- ]
- 
- [[package]]
- name = "tokio-codec"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "tokio-io",
- ]
- 
- [[package]]
- name = "tokio-core"
- version = "0.1.17"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "iovec",
-+ "log 0.4.11",
-+ "mio",
-+ "scoped-tls",
-+ "tokio",
-+ "tokio-executor",
-+ "tokio-io",
-+ "tokio-reactor",
-+ "tokio-timer",
- ]
- 
- [[package]]
- name = "tokio-current-thread"
- version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "tokio-executor",
- ]
- 
- [[package]]
- name = "tokio-executor"
- version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
- dependencies = [
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.7.2",
-+ "futures",
- ]
- 
- [[package]]
- name = "tokio-fs"
- version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "tokio-io",
-+ "tokio-threadpool",
- ]
- 
- [[package]]
- name = "tokio-io"
- version = "0.1.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "log 0.4.11",
- ]
- 
- [[package]]
- name = "tokio-process"
- version = "0.2.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "382d90f43fa31caebe5d3bc6cfd854963394fff3b8cb59d5146607aaae7e7e43"
- dependencies = [
-- "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio-named-pipes 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-signal 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-queue 0.1.2",
-+ "futures",
-+ "lazy_static",
-+ "libc",
-+ "log 0.4.11",
-+ "mio",
-+ "mio-named-pipes",
-+ "tokio-io",
-+ "tokio-reactor",
-+ "tokio-signal",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "tokio-proto"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8fbb47ae81353c63c487030659494b295f6cb6576242f907f203473b191b0389"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "log 0.3.9",
-+ "net2",
-+ "rand 0.3.23",
-+ "slab 0.3.0",
-+ "smallvec 0.2.1",
-+ "take",
-+ "tokio-core",
-+ "tokio-io",
-+ "tokio-service",
- ]
- 
- [[package]]
- name = "tokio-reactor"
- version = "0.1.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
- dependencies = [
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.7.2",
-+ "futures",
-+ "lazy_static",
-+ "log 0.4.11",
-+ "mio",
-+ "num_cpus",
-+ "parking_lot",
-+ "slab 0.4.2",
-+ "tokio-executor",
-+ "tokio-io",
-+ "tokio-sync",
- ]
- 
- [[package]]
- name = "tokio-service"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
- ]
- 
- [[package]]
- name = "tokio-signal"
- version = "0.2.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d0c34c6e548f101053321cba3da7cbb87a610b85555884c41b07da2eb91aff12"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio-uds 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "libc",
-+ "mio",
-+ "mio-uds",
-+ "signal-hook-registry",
-+ "tokio-executor",
-+ "tokio-io",
-+ "tokio-reactor",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "tokio-sync"
- version = "0.1.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
- dependencies = [
-- "fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fnv",
-+ "futures",
- ]
- 
- [[package]]
- name = "tokio-tcp"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "iovec",
-+ "mio",
-+ "tokio-io",
-+ "tokio-reactor",
- ]
- 
- [[package]]
- name = "tokio-threadpool"
- version = "0.1.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
- dependencies = [
-- "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-queue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-deque",
-+ "crossbeam-queue 0.2.3",
-+ "crossbeam-utils 0.7.2",
-+ "futures",
-+ "lazy_static",
-+ "log 0.4.11",
-+ "num_cpus",
-+ "slab 0.4.2",
-+ "tokio-executor",
- ]
- 
- [[package]]
- name = "tokio-timer"
- version = "0.2.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
- dependencies = [
-- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.7.2",
-+ "futures",
-+ "slab 0.4.2",
-+ "tokio-executor",
- ]
- 
- [[package]]
- name = "tokio-udp"
- version = "0.1.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "log 0.4.11",
-+ "mio",
-+ "tokio-codec",
-+ "tokio-io",
-+ "tokio-reactor",
- ]
- 
- [[package]]
- name = "tokio-uds"
- version = "0.2.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio-uds 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes",
-+ "futures",
-+ "iovec",
-+ "libc",
-+ "log 0.4.11",
-+ "mio",
-+ "mio-uds",
-+ "tokio-codec",
-+ "tokio-io",
-+ "tokio-reactor",
- ]
- 
- [[package]]
- name = "try-lock"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2"
- 
- [[package]]
- name = "typenum"
- version = "1.12.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
- 
- [[package]]
- name = "unicase"
- version = "2.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
- dependencies = [
-- "version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "version_check",
- ]
- 
- [[package]]
- name = "unicode-bidi"
- version = "0.3.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
- dependencies = [
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches",
- ]
- 
- [[package]]
- name = "unicode-normalization"
- version = "0.1.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977"
- dependencies = [
-- "tinyvec 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tinyvec",
- ]
- 
- [[package]]
- name = "unicode-width"
- version = "0.1.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
- 
- [[package]]
- name = "unicode-xid"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
- 
- [[package]]
- name = "unicode-xid"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
- 
- [[package]]
- name = "url"
- version = "1.7.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
- dependencies = [
-- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "idna",
-+ "matches",
-+ "percent-encoding",
- ]
- 
- [[package]]
- name = "uuid"
- version = "0.7.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
- dependencies = [
-- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5",
- ]
- 
- [[package]]
- name = "vergen"
- version = "3.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4ce50d8996df1f85af15f2cd8d33daae6e479575123ef4314a51a70a230739cb"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "chrono 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.2.1",
-+ "chrono",
- ]
- 
- [[package]]
- name = "version_check"
- version = "0.9.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
- 
- [[package]]
- name = "void"
- version = "1.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
- 
- [[package]]
- name = "vorbis"
- version = "0.0.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5e8a194457075360557b82dac78f7ca2d65bbb6679bccfabae5f7c8c706cc776"
- dependencies = [
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ogg-sys 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vorbis-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vorbisfile-sys 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "ogg-sys",
-+ "vorbis-sys",
-+ "vorbisfile-sys",
- ]
- 
- [[package]]
- name = "vorbis-sys"
- version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3a0a8d7034313748da1d84b0adfa501f83f9ec83250f37fbacfa92a3580327c4"
- dependencies = [
-- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ogg-sys 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gcc",
-+ "libc",
-+ "ogg-sys",
-+ "pkg-config",
- ]
- 
- [[package]]
- name = "vorbisfile-sys"
- version = "0.0.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4f4306d7e1ac4699b55e20de9483750b90c250913188efd7484db6bfbe9042d1"
- dependencies = [
-- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ogg-sys 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vorbis-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gcc",
-+ "libc",
-+ "ogg-sys",
-+ "pkg-config",
-+ "vorbis-sys",
- ]
- 
- [[package]]
- name = "want"
- version = "0.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures",
-+ "log 0.4.11",
-+ "try-lock",
- ]
- 
- [[package]]
- name = "wasi"
- version = "0.9.0+wasi-snapshot-preview1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
- 
- [[package]]
- name = "winapi"
- version = "0.2.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
- 
- [[package]]
- name = "winapi"
- version = "0.3.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
- dependencies = [
-- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
- ]
- 
- [[package]]
- name = "winapi-build"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
- 
- [[package]]
- name = "winapi-i686-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
- 
- [[package]]
- name = "winapi-util"
- version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
- dependencies = [
-- "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.9",
- ]
- 
- [[package]]
- name = "winapi-x86_64-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
- 
- [[package]]
- name = "ws2_32-sys"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
- dependencies = [
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.2.8",
-+ "winapi-build",
- ]
- 
- [[package]]
- name = "zerocopy"
- version = "0.2.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "992b9b31f80fd4a167f903f879b8ca43d6716cc368ea01df90538baa2dd34056"
- dependencies = [
-- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "zerocopy-derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "zerocopy-derive",
- ]
- 
- [[package]]
- name = "zerocopy-derive"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b090467ecd0624026e8a6405d343ac7382592530d54881330b3fc8e400280fa5"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
--]
--
--[metadata]
--"checksum aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9"
--"checksum aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee"
--"checksum aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d"
--"checksum aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100"
--"checksum alga 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2"
--"checksum alsa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a0d4ebc8b23041c5de9bc9aee13b4bad844a589479701f31a5934cfe4aeb32"
--"checksum alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0edcbbf9ef68f15ae1b620f722180b82a98b6f0628d30baa6b8d2a5abc87d58"
--"checksum approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3"
--"checksum arc-swap 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034"
--"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
--"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
--"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
--"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
--"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
--"checksum bindgen 0.53.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5"
--"checksum bit-set 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
--"checksum bit-vec 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5f0dc55f2d8a1a85650ac47858bb001b4c0dd73d79e3c455a842925e68d29cd3"
--"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
--"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
--"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
--"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
--"checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
--"checksum block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "31aa8410095e39fdb732909fb5730a48d5bd7c2e3cd76bd1b07b3dbea130c529"
--"checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
--"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
--"checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
--"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
--"checksum cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518"
--"checksum cexpr 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
--"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
--"checksum chrono 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "c74d84029116787153e02106bf53e66828452a4b325cc8652b788b5967c0a0b6"
--"checksum clang-sys 0.29.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a"
--"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
--"checksum core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
--"checksum coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f229761965dad3e9b11081668a6ea00f1def7aa46062321b5ec245b834f6e491"
--"checksum coreaudio-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d6570ee6e089131e928d5ec9236db9e818aa3cf850f48b0eec6ef700571271d4"
--"checksum cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d58ae1ed6536b1b233f5e3aeb6997a046ddb4d05e3f61701b58a92eb254a829e"
--"checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
--"checksum crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
--"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
--"checksum crossbeam-queue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
--"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
--"checksum crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
--"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
--"checksum ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736"
--"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
--"checksum dns-sd 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d748509dea20228f63ba519bf142ce2593396386125b01f5b0d6412dab972087"
--"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
--"checksum error-chain 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d371106cc88ffdfb1eabd7111e432da544f16f3e2d7bf1dfe8bf575f1df045cd"
--"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
--"checksum fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
--"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
--"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
--"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
--"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
--"checksum futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
--"checksum futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
--"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
--"checksum futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
--"checksum futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
--"checksum futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
--"checksum futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
--"checksum futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
--"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
--"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
--"checksum getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
--"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
--"checksum glib 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "40fb573a09841b6386ddf15fd4bc6655b4f5b106ca962f57ecaecde32a0061c0"
--"checksum glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
--"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
--"checksum gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
--"checksum gstreamer 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ce8664a114cd6ec16bece783d5eee59496919915b1f6884400ba4a953274a163"
--"checksum gstreamer-app 0.15.6 (registry+https://github.com/rust-lang/crates.io-index)" = "789784e8d42f5add1e1e965cf9f7e2d09e21dd0756bae6148f971db9a761d6a9"
--"checksum gstreamer-app-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bf869ce152c23bca5d761ab62146b47f750d0b28d4d499731857532897d48167"
--"checksum gstreamer-base 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "42552f75cc6c260b0be180d5c955f4cd74bd170289c622404c25f1210b521c12"
--"checksum gstreamer-base-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ba384f52174b3c586593fca32642680a9e67961fea9f4cd8419f678965023bed"
--"checksum gstreamer-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d18da01b97d0ab5896acd5151e4c155acefd0e6c03c3dd24dd133ba054053db"
--"checksum hermit-abi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
--"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
--"checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
--"checksum hostname 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
--"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
--"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
--"checksum hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)" = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7"
--"checksum hyper-proxy 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44f0925de2747e481e6e477dd212c25e8f745567f02f6182e04d27b97c3fbece"
--"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
--"checksum if-addrs 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48"
--"checksum if-addrs-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"
--"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
--"checksum itoa 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
--"checksum jack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1e15fc592e2e5a74a105ff507083c04db1aa20ba1b90d425362ba000e57422df"
--"checksum jack-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4ca501477fd3cd93a36df581046e5d6338ed826cf7e9b8d302603521e6cc3"
--"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
--"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
--"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
--"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
--"checksum lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0"
--"checksum libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)" = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
--"checksum libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9"
--"checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
--"checksum libm 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
--"checksum libmdns 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5d8582c174736c53633bc482ac709b24527c018356c3dc6d8e25a788b06b394e"
--"checksum libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9bb11b06faf883500c1b625cf4453e6c7737e9df9c7ba01df3f84b22b083e4ac"
--"checksum librespot-tremor 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97f525bff915d478a76940a7b988e5ea34911ba7280c97bd3a7673f54d68b4fe"
--"checksum linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
--"checksum lock_api 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
--"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
--"checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
--"checksum match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
--"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
--"checksum matrixmultiply 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f"
--"checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
--"checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
--"checksum memoffset 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c198b026e1bbf08a937e94c6c60f9ec4a2267f5b0d2eec9c1b21b061ce2be55f"
--"checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
--"checksum mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)" = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430"
--"checksum mio-named-pipes 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
--"checksum mio-uds 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
--"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
--"checksum miow 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
--"checksum muldiv 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0419348c027fa7be448d2ae7ea0e4e04c2334c31dc4e74ab29f00a2a7ca69204"
--"checksum multimap 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d8883adfde9756c1d30b0f519c9b8c502a94b41ac62f696453c37c7fc0a958ce"
--"checksum nalgebra 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2"
--"checksum net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)" = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7"
--"checksum nix 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2c5afeb0198ec7be8569d666644b574345aad2e95a53baf3a532da3e0f3fb32"
--"checksum nom 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
--"checksum num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
--"checksum num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
--"checksum num-complex 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"
--"checksum num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b"
--"checksum num-iter 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e6b7c748f995c4c29c5f5ae0248536e04a5739927c74ec0fa564805094b9f"
--"checksum num-rational 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
--"checksum num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
--"checksum num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
--"checksum ogg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d79f1db9148be9d0e174bb3ac890f6030fcb1ed947267c5a91ee4c91b5a91e15"
--"checksum ogg-sys 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "a95b8c172e17df1a41bf8d666301d3b2c4efeb90d9d0415e2a4dc0668b35fdb2"
--"checksum once_cell 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
--"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
--"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
--"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
--"checksum paste 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
--"checksum paste-impl 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
--"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
--"checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
--"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
--"checksum pin-project 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "12e3a6cdbfe94a5e4572812a0201f8c0ed98c1c452c7b8563ce2276988ef9c17"
--"checksum pin-project-internal 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7"
--"checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
--"checksum pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
--"checksum portaudio-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cdb6b5eff96ccc9bf44d34c379ab03ae944426d83d1694345bdf8159d561d562"
--"checksum portaudio-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5194a4fa953b4ffd851c320ef6f0484cd7278cb7169ea9d6c433e49b23f7b7f5"
--"checksum ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
--"checksum proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)" = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4"
--"checksum proc-macro-nested 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
--"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
--"checksum proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
--"checksum protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e86d370532557ae7573551a1ec8235a0f8d6cb276c7c9e6aa490b511c447485"
--"checksum protobuf-codegen 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de113bba758ccf2c1ef816b127c958001b7831136c9bc3f8e9ec695ac4e82b0c"
--"checksum protobuf-codegen-pure 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d1a4febc73bf0cada1d77c459a0c8e5973179f1cfd5b0f1ab789d45b17b6440"
--"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
--"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
--"checksum quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
--"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
--"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
--"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
--"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
--"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
--"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
--"checksum rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
--"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
--"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
--"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
--"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
--"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
--"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
--"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
--"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
--"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
--"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
--"checksum rawpointer 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
--"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
--"checksum redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)" = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
--"checksum regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
--"checksum regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)" = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
--"checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
--"checksum remove_dir_all 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
--"checksum rodio 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d0f961b254e66d147a7b550c78b01308934c97d807a34b417fd0f5a0a0f3a2d"
--"checksum rpassword 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c34fa7bcae7fca3c8471e8417088bbc3ad9af8066b0ecf4f3c0d98a0d772716e"
--"checksum rustc-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
--"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
--"checksum ryu 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
--"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
--"checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
--"checksum scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
--"checksum sdl2 0.32.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d051a07231e303f5f719da78cb6f7394f6d5b54f733aef5b0b447804a83edd7b"
--"checksum sdl2-sys 0.32.6 (registry+https://github.com/rust-lang/crates.io-index)" = "34e71125077d297d57e4c1acfe8981b5bdfbf5a20e7b589abfdcb33bf1127f86"
--"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.114 (registry+https://github.com/rust-lang/crates.io-index)" = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
--"checksum serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)" = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
--"checksum serde_json 1.0.56 (registry+https://github.com/rust-lang/crates.io-index)" = "3433e879a558dde8b5e8feb2a04899cf34fdde1fafb894687e52105fc1162ac3"
--"checksum sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
--"checksum sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
--"checksum shannon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7ea5b41c9427b56caa7b808cb548a04fb50bb5b9e98590b53f28064ff4174561"
--"checksum shell-words 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39acde55a154c4cd3ae048ac78cc21c25f3a0145e44111b523279113dce0d94a"
--"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
--"checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41"
--"checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
--"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
--"checksum smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c8cbcd6df1e117c2210e13ab5109635ad68a929fcbb8964dc965b76cb5ee013"
--"checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
--"checksum socket2 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918"
--"checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e"
--"checksum stream-cipher 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c"
--"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
--"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
--"checksum syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "fb7f4c519df8c117855e19dd8cc851e89eb746fe7a73f0157e0d95fdec5369b0"
--"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
--"checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
--"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
--"checksum termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
--"checksum time 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
--"checksum tinyvec 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed"
--"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
--"checksum tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
--"checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71"
--"checksum tokio-current-thread 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
--"checksum tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
--"checksum tokio-fs 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
--"checksum tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
--"checksum tokio-process 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "382d90f43fa31caebe5d3bc6cfd854963394fff3b8cb59d5146607aaae7e7e43"
--"checksum tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fbb47ae81353c63c487030659494b295f6cb6576242f907f203473b191b0389"
--"checksum tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
--"checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
--"checksum tokio-signal 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c34c6e548f101053321cba3da7cbb87a610b85555884c41b07da2eb91aff12"
--"checksum tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
--"checksum tokio-tcp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
--"checksum tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
--"checksum tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
--"checksum tokio-udp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
--"checksum tokio-uds 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
--"checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2"
--"checksum typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
--"checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
--"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
--"checksum unicode-normalization 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977"
--"checksum unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
--"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
--"checksum unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
--"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
--"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
--"checksum vergen 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ce50d8996df1f85af15f2cd8d33daae6e479575123ef4314a51a70a230739cb"
--"checksum version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
--"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
--"checksum vorbis 0.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "5e8a194457075360557b82dac78f7ca2d65bbb6679bccfabae5f7c8c706cc776"
--"checksum vorbis-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0a8d7034313748da1d84b0adfa501f83f9ec83250f37fbacfa92a3580327c4"
--"checksum vorbisfile-sys 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4f4306d7e1ac4699b55e20de9483750b90c250913188efd7484db6bfbe9042d1"
--"checksum want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1"
--"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
--"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
--"checksum winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
--"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
--"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
--"checksum winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
--"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
--"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
--"checksum zerocopy 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "992b9b31f80fd4a167f903f879b8ca43d6716cc368ea01df90538baa2dd34056"
--"checksum zerocopy-derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b090467ecd0624026e8a6405d343ac7382592530d54881330b3fc8e400280fa5"
-+ "proc-macro2 0.4.30",
-+ "syn 0.15.44",
-+ "synstructure",
-+]
diff --git a/pkgs/applications/audio/librespot/default.nix b/pkgs/applications/audio/librespot/default.nix
index 61f709b33e1..de1952b9912 100644
--- a/pkgs/applications/audio/librespot/default.nix
+++ b/pkgs/applications/audio/librespot/default.nix
@@ -4,17 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "librespot";
-  version = "0.1.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "librespot-org";
     repo = "librespot";
     rev = "v${version}";
-    sha256 = "153i9n3qwmmwc29f62cz8nbqrlry16iygvibm1sdnvpf0s6wk5f3";
+    sha256 = "0n7h690gplpp47gdj038g6ncgwr7wvwfkg00cbrbvxhv7kzqqa1f";
   };
 
-  cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "11d64rpq4b5rdxk5wx0hhzgc6mvs6h2br0w3kfncfklp67vn3v4v";
+  cargoSha256 = "0qakvpxvn84ppgs3qlsfan4flqkmjcgs698w25jasx9ymiv8wc3s";
 
   cargoBuildFlags = with lib; [
     "--no-default-features"
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 3f5dd795ccb..2ee92e251bf 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -198,6 +198,8 @@
 
   railgun = callPackage ./railgun { };
 
+  rec-mode = callPackage ./rec-mode { };
+
   structured-haskell-mode = self.shm;
 
   sv-kalender = callPackage ./sv-kalender { };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix
new file mode 100644
index 00000000000..8cb560fde53
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix
@@ -0,0 +1,18 @@
+{ lib
+, trivialBuild
+, recutils
+}:
+
+trivialBuild {
+  pname = "rec-mode";
+
+  inherit (recutils) version src;
+
+  postUnpack = ''
+    sourceRoot="$sourceRoot/etc"
+  '';
+
+  meta = recutils.meta // {
+    description = "A major mode for editing rec files";
+  };
+}
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index bcd55258a49..db043140e77 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -198,7 +198,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
     description = "The extensible, customizable GNU text editor";
     homepage    = "https://www.gnu.org/software/emacs/";
     license     = licenses.gpl3Plus;
-    maintainers = with maintainers; [ lovek323 peti jwiegley adisbladis ];
+    maintainers = with maintainers; [ lovek323 jwiegley adisbladis ];
     platforms   = platforms.all;
 
     longDescription = ''
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 316c4861332..b5ba0c15ff9 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -14,17 +14,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1mpvikps5l2vynw7afrpkp4ah0q6q2q4q8d074b4vfwhaj1v6v75";
-    x86_64-darwin = "0r65wfyzc90lhd0i61xkb8kq9339b3ddyqp5dx7wf0aydgi203br";
-    aarch64-linux = "0d4kqjhyq8s7ini25m2igf37bzb2dw01jv62nps3yx3cr52vzyn2";
-    aarch64-darwin = "0h5g3h8z1wl7pz6ddlchnwqns956pyi1c3fjivsff0f0yhmdlva7";
-    armv7l-linux = "0fyxmq3i4kc1x013xs9flcbkmzzy9sqhjhcj5n38w6mswsb97qrv";
+    x86_64-linux = "069jdwqs9z2z95mjs9nx58rp1516dyyqn5bc0vgr7xvlbis97lq0";
+    x86_64-darwin = "1bd32dkpyfgknxqn76jcwpa47rac9q14glbf5sb1rh9rfav0m1m8";
+    aarch64-linux = "1axxnys3pd2qrvj6mqpa5cih44b4dbpgi8mvn616d8d45jgdnc1r";
+    aarch64-darwin = "0bdp0k20lfwpsl1a3dz6c97s0b5bp3rhb66jwgbyyc16zrz79r1z";
+    armv7l-linux = "077w5hvc4brb56zs0w37nr4a8vlcij5z3yrv3rz16p58nnkj56hs";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.61.0";
+    version = "1.61.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/graphics/blockbench-electron/default.nix b/pkgs/applications/graphics/blockbench-electron/default.nix
index 174733a4fdc..a9c258ce925 100644
--- a/pkgs/applications/graphics/blockbench-electron/default.nix
+++ b/pkgs/applications/graphics/blockbench-electron/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "A boxy 3D model editor powered by Electron";
     homepage = "https://blockbench.net/";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.ronthecookie ];
+    maintainers = [ maintainers.ckie ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/graphics/drawing/default.nix b/pkgs/applications/graphics/drawing/default.nix
index a2b4e949499..9c25b2784b4 100644
--- a/pkgs/applications/graphics/drawing/default.nix
+++ b/pkgs/applications/graphics/drawing/default.nix
@@ -17,7 +17,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "drawing";
-  version = "0.8.0";
+  version = "0.8.3";
 
   format = "other";
 
@@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "maoschanz";
     repo = pname;
     rev = version;
-    sha256 = "03cx6acb0ph7b3difshjfddi8ld79wp8d12bdp7dp1q1820j5mz0";
+    sha256 = "sha256-qDLJ+Mw4z66ro9/zoEIzDJpA+jJLYw0WgsP7mA+56XM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index fc1fb67bd30..36dad897668 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "457";
+  version = "458";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "sha256-ZXBVJc+9dFzi75JYl3U3ic0MKolWMsdR3UkLe5EOzsw=";
+    sha256 = "sha256-oVNgXelFMVT5V41SRlnN+pnYzOWbdDKQQcvRWFZqEro=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 27eb174cdf0..93a7d75ce45 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -113,7 +113,6 @@ stdenv.mkDerivation {
     '';
     homepage = "http://www.sane-project.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix
index c0945242096..d34ab9856fc 100644
--- a/pkgs/applications/graphics/sane/frontends.nix
+++ b/pkgs/applications/graphics/sane/frontends.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
     description = "Scanner Access Now Easy";
     homepage    = "http://www.sane-project.org/";
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index 1deaab4dfe5..e394acf2b06 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.sane-project.org/";
     description = "Graphical scanning frontend for sane";
     license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [peti];
     platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 991eee43167..ac3922e17d4 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -33,11 +33,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.2.0";
+  version = "8.3.0";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "1hnpvvval8a9ny5x5zffn5lf5qrwc4hcs3jvhqmd7m4adh2i6y2i";
+    sha256 = "1cakv316ipwyw6s3x4a6qhl0nmg17bxhh08c969gma3svamh1grw";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 1acc5655d83..c7428387d2c 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.20.2";
+  version = "0.20.9";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-jqRxNd6lx1hnOa4F3m3YOr8ZBnSKQBz0XVC5absf9mM=";
+    sha256 = "sha256-dm3bdKbUHI0FFcyYeYd2XSuZuoPsUhk4KcEwzPHiHM8=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index 4f8c5f8bb8b..16f5673bed1 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.2.4";
+  version = "4.2.5";
 
   src = fetchFromGitHub {
     owner = "Electron-Cash";
     repo = "Electron-Cash";
     rev = version;
-    sha256 = "sha256-hiOS0cTaPqllb31p+6nU4GYvw/E1Hdn8yd3sppzGkqg=";
+    sha256 = "sha256-ALIrNnhpX46xdQdfJdx/9e/QtdyBEgi5xLrbuOBJR7o=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index db807ffe1cf..f16e2a87a68 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
       IPSEC.
     '';
     platforms = platforms.unix;
-    maintainers = [ maintainers.peti ];
     license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix
index c182db8fdd3..557cd45c42c 100644
--- a/pkgs/applications/misc/grip/default.nix
+++ b/pkgs/applications/misc/grip/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "http://nostatic.org/grip";
     license = lib.licenses.gpl2Plus;
 
-    maintainers = with lib.maintainers; [ marcweber peti ];
+    maintainers = with lib.maintainers; [ marcweber ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index 3eb41f5ebe5..3ff33a14f2e 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -4,9 +4,9 @@
 , curl, writeShellScript, common-updater-scripts }:
 
 let
-  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.1-20f4dbb0/Hubstaff-1.6.1-20f4dbb0.sh";
-  version = "1.6.1-20f4dbb0";
-  sha256 = "097hpr4sjh14pidflvs8n1mkjpmij9l2vaan4m82vjrr0qdqi8qy";
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.2-b5029032/Hubstaff-1.6.2-b5029032.sh";
+  version = "1.6.2-b5029032";
+  sha256 = "1q3gimg6bcpdnm1fkn1vq3b6shwgi6y84bixisyfcva5px7dmi4s";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 135132bd431..8b72647574e 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -74,6 +74,5 @@ stdenv.mkDerivation rec {
     homepage = "http://ikiwiki.info/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/pkgs/applications/misc/markets/default.nix b/pkgs/applications/misc/markets/default.nix
index bd9dd7ac950..d1d16a7c8cb 100644
--- a/pkgs/applications/misc/markets/default.nix
+++ b/pkgs/applications/misc/markets/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "markets";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "bitstower";
     repo = "markets";
     rev = version;
-    sha256 = "0nk1bs7i6b7r90g5qwd3s2m462vk3kvza0drq7rzb5sdaiz9ccnz";
+    sha256 = "0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index e6282d0acb6..cc5ff18a2f3 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4807";
+  version = "4808";
 
   src = fetchurl {
     url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
-    sha256 = "3DEcXopoCIcBANYrGclZH6K0JLgeYADXtPjQtobyfps=";
+    sha256 = "ooiXotpxdy99ViUQ0kFp0NoTowGEZjEoD31x+3XrW28=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index 745d03bb189..fba1c0b0f5f 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -15,6 +15,7 @@
 , hunspellWithDicts
 , intltool
 , isocodes
+, libappindicator-gtk3
 , libcanberra-gtk3
 , mousetweaks
 , udev
@@ -70,6 +71,7 @@ python3.pkgs.buildPythonApplication rec {
     gtk3
     hunspell
     isocodes
+    libappindicator-gtk3
     libcanberra-gtk3
     libxkbcommon
     mousetweaks
@@ -78,7 +80,7 @@ python3.pkgs.buildPythonApplication rec {
     xorg.libxkbfile
   ] ++ lib.optional atspiSupport at-spi2-core;
 
-  propagatedBuildInputs = with python3.pkgs; [
+  pythonPath = with python3.pkgs; [
     dbus-python
     distutils_extra
     pyatspi
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index f8facbe01fa..fe739cb581a 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -65,7 +65,7 @@ buildPythonApplication rec {
     gobject-introspection
   ];
 
-  propagatedBuildInputs = [
+  pythonPath = [
     pygobject3
     pyatspi
     dbus-python
diff --git a/pkgs/applications/misc/themechanger/default.nix b/pkgs/applications/misc/themechanger/default.nix
new file mode 100644
index 00000000000..7dd52c8ccef
--- /dev/null
+++ b/pkgs/applications/misc/themechanger/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, gobject-introspection
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+, desktop-file-utils
+, glib
+, gtk3
+, python3
+, gsettings-desktop-schemas
+, python3Packages
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "themechanger";
+  version = "0.10.1";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "ALEX11BR";
+    repo = "ThemeChanger";
+    rev = "v${version}";
+    sha256 = "1bxxn5bmdwaxfvyh6z2rxklwnxgvv6kh5y9m8r1k7d0n4msx1x2h";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    desktop-file-utils
+    gtk3
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    python3
+    gsettings-desktop-schemas
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+  ];
+
+  postPatch = ''
+    patchShebangs postinstall.py
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/ALEX11BR/ThemeChanger";
+    description = "A theme changing utility for Linux";
+    longDescription = ''
+      This app is a theme changing utility for Linux, BSDs, and whatnots.
+      It lets the user change GTK 2/3/4, Kvantum, icon and cursor themes, edit GTK CSS with live preview, and set some related options.
+      It also lets the user install icon and widget theme archives.
+    '';
+    maintainers = with maintainers; [ ALEX11BR ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 531c108cdbf..2765cd5ad7a 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -10,11 +10,11 @@
 let isFullPackage = mediaSupport;
 in stdenv.mkDerivation rec {
   pname = if isFullPackage then "vifm-full" else "vifm";
-  version = "0.11";
+  version = "0.12";
 
   src = fetchurl {
     url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2";
-    sha256 = "0rqyd424y0g5b5basw2ybb60r9gar4f40d1xgzr3c2dsy4jpwvyh";
+    sha256 = "1h5j4y704nciyzg3aaav8sl3r5h9mpwq8f28cj65nnxk6a7n3a9k";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index e5e56137b84..53c4145cee2 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -92,11 +92,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.30.87";
+  version = "1.30.89";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "0mx1vnrip1y87g6zj9sdcf5siihwn0b6v1q106d9kz89znpzd64s";
+    sha256 = "2fu6Nk/eMLQ9nYy1aZDpjnRg16YosQPqdKtJ2VAYBrw=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 4b7fbc38bbc..e269d6313ae 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -53,9 +53,6 @@ buildFun:
 with lib;
 
 let
-  python2WithPackages = python2.withPackages(ps: with ps; [
-    ply jinja2 setuptools
-  ]);
   python3WithPackages = python3.withPackages(ps: with ps; [
     ply jinja2 setuptools
   ]);
@@ -125,7 +122,7 @@ let
 
     nativeBuildInputs = [
       ninja pkg-config
-      python2WithPackages python3WithPackages perl
+      python2 python3WithPackages perl
       gnutar which
       llvmPackages.bintools
     ];
@@ -308,7 +305,7 @@ let
 
       # This is to ensure expansion of $out.
       libExecPath="${libExecPath}"
-      ${python2}/bin/python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
+      ${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
       ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
 
       # Fail if `gn gen` contains a WARNING.
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 6477f4fbe06..4e44e584180 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -18,11 +18,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "4.1.2369.21-1";
+  version = "4.3.2439.44-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "03062mik6paqp219jz420jsg762jjrfxmj1daq129z2zgzq0qr8l";
+    sha256 = "1bsx8axs438f4p019mdq66pmpimf575r31rv6cibpgv85366xhh9";
   };
 
   unpackPhase = ''
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
     echo "Patching Vivaldi binaries"
-    for f in crashpad_handler vivaldi-bin vivaldi-sandbox ; do
+    for f in chrome_crashpad_handler vivaldi-bin vivaldi-sandbox ; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "${libPath}" \
diff --git a/pkgs/applications/networking/cluster/fluxcd/update.sh b/pkgs/applications/networking/cluster/fluxcd/update.sh
index c1ce4b38156..9c211f626aa 100755
--- a/pkgs/applications/networking/cluster/fluxcd/update.sh
+++ b/pkgs/applications/networking/cluster/fluxcd/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "${BASH_SOURCE[0]}")
 
@@ -14,7 +14,7 @@ SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/archi
 SPEC_SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/releases/download/${TAG}/manifests.tar.gz)
 
 setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV version ${VERSION}
@@ -24,8 +24,15 @@ setKV vendorSha256 ""
 
 cd ../../../../../
 set +e
-VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's/ //g')
+VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
 set -e
 
 cd - > /dev/null
-setKV vendorSha256 ${VENDOR_SHA256}
+
+if [ -n "${VENDOR_SHA256:-}" ]; then
+    setKV vendorSha256 ${VENDOR_SHA256}
+else
+    echo "Update failed. VENDOR_SHA256 is empty."
+    exit 1
+fi
+
diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh
index 1795b48f338..7956e807e9e 100755
--- a/pkgs/applications/networking/cluster/k3s/update.sh
+++ b/pkgs/applications/networking/cluster/k3s/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 WORKDIR=$(mktemp -d)
 trap "rm -rf ${WORKDIR}" EXIT
@@ -45,7 +45,7 @@ CNIPLUGINS_SHA256=$(nix-prefetch-url --quiet --unpack \
     "https://github.com/rancher/plugins/archive/refs/tags/v${CNIPLUGINS_VERSION}.tar.gz")
 
 setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV k3sVersion ${K3S_VERSION}
diff --git a/pkgs/applications/networking/cluster/linkerd/update-edge.sh b/pkgs/applications/networking/cluster/linkerd/update-edge.sh
index 0ad960edebd..8bf49452b3e 100755
--- a/pkgs/applications/networking/cluster/linkerd/update-edge.sh
+++ b/pkgs/applications/networking/cluster/linkerd/update-edge.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "$0")
 
@@ -14,7 +14,7 @@ VERSION=$(echo ${TAG} | sed 's/^edge-//')
 SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz)
 
 setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./edge.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./edge.nix
 }
 
 setKV version ${VERSION}
@@ -25,9 +25,9 @@ cd ../../../../../
 set +e
 VENDOR_SHA256=$(nix-build --no-out-link -A linkerd_edge 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
 set -e
+cd - > /dev/null
 
 if [ -n "${VENDOR_SHA256:-}" ]; then
-    cd - > /dev/null
     setKV vendorSha256 ${VENDOR_SHA256}
 else
     echo "Update failed. VENDOR_SHA256 is empty."
diff --git a/pkgs/applications/networking/cluster/linkerd/update-stable.sh b/pkgs/applications/networking/cluster/linkerd/update-stable.sh
index 96280b50716..37314ac1c46 100755
--- a/pkgs/applications/networking/cluster/linkerd/update-stable.sh
+++ b/pkgs/applications/networking/cluster/linkerd/update-stable.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "$0")
 
@@ -14,7 +14,7 @@ VERSION=$(echo ${TAG} | sed 's/^stable-//')
 SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linkerd/linkerd2/archive/refs/tags/${TAG}.tar.gz)
 
 setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix
+  sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV version ${VERSION}
@@ -25,11 +25,11 @@ cd ../../../../../
 set +e
 VENDOR_SHA256=$(nix-build --no-out-link -A linkerd 2>&1 | grep "got:" | cut -d':' -f2 | sed 's| ||g')
 set -e
+cd - > /dev/null
 
 if [ -n "${VENDOR_SHA256:-}" ]; then
-    cd - > /dev/null
-    setKV vendorSha256 ${VENDOR_SHA256}
+  setKV vendorSha256 ${VENDOR_SHA256}
 else
-    echo "Update failed. VENDOR_SHA256 is empty."
-    exit 1
+  echo "Update failed. VENDOR_SHA256 is empty."
+  exit 1
 fi
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index e27cae50a88..15ce26b6db5 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -563,10 +563,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.4.1",
-    "sha256": "0mk0f12yy58gjkki7xpf9bjfw9h9zdgby2b4bddqp5csq11payhd",
+    "rev": "v2.5.0",
+    "sha256": "1hp3bwhlfiwf1a4l6xfldwdxmyjs4nq3n8g343grjya7ibbhh4sg",
     "vendorSha256": null,
-    "version": "2.4.1"
+    "version": "2.5.0"
   },
   "launchdarkly": {
     "owner": "terraform-providers",
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 22ee49b9261..fae4eff734e 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -40,15 +40,43 @@ assert builtins.elem (lib.toLower chatType) [
 
 assert enablePsiMedia -> enablePlugins;
 
-mkDerivation rec {
+mkDerivation {
   pname = "psi-plus";
-  version = "1.5.1549";
+
+  # Version mask is “X.X.XXXX-R” where “X.X.XXXX” is a mandatory version of Psi
+  # and “-R” ending is optional revision number.
+  #
+  # The “psi-plus-snapshots” generally provides snapshots of these separate
+  # repositories glued together (there are also dependencies/libraries):
+  #
+  # 1. Psi
+  # 2. Plugins pack for Psi
+  # 3. “psimedia” plugin
+  # 4. Resources for Psi (icons, skins, sounds)
+  #
+  # “X.X.XXXX” is literally a version of Psi.
+  # So often when for instance plugins are updated separately a new snapshot is
+  # created. And that snapshot would also be linked to “X.X.XXXX” version.
+  # So many commits may have the same associated version of the snapshot.
+  # But mind that only one Git tag is created for “X.X.XXXX” version.
+  #
+  # It’s not yet defined in the Psi+ project what value to use as a version for
+  # any further releases that don’t change Psi version.
+  #
+  # Let’s do what Debian does for instance (appends “-R” where “R” is a revision
+  # number).
+  # E.g. https://tracker.debian.org/news/1226321/psi-plus-14554-5-migrated-to-testing/
+  #
+  # This has been communicated with the Psi+ main devs in this XMPP MUC chat:
+  # psi-dev@conference.jabber.ru
+  #
+  version = "1.5.1556-2";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
-    rev = version;
-    sha256 = "0jpv6qzfg6xjwkrnci7fav27nxm174i9l5g4vmsbchqpwfk90z2m";
+    rev = "635879010b6697f7041a7bbea1853a1f4673c7f7";
+    sha256 = "18xvljcm0a9swkyz4diwxi4xaj0w27jnhfgpi8fv5fj11j0g1b3a";
   };
 
   cmakeFlags = [
@@ -96,7 +124,7 @@ mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://psi-plus.com";
-    description = "XMPP (Jabber) client";
+    description = "XMPP (Jabber) client based on Qt5";
     maintainers = with maintainers; [ orivej misuzu unclechu ];
     license = licenses.gpl2Only;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index c36159bfabd..ea5ca8bebfa 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -4,13 +4,13 @@
 }:
 
 let
-  version = "1.7.1";
+  version = "1.7.3";
 in
 appimageTools.wrapType2 {
   name = "session-desktop-appimage-${version}";
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    sha256 = "126dx37099pjaqgfv5gbmvn5iiwv2a8lvfbqy5i9h1w1gqnihwq6";
+    sha256 = "0s0zvj9ddrngdzsx8hd07pq3150sq8ab1hbpsi9i2ir99sv1p7gn";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 7db77fbc31e..7550e72277f 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.75.0.140";
+  version = "8.77.0.97";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -69,7 +69,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/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 = "sha256-z3xsl53CSJthSd/BMbMD7RdYQ4z9oI/Rb9jUvd82H4E=";
+        sha256 = "sha256-0u1fpKJrsEgbvTwdkqJZ/SwCRDmJwEi9IXHbMmY8MJI=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index 2a91e3ebddc..504481479ed 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -1,25 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, gtk2, lua, perl, python3
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, gtk2, lua, perl, python3Packages
 , pciutils, dbus-glib, libcanberra-gtk2, libproxy
 , enchant2, libnotify, openssl, isocodes
 , desktop-file-utils
-, meson, ninja
+, meson, ninja, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   pname = "hexchat";
-  version = "2.14.3";
+  version = "2.16.0";
 
   src = fetchFromGitHub {
     owner = "hexchat";
     repo = "hexchat";
     rev = "v${version}";
-    sha256 = "08kvp0dcn3bvmlqcfp9312075bwkqkpa8m7zybr88pfp210gfl85";
+    sha256 = "08zhlf9d3xdis62byxzgizhfg8kbppxl7cgxkzhwdc1srpj7vpx6";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
+  nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
 
   buildInputs = [
-    gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
+    gtk2 lua perl python3Packages.python python3Packages.cffi pciutils dbus-glib libcanberra-gtk2 libproxy
     libnotify openssl desktop-file-utils
     isocodes
   ];
@@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
     sed -i "/flag.startswith('-I')/i if flag.contains('no-such-path')\ncontinue\nendif" plugins/perl/meson.build
     chmod +x meson_post_install.py
     for f in meson_post_install.py \
-             src/common/make-te.py \
              plugins/perl/generate_header.py \
-             po/validate-textevent-translations
+             plugins/python/generate_plugin.py \
+             po/validate-textevent-translations \
+             src/common/make-te.py
     do
       patchShebangs $f
     done
@@ -40,6 +41,10 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dwith-lua=lua" "-Dwith-text=true" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/hexchat --prefix PYTHONPATH : "$PYTHONPATH"
+  '';
+
   meta = with lib; {
     description = "A popular and easy to use graphical IRC (chat) client";
     homepage = "https://hexchat.github.io/";
diff --git a/pkgs/applications/networking/opsdroid/default.nix b/pkgs/applications/networking/opsdroid/default.nix
index ddf06a784f1..3560e8066d8 100644
--- a/pkgs/applications/networking/opsdroid/default.nix
+++ b/pkgs/applications/networking/opsdroid/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "opsdroid";
-  version = "0.23.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "opsdroid";
     repo = "opsdroid";
     rev = "v${version}";
-    sha256 = "1p1x7jbp0jx8anfwvavyn3x8i1vfhmbzyzrm014n26v5y39gabj1";
+    sha256 = "15l2jvcpb9l8sgdd9zsvxqglf1r3vap0pp9cklpfa9jj0aik6nx9";
   };
 
   disabled = !python3Packages.isPy3k;
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 88304e56a40..dc3e8b25e70 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
 
   meta = base.meta // {
     description = "A fast incremental file transfer utility";
-    maintainers = with lib.maintainers; [ peti ehmry kampfschlaefer ];
+    maintainers = with lib.maintainers; [ ehmry kampfschlaefer ];
   };
 }
diff --git a/pkgs/applications/office/antiword/default.nix b/pkgs/applications/office/antiword/default.nix
index 67a37b2d511..f0aa3235545 100644
--- a/pkgs/applications/office/antiword/default.nix
+++ b/pkgs/applications/office/antiword/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation {
     description = "Convert MS Word documents to plain text or PostScript";
     license = lib.licenses.gpl2;
 
-    maintainers = [ lib.maintainers.peti ];
     platforms = with lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index d4dad44d7da..5bd8450a0b9 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
 
     homepage = "http://www.gnucash.org/";
 
-    maintainers = [ lib.maintainers.peti lib.maintainers.domenkozar ];
+    maintainers = [ lib.maintainers.domenkozar ];
     platforms = lib.platforms.gnu ++ lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix
deleted file mode 100644
index 1971a782944..00000000000
--- a/pkgs/applications/office/minetime/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ appimageTools, fetchurl, lib, runCommand, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
-
-let
-  name = "${pname}-${version}";
-  pname = "minetime";
-  version = "1.8.10";
-  appimage = fetchurl {
-    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
-    sha256 = "1a80lgk6v9kv9xb2y3i08gk25jm0pqyl57kfr5p1rbc33prhmcgw";
-  };
-  extracted = appimageTools.extractType2 {
-    inherit name;
-    src = appimage;
-  };
-  patched = runCommand "minetime-patchelf" {} ''
-    cp -av ${extracted} $out
-
-    x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
-    chmod +w $x
-
-    patchelf \
-      --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
-      --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
-      $x
-  '';
-in
-appimageTools.wrapAppImage rec {
-  inherit name;
-  src = patched;
-
-  profile = ''
-    export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
-  multiPkgs = null; # no 32bit needed
-  extraPkgs = ps:
-    appimageTools.defaultFhsEnvArgs.multiPkgs ps
-    ++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
-  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
-
-  meta = with lib; {
-    description = "Modern, intuitive and smart calendar application";
-    homepage = "https://minetime.ai";
-    license = licenses.unfree;
-    # Should be cross-platform, but for now we just grab the appimage
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ dtzWill ];
-  };
-}
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index 37f04e0ba5a..6b76c2de4b0 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -31,7 +31,6 @@ stdenv.mkDerivation rec {
     description = "Real-time 3D simulation of space";
     changelog = "https://github.com/CelestiaProject/Celestia/releases/tag/${version}";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 84dc83b254c..f54dcb94e23 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -33,6 +33,6 @@ mkDerivation rec {
     homepage = "http://stellarium.org/";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ peti ma27 ];
+    maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix
index 5a46e8f6384..6a399958553 100644
--- a/pkgs/applications/science/electronics/tkgate/1.x.nix
+++ b/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
     description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor";
     homepage = "http://www.tkgate.org/";
     license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.peti ];
     hydraPlatforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/logic/cadical/default.nix b/pkgs/applications/science/logic/cadical/default.nix
index f0cb1efb305..c6b1f665245 100644
--- a/pkgs/applications/science/logic/cadical/default.nix
+++ b/pkgs/applications/science/logic/cadical/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     install -Dm0755 build/cadical "$out/bin/cadical"
     install -Dm0755 build/mobical "$out/bin/mobical"
     install -Dm0644 src/ccadical.h "$dev/include/ccadical.h"
+    install -Dm0644 src/cadical.hpp "$dev/include/cadical.hpp"
     install -Dm0644 build/libcadical.a "$lib/lib/libcadical.a"
     mkdir -p "$out/share/doc/${pname}/"
     install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}/"
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index e595bf47c67..723b67872c2 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -44,6 +44,7 @@ let
    "8.13.0".sha256     = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
    "8.13.1".sha256     = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
    "8.13.2".sha256     = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
+   "8.14+rc1".sha256   = "0jrkgj7c2959dsinw4x7q4ril1x24qq08snl25hgx33ls4sym5zb";
   };
   releaseRev = v: "V${v}";
   fetched = import ../../../../build-support/coq/meta-fetch/default.nix
@@ -163,7 +164,7 @@ self = stdenv.mkDerivation {
 
   prefixKey = "-prefix ";
 
-  buildFlags = [ "revision" "coq" "coqide" "bin/votour" ];
+  buildFlags = [ "revision" "coq" "coqide" ] ++ optional (!versionAtLeast "8.14") "bin/votour";
   enableParallelBuilding = true;
 
   createFindlibDestdir = true;
@@ -177,9 +178,11 @@ self = stdenv.mkDerivation {
     categories = "Development;Science;Math;IDE;GTK";
   });
 
-  postInstall = ''
+  postInstall = let suffix = if versionAtLeast "8.14" then "-core" else ""; in ''
     cp bin/votour $out/bin/
-    ln -s $out/lib/coq $OCAMLFIND_DESTDIR/coq
+    ln -s $out/lib/coq${suffix} $OCAMLFIND_DESTDIR/coq${suffix}
+  '' + optionalString (versionAtLeast "8.14") ''
+    ln -s $out/lib/coqide-server $OCAMLFIND_DESTDIR/coqide-server
   '' + optionalString buildIde ''
     mkdir -p "$out/share/pixmaps"
     ln -s "$out/share/coq/coq.png" "$out/share/pixmaps/"
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
index fc2c1e5cba4..cbc85c5544c 100644
--- a/pkgs/applications/science/logic/leo2/default.nix
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -1,20 +1,31 @@
-{ lib, stdenv, fetchurl, makeWrapper, eprover, ocaml, perl, zlib }:
+{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, eprover, ocaml, camlp4, perl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "leo2";
-  version = "1.6.2";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://page.mi.fu-berlin.de/cbenzmueller/leo/leo2_v${version}.tgz";
-    sha256 = "1wjpmizb181iygnd18lx7p77fwaci2clgzs5ix5j51cc8f3pazmv";
+    sha256 = "sha256:1b2q7vsz6s9ighypsigqjm1mzjiq3xgnz5id5ssb4rh9zm190r82";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ eprover ocaml perl zlib ];
-
-  sourceRoot = "leo2/src";
-
-  preConfigure = "patchShebangs configure";
+  buildInputs = [ eprover ocaml camlp4 perl zlib ];
+
+  patches = [ (fetchpatch {
+      url = "https://github.com/niklasso/minisat/commit/7eb6015313561a2586032574788fcb133eeaa19f.patch";
+      stripLen = 1;
+      extraPrefix = "lib/";
+      sha256 = "sha256:01ln7hi6nvvkqkhn9hciqizizz5qspvqffgksvgmzn9x7kdd9pnh";
+    })
+  ];
+
+  preConfigure = ''
+    cd src
+    patchShebangs configure
+    substituteInPlace Makefile.pre \
+      --replace '+camlp4' "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4"
+  '';
 
   buildFlags = [ "opt" ];
 
diff --git a/pkgs/applications/science/logic/z3/4.4.0.nix b/pkgs/applications/science/logic/z3/4.4.0.nix
index 9b7dabeb720..2fbaa0a28ca 100644
--- a/pkgs/applications/science/logic/z3/4.4.0.nix
+++ b/pkgs/applications/science/logic/z3/4.4.0.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   # z3's install phase is stupid because it tries to calculate the
   # python package store location itself, meaning it'll attempt to
   # write files into the nix store, and fail.
-  soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
+  soext = stdenv.hostPlatform.extensions.sharedLibrary;
   installPhase = ''
     mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
     cp ../src/api/z3*.h       $out/include
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 263130c281b..c26964bb314 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -119,6 +119,6 @@ stdenv.mkDerivation rec {
 
     platforms = platforms.all;
 
-    maintainers = with maintainers; [ peti ] ++ teams.sage.members;
+    maintainers = with maintainers; teams.sage.members;
   };
 }
diff --git a/pkgs/applications/science/math/eukleides/default.nix b/pkgs/applications/science/math/eukleides/default.nix
index 6b6bfd7d6e5..0c3ef25909b 100644
--- a/pkgs/applications/science/math/eukleides/default.nix
+++ b/pkgs/applications/science/math/eukleides/default.nix
@@ -63,6 +63,5 @@ lib.fix (eukleides: stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 })
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 2b82a8f8170..3f295b416fb 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -113,6 +113,5 @@ stdenv.mkDerivation ({
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 })
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 2205e96383a..57e4a6f1d33 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -26,6 +26,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = "https://wxmaxima-developers.github.io/wxmaxima/";
     platforms = platforms.linux;
-    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/pkgs/applications/terminal-emulators/ctx/default.nix b/pkgs/applications/terminal-emulators/ctx/default.nix
new file mode 100644
index 00000000000..78c673d035a
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/ctx/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchgit
+, SDL2
+, alsa-lib
+, babl
+, curl
+, libdrm # Not documented
+, pkg-config
+, enableFb ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ctx";
+  version = "0.pre+date=2021-10-09";
+
+  src = fetchgit {
+    name = "ctx-source"; # because of a dash starting the directory
+    url = "https://ctx.graphics/.git/";
+    rev = "d11d0d1a719a3c77712528e2feed8c0878e0ea64";
+    sha256 = "sha256-Az3POgdvDOVaaRtzLlISDODhAKbefpGx5KgwO3dttqs=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    alsa-lib
+    babl
+    curl
+    libdrm
+  ];
+
+  configureScript = "./configure.sh";
+  configureFlags = lib.optional enableFb "--enable-fb";
+  dontAddPrefix = true;
+
+  hardeningDisable = [ "format" ];
+
+  installFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://ctx.graphics/";
+    description = "Vector graphics terminal";
+    longDescription= ''
+      ctx is an interactive 2D vector graphics, audio, text- canvas and
+      terminal, with escape sequences that enable a 2D vector drawing API using
+      a vector graphics protocol.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index ceb2c36d961..9fa8e6e6253 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-TjBUVP9/hMB8yFnupSxwHDr5bmtiMFwsDi1axsD5ykA=";
+    sha256 = "sha256-70FmFN76azRqnAZ9SLgr/V8moqkWoBbDB6IdSXM7Vmg=";
   };
 
-  vendorSha256 = "sha256-ZsMzLJ+eHAKNxhVFpQxRyTv/rcWvxA/luKPjXT+Zt4Y=";
+  vendorSha256 = "sha256-004TspNwjCWnrD86HEf5wGpt8OCP5qIrTwlGWSRNUmg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index fb5113dad08..97b96f7461f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.3.0";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sx45y1d1v6y66msjc1lw9jhjppgbxqj145kivmd7lr6ccw68kav";
+    sha256 = "sha256-drfMD9tQe1dc61MH3Cxu9oin137f4FsZJY3X2kDHdh4=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -33,16 +33,15 @@ buildPythonApplication rec {
     installShellCompletion --zsh --name _git-machete completion/git-machete.completion.zsh
   '';
 
+  postInstallCheck = ''
+    git init
+    test "$($out/bin/git-machete version)" = "git-machete version ${version}"
+  '';
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = pname;
     };
-
-    tests = {
-      version = testVersion {
-        package = git-machete;
-      };
-    };
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 42303e0ea5f..bd6f347792a 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -367,6 +367,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ primeos peti wmertens globin ];
+    maintainers = with lib.maintainers; [ primeos wmertens globin ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
index 0fd180c441a..6aa639be86c 100644
--- a/pkgs/applications/version-management/git-and-tools/thicket/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -1,12 +1,9 @@
 { lib
 , fetchFromGitHub
-, crystal_1_0
+, crystal
 }:
 
-let
-  crystal = crystal_1_0;
-
-in crystal.buildCrystalPackage rec {
+crystal.buildCrystalPackage rec {
   pname = "thicket";
   version = "0.1.5";
 
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 1fbb099e013..748e34c33ae 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "7.7.2";
+  version = "8.0.1";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "sha256-jL0XLw0V0ED+lDBn3sGaJmm96zQwXue333UuYGHjB64=";
+    sha256 = "1n88m41424qwsfp2hy58piqpv2dk6i74hcj184aq6njllvnsznnq";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 6578d5e2a0f..ff1689f28f8 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "14.3.2",
-  "repo_hash": "1vsppz5akx5l54riacqbzkgdy47j9r71550mg2ay5ihy6iqxa2xr",
+  "version": "14.3.3",
+  "repo_hash": "1sh8lf6arqljzc0hmajl2r2j38ahk9hl6kikg9inw72xycrll7dk",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.3.2-ee",
+  "rev": "v14.3.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.3.2",
+    "GITALY_SERVER_VERSION": "14.3.3",
     "GITLAB_PAGES_VERSION": "1.44.0",
     "GITLAB_SHELL_VERSION": "13.21.1",
-    "GITLAB_WORKHORSE_VERSION": "14.3.2"
+    "GITLAB_WORKHORSE_VERSION": "14.3.3"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 26d8cb1732f..88c92df71e3 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -80,11 +80,6 @@ let
       # Fixup "resolved"-entries in yarn.lock to match our offline cache
       ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
 
-      # fixup_yarn_lock currently doesn't correctly fix the dagre-d3
-      # url, so we have to do it manually
-      ${replace}/bin/replace-literal -f -e '"https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b"' \
-                                           '"https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b"' yarn.lock
-
       yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
 
       patchShebangs node_modules/
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index b8d8c4dfb89..26deabcc230 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -20,7 +20,7 @@ let
         };
       };
   };
-  version = "14.3.2";
+  version = "14.3.3";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -32,7 +32,7 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-00Sgv1b3dwbN7ic//7NtrdiliunOnXRJ0GTQHYFjuqo=";
+    sha256 = "sha256-WC361E+p3i02n2YCOwUzRxCWFt5UMEfJi6tHZPj1dgo=";
   };
 
   vendorSha256 = "sha256-9RhPQosen70E9t1iAoc2SeKs9pYMMpMqgXLekWfKNf8=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 84b0b2580e6..3e3bc25162b 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.3.2";
+  version = "14.3.3";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index dd2970c3ed2..51ccc8a03cc 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -1650,4 +1650,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.2.24
+   2.2.20
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
index e90405c9a8b..00ac026e869 100644
--- a/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -77,7 +77,7 @@ GEM
       nokogiri (>= 1.5.9)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
-    marcel (1.0.1)
+    marcel (1.0.2)
     method_source (1.0.0)
     mini_magick (4.11.0)
     mini_mime (1.0.3)
@@ -90,12 +90,12 @@ GEM
     nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
-    parallel (1.20.1)
+    parallel (1.21.0)
     parser (3.0.2.0)
       ast (~> 2.4.1)
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.4.0)
+    puma (5.5.2)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -120,7 +120,7 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.3.0)
+    rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
     railties (5.2.6)
       actionpack (= 5.2.6)
@@ -146,11 +146,11 @@ GEM
       railties (>= 5.1, < 6.2)
       roadie (>= 3.1, < 5.0)
     rotp (6.2.0)
-    rouge (3.26.0)
-    rqrcode (2.0.0)
+    rouge (3.26.1)
+    rqrcode (2.1.0)
       chunky_png (~> 1.0)
       rqrcode_core (~> 1.0)
-    rqrcode_core (1.1.0)
+    rqrcode_core (1.2.0)
     rubocop (1.12.1)
       parallel (~> 1.10)
       parser (>= 3.0.0.0)
@@ -160,7 +160,7 @@ GEM
       rubocop-ast (>= 1.2.0, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 3.0)
-    rubocop-ast (1.10.0)
+    rubocop-ast (1.12.0)
       parser (>= 3.0.1.1)
     rubocop-performance (1.10.2)
       rubocop (>= 0.90.0, < 2.0)
@@ -190,8 +190,8 @@ GEM
     thread_safe (0.3.6)
     tzinfo (1.2.9)
       thread_safe (~> 0.1)
-    unicode-display_width (2.0.0)
-    webdrivers (4.6.0)
+    unicode-display_width (2.1.0)
+    webdrivers (4.6.1)
       nokogiri (~> 1.6)
       rubyzip (>= 1.3.0)
       selenium-webdriver (>= 3.0, < 4.0)
@@ -245,7 +245,7 @@ DEPENDENCIES
   yard
 
 RUBY VERSION
-   ruby 2.7.3p183
+   ruby 2.7.4p191
 
 BUNDLED WITH
    2.1.4
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
index eb6218826bf..5a964f51e36 100644
--- a/pkgs/applications/version-management/redmine/default.nix
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
 
 let
-  version = "4.2.2";
+  version = "4.2.3";
   rubyEnv = bundlerEnv {
     name = "redmine-env-${version}";
 
@@ -16,7 +16,7 @@ in
 
     src = fetchurl {
       url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "1xlqf7g5imjmc3as2aajvbrs217jh3qpdvvpsd9mka9rk4kykyz6";
+      sha256 = "033slhr5kmz5b29v7n52336i0r7y4m9si748b22r85s2jpf37xkj";
     };
 
     nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix
index 376084e80dc..dbbef0f218a 100644
--- a/pkgs/applications/version-management/redmine/gemset.nix
+++ b/pkgs/applications/version-management/redmine/gemset.nix
@@ -301,10 +301,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
+      sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   method_source = {
     groups = ["default"];
@@ -420,10 +420,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
+      sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4";
       type = "gem";
     };
-    version = "1.20.1";
+    version = "1.21.0";
   };
   parser = {
     dependencies = ["ast"];
@@ -470,10 +470,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bz9y1hxfyv73yb26nvs2kcw08gxi7nxkfc94j82hgx2sifcnv3x";
+      sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn";
       type = "gem";
     };
-    version = "5.4.0";
+    version = "5.5.2";
   };
   racc = {
     groups = ["default" "test"];
@@ -545,10 +545,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.2";
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@@ -680,10 +680,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
+      sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
       type = "gem";
     };
-    version = "3.26.0";
+    version = "3.26.1";
   };
   rqrcode = {
     dependencies = ["chunky_png" "rqrcode_core"];
@@ -691,20 +691,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "073w0qgjydkqpsqsb9yr8qg0mhvwlzx6z53hqr2b5zifvb9wzh02";
+      sha256 = "0444sgvx3ahvgr3c9swpy32kcdpciwgcqahp3pb4m7d23xp1qjdc";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   rqrcode_core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d632w2pd34bw9l3bsfnyqaa8vgbz9pxpj29gpf8parqr7wq922k";
+      sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   rubocop = {
     dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -723,10 +723,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x6za0j9wwxr14rkkkmpbnwj04lak4yjmkyrdl8c31m9acba80zw";
+      sha256 = "0x0xfq2mpg194rcanbjrgvjbh94s9kq72jynxx61789s628kxy59";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.12.0";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -870,10 +870,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bilbnc8j6jkb59lrf177i3p1pdyxll0n8400hzqr35vl3r3kv2m";
+      sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   webdrivers = {
     dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
@@ -881,10 +881,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hi6pgkfwgz1bzfclyrr449xy9y2f2bcrnnnlb5ghvvrqkgn0dry";
+      sha256 = "1naymcfmm9pkf0f67xd99d9f6dpv477ggyvc1c04gxifirynfydp";
       type = "gem";
     };
-    version = "4.6.0";
+    version = "4.6.1";
   };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
diff --git a/pkgs/applications/version-management/verco/default.nix b/pkgs/applications/version-management/verco/default.nix
index 538544c5b22..715ae0978cc 100644
--- a/pkgs/applications/version-management/verco/default.nix
+++ b/pkgs/applications/version-management/verco/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "verco";
-  version = "6.5.5";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = "vamolessa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n+GGiu/xGGGC6FQPoASok87bCG0MFVIf6l6nt1lvw8A=";
+    sha256 = "sha256-H8rDaRVU3G3iuBv0Tz/YOuYbL2k8wEoEIIEG7hjU6eM=";
   };
 
-  cargoSha256 = "sha256-lNtR4N+bFFCr3Ct99DJCbtDeKxTzT7ZjvAWixbQm3jg=";
+  cargoSha256 = "sha256-4Ou/stedL3WCY4Awsl++lc5fZ9gxd4uorf4G2/0DiPc=";
 
   meta = with lib; {
     description = "A simple Git/Mercurial/PlasticSCM tui client based on keyboard shortcuts";
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
index 1e2abb45a5b..76d4ec85a01 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Network A/V plugin for OBS Studio";
     homepage = "https://github.com/Palakis/obs-ndi";
-    maintainers = with maintainers; [ peti jshcmpbll ];
+    maintainers = with maintainers; [ jshcmpbll ];
     license = licenses.gpl2;
     platforms = with platforms; linux;
   };
diff --git a/pkgs/build-support/fetchnextcloudapp/default.nix b/pkgs/build-support/fetchnextcloudapp/default.nix
new file mode 100644
index 00000000000..7fe5b35e259
--- /dev/null
+++ b/pkgs/build-support/fetchnextcloudapp/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, gnutar, findutils, fetchurl, ... }:
+{ name
+, url
+, version
+, sha256
+, patches ? [ ]
+}:
+stdenv.mkDerivation {
+  name = "nc-app-${name}";
+  inherit version patches;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  nativeBuildInputs = [
+    gnutar
+    findutils
+  ];
+
+  unpackPhase = ''
+    tar -xzpf $src
+  '';
+
+  installPhase = ''
+    approot="$(dirname $(dirname $(find -path '*/appinfo/info.xml' | head -n 1)))"
+
+    if [ -d "$approot" ];
+    then
+      mv "$approot/" $out
+      chmod -R a-w $out
+    else
+      echo "Could not find appinfo/info.xml"
+      exit 1;
+    fi
+  '';
+}
diff --git a/pkgs/data/fonts/gdouros/default.nix b/pkgs/data/fonts/gdouros/default.nix
index eb6635ec3a3..a707d6f25a4 100644
--- a/pkgs/data/fonts/gdouros/default.nix
+++ b/pkgs/data/fonts/gdouros/default.nix
@@ -2,36 +2,36 @@
 
 let
   fonts = {
-    aegan     = { version = "10.00"; file = "Aegean.zip";       sha256 = "0k47nhzw4vx771ch3xx8mf6xx5vx0hg0cif5jdlmdaz4h2c3rawz"; description = "Aegean"; };
-    aegyptus  = { version =  "8.00"; file = "Aegyptus.zip";     sha256 = "13h2pi641k9vxgqi9l11mjya10ym9ln54wrkwxx6gxq63zy7y5mj"; description = "Egyptian Hieroglyphs, Coptic, Meroitic"; };
-    akkadian  = { version =  "7.18"; file = "Akkadian.zip";     sha256 = "1bplcvszbdrk85kqipn9lzhr62647wjibz1p8crzjvsw6f9ymxy3"; description = "Sumero-Akkadian Cuneiform"; };
-    assyrian  = { version =  "2.00"; file = "AssyrianFont.zip"; sha256 = "0vdvb24vsnmwzd6bw14akqg0hbvsk8avgnbwk9fkybn1f801475k"; description = "Neo-Assyrian in Unicode with OpenType"; };
-    eemusic   = { version =  "2.00"; file = "EEMusic.zip";      sha256 = "1y9jf105a2b689m7hdjmhhr7z5j0qd2w6dmb3iic9bwaczlrjy7j"; description = "Byzantine Musical Notation in Unicode with OpenType"; };
-    maya      = { version =  "4.18"; file = "Maya.zip";         sha256 = "08z2ch0z2c43fjfg5m4yp3l1dp0cbk7lv5i7wzsr3cr9kr59wpi9"; description = "Maya Hieroglyphs"; };
-    symbola   = { version = "12.00"; file = "Symbola.zip";      sha256 = "1i3xra33xkj32vxs55xs2afrqyc822nk25669x78px5g5qd8gypm"; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; };
-    textfonts = { version =  "9.00"; file = "Textfonts.zip";    sha256 = "0wzxz4j4fgk81b88d58715n1wvq2mqmpjpk4g5hi3vk77y2zxc4d"; description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; };
-    unidings  = { version =  "9.19"; file = "Unidings.zip";     sha256 = "1bybzgdqhmq75hb12n3pjrsdcpw1a6sgryx464s68jlq4zi44g78"; description = "Glyphs and Icons for blocks of The Unicode Standard"; };
+    aegan     = { version = "13.00"; file = "Aegean.zip";       sha256 = "1w4ks341jw12p6zi1fy1hb3kqiqv61yn8i2hr9ybng9n8xdw03li"; description = "Aegean"; };
+    aegyptus  = { version = "13.00"; file = "Aegyptus.zip";     sha256 = "16j8rj3mr2cddag7laxvzpm5w3yk467fwzsk60nq8pnh6ab1v05y"; description = "Egyptian Hieroglyphs, Coptic, Meroitic"; };
+    akkadian  = { version = "13.00"; file = "Akkadian.zip";     sha256 = "1f2v9cjk307c5lw0si9hwjcll5wb9nwwy5im0y16kvpgwh2ccshc"; description = "Sumero-Akkadian Cuneiform"; };
+    assyrian  = { version = "13.00"; file = "Assyrian.zip";     sha256 = "18nx6ayfk3ba6wg1rp37r9fll5ajrwq2mp5w2l3y1q1kk92frkid"; description = "Neo-Assyrian in Unicode with OpenType"; };
+    eemusic   = { version = "13.00"; file = "EEMusic.zip";      sha256 = "1kk5rd3wd7y13z9bqcg1k9idbwad4l3hfmi3lbfk4y1w895vgxk2"; description = "Byzantine Musical Notation in Unicode with OpenType"; };
+    maya      = { version = "13.00"; file = "Maya%20Hieroglyphs.zip"; sha256 = "0fzzrlkd4m2dj2phg97nz782w0afmw0f0ykdvlwyp29j1ak7yyp1"; description = "Maya Hieroglyphs"; };
+    symbola   = { version = "13.00"; file = "Symbola.zip";      sha256 = "04pxh5agvlkyg8mvv2szwshnmzi3n0m7va4xsyq401zbsa147rmi"; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; };
+    textfonts = { version = "13.00"; file = "Textfonts.zip";    sha256 = "1xp8qlfpvcf5n96zgm07zij3ndlzvqjlii8gx9sbj5aa56rxkdgb"; description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; };
+    unidings  = { version = "13.00"; file = "Unidings.zip";     sha256 = "0cvnxblk9wsr8mxm5lrdpdm456vi7lln7qh53b67npg4baf0as63"; description = "Glyphs and Icons for blocks of The Unicode Standard"; };
   };
 
   mkpkg = name_: {version, file, sha256, description}: fetchzip rec {
     name = "${name_}-${version}";
-    url = "http://users.teilar.gr/~g1951d/${file}";
+    url = "https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/${file}";
     postFetch = ''
       mkdir -p $out/share/{fonts,doc}
-      unzip -j $downloadedFile \*.ttf                 -d $out/share/fonts/truetype
-      unzip -j $downloadedFile \*.docx \*.pdf \*.xlsx -d "$out/share/doc/${name}" || true  # unpack docs if any
+      unzip -j $downloadedFile \*.otf                -d $out/share/fonts/opentype
+      unzip -j $downloadedFile \*.odt \*.pdf \*.xlsx -d "$out/share/doc/${name}"  || true  # unpack docs if any
       rmdir "$out/share/doc/${name}" $out/share/doc                               || true  # remove dirs if empty
     '';
     inherit sha256;
 
     meta = {
       inherit description;
-      # see http://users.teilar.gr/~g1951d/License.pdf
+      # see https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/License.pdf
       # quite draconian: non-commercial, no modifications,
       # no redistribution, "a single instantiation and no
       # network installation"
       license = lib.licenses.unfree;
-      homepage = "http://users.teilar.gr/~g1951d/";
+      homepage = "https://dn-works.com/ufas/";
     };
   };
 in
diff --git a/pkgs/data/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix
index 3e72d8a74b8..f1424b15ad1 100644
--- a/pkgs/data/themes/adwaita-qt/default.nix
+++ b/pkgs/data/themes/adwaita-qt/default.nix
@@ -14,6 +14,8 @@ mkDerivation rec {
   pname = "adwaita-qt";
   version = "1.4.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = pname;
diff --git a/pkgs/desktops/gnome/apps/gnome-music/default.nix b/pkgs/desktops/gnome/apps/gnome-music/default.nix
index ef0931e273c..96ec321fa4a 100644
--- a/pkgs/desktops/gnome/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-music/default.nix
@@ -79,13 +79,12 @@ python3.pkgs.buildPythonApplication rec {
     gst-plugins-ugly
   ]);
 
-  propagatedBuildInputs = with python3.pkgs; [
+  pythonPath = with python3.pkgs; [
     pycairo
     dbus-python
     pygobject3
   ];
 
-
   postPatch = ''
     for f in meson_post_conf.py meson_post_install.py; do
       chmod +x $f
@@ -93,6 +92,13 @@ python3.pkgs.buildPythonApplication rec {
     done
   '';
 
+  # Prevent double wrapping, let the Python wrapper use the args in preFixup.
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   doCheck = false;
 
   # handle setup hooks better
diff --git a/pkgs/desktops/gnome/core/gnome-user-share/default.nix b/pkgs/desktops/gnome/core/gnome-user-share/default.nix
index 211326cfcdb..bab13a6ccd1 100644
--- a/pkgs/desktops/gnome/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-user-share/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Dhttpd=${apacheHttpd.out}/bin/httpd"
-    "-Dmodules_path=${apacheHttpd.dev}/modules"
+    "-Dmodules_path=${apacheHttpd}/modules"
     "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user"
     # In 3.34.0 it defaults to false but it is silently ignored and always installed.
     # Let’s add it anyway in case they decide to make build respect the option in the future.
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index a65eb44eed0..2a964964a09 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
   pname = "nautilus";
   version = "41.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
     sha256 = "+blBrcEEcAxn6kB2YiMV8fa3fc7BVMN/PUwLKDlQoeU=";
diff --git a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
index c220e7eeccd..6a9f4f19385 100644
--- a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
@@ -56,7 +56,7 @@ python3Packages.buildPythonApplication rec {
     libsoup
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  pythonPath = with python3Packages; [
     pygobject3
   ];
 
diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix
index 3e0062c7a79..264389a6883 100644
--- a/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/pkgs/desktops/mate/mate-user-share/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-httpd=${apacheHttpd.out}/bin/httpd"
-    "--with-modules-path=${apacheHttpd.dev}/modules"
+    "--with-modules-path=${apacheHttpd}/modules"
     "--with-cajadir=$(out)/lib/caja/extensions-2.0"
   ];
 
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 11bf1cc9636..29e826c88d6 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -219,28 +219,34 @@ let
 
 in
 rec {
-  binaryCrystal_0_36 = genericBinary {
-    version = "0.36.1";
+  binaryCrystal_1_0 = genericBinary {
+    version = "1.0.0";
     sha256s = {
-      x86_64-linux = "065vzq34g7hgzl2mrzy9gwwsfikc78nj7xxsbrk67r6rz0a7bk1q";
-      i686-linux = "18m4b1lnd682i5ygbg6cljqjny60nn2mlrzrk765h2ip6fljqbm1";
-      x86_64-darwin = "0xggayk92zh64pb5sz77n12hkcd1hg8kw90z7gb18594q551sf1v";
+      x86_64-linux = "1949argajiyqyq09824yj3wjyv88gd8wbf20xh895saqfykiq880";
+      i686-linux = "0w0f4fwr2ijhx59i7ppicbh05hfmq7vffmgl7lal6im945m29vch";
+      x86_64-darwin = "01n0rf8zh551vv8wq3h0ifnsai0fz9a77yq87xx81y9dscl9h099";
     };
   };
 
-  crystal_0_36 = generic {
-    version = "0.36.1";
-    sha256 = "sha256-5rjrvwZKM4lHpmxLyUVbi0Zw98xT+iJKonxwfUwS/Wk=";
-    binary = binaryCrystal_0_36;
-  };
-
   crystal_1_0 = generic {
     version = "1.0.0";
     sha256 = "sha256-RI+a3w6Rr+uc5jRf7xw0tOenR+q6qii/ewWfID6dbQ8=";
-    binary = crystal_0_36;
+    binary = binaryCrystal_1_0;
+  };
+
+  crystal_1_1 = generic {
+    version = "1.1.1";
+    sha256 = "sha256-hhhT3reia8acZiPsflwfuD638Ll2JiXwMfES1TyGyNQ=";
+    binary = crystal_1_0;
+  };
+
+  crystal_1_2 = generic {
+    version = "1.2.0";
+    sha256 = "sha256-38mmsolzmCnv+MFUMc+AEiklDLBHIr/jqXMLzc0nVq4=";
+    binary = crystal_1_1;
   };
 
-  crystal = crystal_1_0;
+  crystal = crystal_1_2;
 
   crystal2nix = callPackage ./crystal2nix.nix { };
 }
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index e1c441e7afe..c192c603c88 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -314,7 +314,7 @@ stdenv.mkDerivation ({
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = with lib.maintainers; [ peti veprbl ];
+    maintainers = with lib.maintainers; [ veprbl ];
 
     platforms = lib.platforms.unix;
     badPlatforms = [ "x86_64-darwin" ];
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 3b92ecddc08..70278c237d4 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -330,7 +330,7 @@ stdenv.mkDerivation ({
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = with lib.maintainers; [ peti veprbl ];
+    maintainers = with lib.maintainers; [ veprbl ];
 
     platforms = lib.platforms.unix;
     badPlatforms = [ "x86_64-darwin" ];
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index e0ef8e31789..1809d7ae42e 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -344,8 +344,6 @@ stdenv.mkDerivation ({
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = with lib.maintainers; [ peti ];
-
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix
index 16a7552dd4e..6868ca9f8d8 100644
--- a/pkgs/development/compilers/gprolog/default.nix
+++ b/pkgs/development/compilers/gprolog/default.nix
@@ -63,7 +63,6 @@ stdenv.mkDerivation rec {
       declarativity of logic programming.
     '';
 
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/mint/default.nix b/pkgs/development/compilers/mint/default.nix
index adb7490785e..a226c7edba4 100644
--- a/pkgs/development/compilers/mint/default.nix
+++ b/pkgs/development/compilers/mint/default.nix
@@ -1,9 +1,5 @@
-{ lib, fetchFromGitHub, crystal_1_0, openssl }:
+{ lib, fetchFromGitHub, crystal, openssl }:
 
-let
-  crystal = crystal_1_0;
-
-in
 crystal.buildCrystalPackage rec {
   version = "0.14.0";
   pname = "mint";
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index da10125c243..4428d4dbba6 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -20,7 +20,6 @@ stdenv.mkDerivation rec {
     description = "A ISO-compatible high-performance Prolog compiler";
     license = lib.licenses.artistic2;
 
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.linux;
     broken = !stdenv.is64bit;   # the linux 32 bit build fails.
   };
diff --git a/pkgs/development/compilers/zz/default.nix b/pkgs/development/compilers/zz/default.nix
index a0bf9a9ad8f..156a4c17bc2 100644
--- a/pkgs/development/compilers/zz/default.nix
+++ b/pkgs/development/compilers/zz/default.nix
@@ -1,20 +1,27 @@
-{ lib, rustPlatform, fetchFromGitHub, makeWrapper, z3 }:
+{ lib, rustPlatform, fetchFromGitHub, makeWrapper, z3, pkgsHostTarget }:
+
+let
+  runtimeDeps = [
+    z3
+    pkgsHostTarget.targetPackages.stdenv.cc
+  ];
+in
 
 rustPlatform.buildRustPackage rec {
   pname = "zz";
-  version = "unstable-2021-03-07";
+  version = "unstable-2021-05-04";
 
   # when updating, choose commit of the latest build on http://bin.zetz.it/
   src = fetchFromGitHub {
     owner = "zetzit";
     repo = "zz";
-    rev = "d3fc968ba2ae6668f930e39077f9a90aecb9fdc4";
-    sha256 = "18p17lgwq6rq1n76sj0dwb32bpxflfd7knky1v0sgmaxfpaq04y3";
+    rev = "18020b10b933cfe2fc7f2256b71e646889f9b1d2";
+    sha256 = "01nlyyk1qxk76dq2hw3wpbjwkh27zzp6mpczjnxdpv6rxs7mc825";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  cargoSha256 = "03xdmm4993hqdb3cihjjv4n4mdk8lnlccva08fh6m1d56p807rni";
+  cargoSha256 = "080rd8x4jsssnx4il80xcb81iw8pjcm70zckpa1hcijkw9104dgs";
 
   postPatch = ''
     # remove search path entry which would reference /build
@@ -26,7 +33,7 @@ rustPlatform.buildRustPackage rec {
     cp -r modules "$out/share/zz/"
 
     wrapProgram $out/bin/zz \
-      --prefix PATH ":" "${lib.getBin z3}/bin" \
+      --prefix PATH ":" "${lib.makeBinPath runtimeDeps}" \
       --suffix ZZ_MODULE_PATHS ":" "$out/share/zz/modules"
   '';
 
diff --git a/pkgs/development/coq-modules/aac-tactics/default.nix b/pkgs/development/coq-modules/aac-tactics/default.nix
index 445a0422446..c67b47f1877 100644
--- a/pkgs/development/coq-modules/aac-tactics/default.nix
+++ b/pkgs/development/coq-modules/aac-tactics/default.nix
@@ -6,6 +6,7 @@ mkCoqDerivation {
 
   releaseRev = v: "v${v}";
 
+  release."8.14.0".sha256 = "04x47ngb95m1h4jw2gl0v79s5im7qimcw7pafc34gkkf51pyhakp";
   release."8.13.0".sha256 = "sha256-MAnMc4KzC551JInrRcfKED4nz04FO0GyyyuDVRmnYTY=";
   release."8.12.0".sha256 = "sha256-dPNA19kZo/2t3rbyX/R5yfGcaEfMhbm9bo71Uo4ZwoM=";
   release."8.11.0".sha256 = "sha256-CKKMiJLltIb38u+ZKwfQh/NlxYawkafp+okY34cGCYU=";
@@ -17,6 +18,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = "8.14"; out = "8.14.0"; }
     { case = "8.13"; out = "8.13.0"; }
     { case = "8.12"; out = "8.12.0"; }
     { case = "8.11"; out = "8.11.0"; }
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
index 84dc92a3cd5..cb83a9fdc33 100644
--- a/pkgs/development/coq-modules/bignums/default.nix
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -8,6 +8,7 @@ with lib; mkCoqDerivation {
   defaultVersion = if versions.isGe "8.5" coq.coq-version
     then "${coq.coq-version}.0" else null;
 
+  release."8.14.0".sha256 = "0jsgdvj0ddhkls32krprp34r64y1rb5mwxl34fgaxk2k4664yq06";
   release."8.13.0".sha256 = "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y";
   release."8.12.0".sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8";
   release."8.11.0".sha256 = "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp";
diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix
index d19d3826c74..e6d5e11fcc5 100644
--- a/pkgs/development/coq-modules/equations/default.nix
+++ b/pkgs/development/coq-modules/equations/default.nix
@@ -6,6 +6,7 @@ with lib; mkCoqDerivation {
   repo = "Coq-Equations";
   inherit version;
   defaultVersion = switch coq.coq-version [
+    { case = "8.14"; out = "1.3-8.14"; }
     { case = "8.13"; out = "1.2.4+coq8.13"; }
     { case = "8.12"; out = "1.2.4+coq8.12"; }
     { case = "8.11"; out = "1.2.4+coq8.11"; }
@@ -43,6 +44,8 @@ with lib; mkCoqDerivation {
     release."1.2.4+coq8.12".sha256    = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3";
     release."1.2.4+coq8.13".rev       = "v1.2.4-8.13";
     release."1.2.4+coq8.13".sha256    = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q";
+    release."1.3-8.14".rev            = "v1.3-8.14";
+    release."1.3-8.14".sha256         = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv";
 
   mlPlugin = true;
   preBuild = "coq_makefile -f _CoqProject -o Makefile";
diff --git a/pkgs/development/coq-modules/fourcolor/default.nix b/pkgs/development/coq-modules/fourcolor/default.nix
index 4de6e2da8b5..84cd739ed6a 100644
--- a/pkgs/development/coq-modules/fourcolor/default.nix
+++ b/pkgs/development/coq-modules/fourcolor/default.nix
@@ -9,8 +9,8 @@ mkCoqDerivation {
   release."1.2.3".sha256 = "sha256-gwKfUa74fIP7j+2eQgnLD7AswjCtOFGHGaIWb4qI0n4=";
 
   inherit version;
-  defaultVersion = with versions; switch mathcomp.version [
-    { case = pred.inter (isGe "1.11.0") (isLt "1.13"); out = "1.2.3"; }
+  defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
+    { cases = [ (isLe "8.13") (pred.inter (isGe "1.11.0") (isLt "1.13")) ]; out = "1.2.3"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp.algebra ];
diff --git a/pkgs/development/coq-modules/goedel/default.nix b/pkgs/development/coq-modules/goedel/default.nix
index f6ed9491e98..965ae1b6ec4 100644
--- a/pkgs/development/coq-modules/goedel/default.nix
+++ b/pkgs/development/coq-modules/goedel/default.nix
@@ -10,7 +10,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11"; out = "8.12.0"; }
+    { case = range "8.11" "8.13"; out = "8.12.0"; }
   ] null;
 
   propagatedBuildInputs = [ hydra-battles pocklington ];
diff --git a/pkgs/development/coq-modules/graph-theory/default.nix b/pkgs/development/coq-modules/graph-theory/default.nix
index 5607d342a2e..1ecda185cdd 100644
--- a/pkgs/development/coq-modules/graph-theory/default.nix
+++ b/pkgs/development/coq-modules/graph-theory/default.nix
@@ -12,7 +12,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.13"; out = "0.9"; }
+    { case = isEq "8.13"; out = "0.9"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap hierarchy-builder ];
diff --git a/pkgs/development/coq-modules/hierarchy-builder/default.nix b/pkgs/development/coq-modules/hierarchy-builder/default.nix
index 491ff959ece..aff3bc30b5b 100644
--- a/pkgs/development/coq-modules/hierarchy-builder/default.nix
+++ b/pkgs/development/coq-modules/hierarchy-builder/default.nix
@@ -5,8 +5,8 @@ with lib; mkCoqDerivation {
   owner = "math-comp";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.12";         out = "1.1.0"; }
-    { case = range "8.11" "8.12"; out = "0.10.0"; }
+    { case = range "8.12" "8.13"; out = "1.1.0"; }
+    { case = isEq "8.11";         out = "0.10.0"; }
   ] null;
   release."1.1.0".sha256  = "sha256-spno5ty4kU4WWiOfzoqbXF8lWlNSlySWcRReR3zE/4Q=";
   release."1.0.0".sha256  = "0yykygs0z6fby6vkiaiv3azy1i9yx4rqg8xdlgkwnf2284hffzpp";
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
index d2d9870f320..c0a9e948440 100644
--- a/pkgs/development/coq-modules/iris/default.nix
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -6,8 +6,8 @@ with lib; mkCoqDerivation rec {
   owner = "iris";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11";        out = "3.4.0"; }
-    { case = range "8.9" "8.11"; out = "3.3.0"; }
+    { case = range "8.11" "8.13"; out = "3.4.0"; }
+    { case = range "8.9"  "8.10"; out = "3.3.0"; }
   ] null;
   release."3.4.0".sha256 = "0vdc2mdqn5jjd6yz028c0c6blzrvpl0c7apx6xas7ll60136slrb";
   release."3.3.0".sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp";
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index 66791b13061..843a99de4be 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -9,7 +9,7 @@ mkCoqDerivation rec {
   release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.13"; out = "8.13+no"; }
+    { case = isEq "8.13"; out = "8.13+no"; }
   ] null;
 
   mlPlugin = true;
diff --git a/pkgs/development/coq-modules/multinomials/default.nix b/pkgs/development/coq-modules/multinomials/default.nix
index c7fed9ced51..306e68ac0f0 100644
--- a/pkgs/development/coq-modules/multinomials/default.nix
+++ b/pkgs/development/coq-modules/multinomials/default.nix
@@ -9,7 +9,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion =  with versions; switch [ coq.version mathcomp.version ] [
-      { cases = [ (range "8.10" "8.13") "1.12.0" ];             out = "1.5.4"; }
+      { cases = [ (range "8.10" "8.14") "1.12.0" ];             out = "1.5.4"; }
       { cases = [ (range "8.10" "8.12") "1.12.0" ];             out = "1.5.3"; }
       { cases = [ (range "8.7" "8.12")  "1.11.0" ];             out = "1.5.2"; }
       { cases = [ (range "8.7" "8.11")  (range "1.8" "1.10") ]; out = "1.5.0"; }
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index 900e52f1682..0a8bb78eeb7 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -5,8 +5,8 @@ with lib; mkCoqDerivation {
   owner = "snu-sf";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.6";         out = "4.0.2"; }
-    { case = range "8.5" "8.8";  out = "1.2.8"; }
+    { case = range "8.6" "8.13"; out = "4.0.2"; }
+    { case = isEq "8.5";         out = "1.2.8"; }
   ] null;
   release."4.0.2".sha256 = "1q96bsxclqx84xn5vkid501jkwlc1p6fhb8szrlrp82zglj58b0b";
   release."1.2.8".sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb";
diff --git a/pkgs/development/coq-modules/parsec/default.nix b/pkgs/development/coq-modules/parsec/default.nix
index ad48809a9fe..fa1aa3c8399 100644
--- a/pkgs/development/coq-modules/parsec/default.nix
+++ b/pkgs/development/coq-modules/parsec/default.nix
@@ -11,7 +11,7 @@ mkCoqDerivation {
   releaseRev = (v: "v${v}");
 
   inherit version;
-  defaultVersion = if versions.isGe "8.12" coq.version then "0.1.0" else null;
+  defaultVersion = if versions.range "8.12" "8.13" coq.version then "0.1.0" else null;
   release."0.1.0".sha256 = "sha256:01avfcqirz2b9wjzi9iywbhz9szybpnnj3672dgkfsimyg9jgnsr";
 
   meta = {
diff --git a/pkgs/development/coq-modules/reglang/default.nix b/pkgs/development/coq-modules/reglang/default.nix
index bc18108264a..1908c755cd3 100644
--- a/pkgs/development/coq-modules/reglang/default.nix
+++ b/pkgs/development/coq-modules/reglang/default.nix
@@ -10,7 +10,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.13"; out = "1.1.2"; }
+    { case = range "8.10" "8.14"; out = "1.1.2"; }
   ] null;
 
 
diff --git a/pkgs/development/coq-modules/relation-algebra/default.nix b/pkgs/development/coq-modules/relation-algebra/default.nix
index da74215d537..01cb7f63b71 100644
--- a/pkgs/development/coq-modules/relation-algebra/default.nix
+++ b/pkgs/development/coq-modules/relation-algebra/default.nix
@@ -15,11 +15,11 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.13"; out = "1.7.5"; }
-    { case = isGe "8.12"; out = "1.7.4"; }
-    { case = isGe "8.11"; out = "1.7.3"; }
-    { case = isGe "8.10"; out = "1.7.2"; }
-    { case = isGe "8.9"; out = "1.7.1"; }
+    { case = isEq "8.13"; out = "1.7.5"; }
+    { case = isEq "8.12"; out = "1.7.4"; }
+    { case = isEq "8.11"; out = "1.7.3"; }
+    { case = isEq "8.10"; out = "1.7.2"; }
+    { case = isEq "8.9";  out = "1.7.1"; }
   ] null;
 
   mlPlugin = true;
diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix
index 1fb01312e66..796c9dee0a4 100644
--- a/pkgs/development/coq-modules/semantics/default.nix
+++ b/pkgs/development/coq-modules/semantics/default.nix
@@ -15,8 +15,7 @@ mkCoqDerivation rec {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.13"; out = "8.13.0"; }
-    { case = "8.11"; out = "8.11.1"; }
+    { case = range "8.10" "8.13"; out = "8.13.0"; }
     { case = "8.9"; out = "8.9.0"; }
     { case = "8.8"; out = "8.8.0"; }
     { case = "8.7"; out = "8.7.0"; }
diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix
index 5505713eb47..1f6e995703c 100644
--- a/pkgs/development/coq-modules/serapi/default.nix
+++ b/pkgs/development/coq-modules/serapi/default.nix
@@ -15,10 +15,11 @@ let
       });
 
   release = {
-    "8.13.0+0.13.0".sha256 = "sha256:0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy";
-    "8.12.0+0.12.1".sha256 = "sha256:048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn";
-    "8.11.0+0.11.1".sha256 = "sha256:1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c";
-    "8.10.0+0.7.2".sha256  = "sha256:1ljzm63hpd0ksvkyxcbh8rdf7p90vg91gb4h0zz0941v1zh40k8c";
+    "8.14+rc1+0.14.0".sha256 = "1w7d7anvcfx8vz51mnrf1jkw6rlpzjkjlr06avf58wlhymww7pja";
+    "8.13.0+0.13.0".sha256 = "0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy";
+    "8.12.0+0.12.1".sha256 = "048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn";
+    "8.11.0+0.11.1".sha256 = "1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c";
+    "8.10.0+0.7.2".sha256  = "1ljzm63hpd0ksvkyxcbh8rdf7p90vg91gb4h0zz0941v1zh40k8c";
   };
 in
 
@@ -27,6 +28,7 @@ in
   inherit version release;
 
   defaultVersion =  with versions; switch coq.version [
+      { case = isEq "8.14"; out = "8.14+rc1+0.14.0"; }
       { case = isEq "8.13"; out = "8.13.0+0.13.0"; }
       { case = isEq "8.12"; out = "8.12.0+0.12.1"; }
       { case = isEq "8.11"; out = "8.11.0+0.11.1"; }
@@ -63,10 +65,14 @@ in
 }).overrideAttrs(o:
   let inherit (o) version; in {
   src = fetchzip {
-    url = "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${
-        if version == "8.11.0+0.11.1" then version
-        else builtins.replaceStrings [ "+" ] [ "." ] version
-      }.tbz";
+    url =
+      if version == "8.14+rc1+0.14.0"
+      then "https://github.com/ejgallego/coq-serapi/archive/refs/tags/8.14+rc1+0.14.0.tar.gz"
+      else
+        "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${
+          if version == "8.11.0+0.11.1" then version
+          else builtins.replaceStrings [ "+" ] [ "." ] version
+        }.tbz";
     sha256 = release."${version}".sha256;
   };
 })
diff --git a/pkgs/development/coq-modules/stdpp/default.nix b/pkgs/development/coq-modules/stdpp/default.nix
index 604a3f48f87..d49892e3396 100644
--- a/pkgs/development/coq-modules/stdpp/default.nix
+++ b/pkgs/development/coq-modules/stdpp/default.nix
@@ -6,8 +6,8 @@ with lib; mkCoqDerivation rec {
   domain = "gitlab.mpi-sws.org";
   owner = "iris";
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isGe "8.11";        out = "1.5.0"; }
-    { case = range "8.8" "8.11"; out = "1.4.0"; }
+    { case = range "8.11" "8.13"; out = "1.5.0"; }
+    { case = range "8.8" "8.10";  out = "1.4.0"; }
   ] null;
   release."1.5.0".sha256 = "1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf";
   release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r";
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index db5284e9127..5f29e041128 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -42,6 +42,5 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2;
 
     platforms = platforms.unix;
-    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 2d8d13482ea..fdc8f7c21f1 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -137,7 +137,6 @@ stdenv.mkDerivation {
     badPlatforms = optional (versionOlder version "1.59") "aarch64-linux"
                  ++ optional ((versionOlder version "1.57") || version == "1.58") "x86_64-darwin"
                  ++ optionals (versionOlder version "1.73") lib.platforms.riscv;
-    maintainers = with maintainers; [ peti ];
   };
 
   preConfigure = optionalString useMpi ''
diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix
index d6ab4fe0dfe..47b61fe0351 100644
--- a/pkgs/development/libraries/buddy/default.nix
+++ b/pkgs/development/libraries/buddy/default.nix
@@ -21,6 +21,5 @@ stdenv.mkDerivation rec {
     license = "as-is";
 
     platforms = lib.platforms.unix; # Once had cygwin problems
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/pkgs/development/libraries/dleyna-core/default.nix b/pkgs/development/libraries/dleyna-core/default.nix
index 4a4eecfdc0f..e8e384ac2a0 100644
--- a/pkgs/development/libraries/dleyna-core/default.nix
+++ b/pkgs/development/libraries/dleyna-core/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
   pname = "dleyna-core";
   version = "0.6.0";
 
+  outputs = [ "out" "dev" ];
+
   setupHook = ./setup-hook.sh;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index 360094ea765..410c0afd8a6 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -39,6 +39,14 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Fix for falling back to GeoIP when WiFi devices are not found
+    # https://gitlab.freedesktop.org/geoclue/geoclue/-/commit/2de651b6590087a2df2defe8f3d85b3cf6b91494
+    # NOTE: this should be removed when the next version is released
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/geoclue/geoclue/commit/2de651b6590087a2df2defe8f3d85b3cf6b91494.patch";
+      sha256 = "hv7t2Hmpv2oDXiPWA7JpYD9q+cuuk+En/lJJickvFII=";
+    })
+
     # Make the Mozilla API key configurable
     # https://gitlab.freedesktop.org/geoclue/geoclue/merge_requests/54 (only partially backported)
     (fetchpatch {
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index 73061a3d2ef..ea6a7ee4231 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -75,7 +75,6 @@ let self = stdenv.mkDerivation rec {
 
     platforms = platforms.all;
     badPlatforms = [ "x86_64-darwin" ];
-    maintainers = [ maintainers.peti ];
   };
 };
   in self
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index 177c1567052..6228b6aaab9 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -82,7 +82,7 @@ let self = stdenv.mkDerivation rec {
       '';
 
     platforms = platforms.all;
-    maintainers = [ maintainers.peti maintainers.vrthra ];
+    maintainers = [ maintainers.vrthra ];
   };
 };
   in self
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index aa89d947a01..de6ccd15378 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -233,6 +233,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
+    "-Dglib-asserts=disabled" # asserts should be disabled on stable releases
 
     "-Davtp=disabled"
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 86684893efd..bc1656c191a 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -120,6 +120,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
+    "-Dglib-asserts=disabled" # asserts should be disabled on stable releases
   ] ++ lib.optionals (!qt5Support) [
     "-Dqt5=disabled"
   ] ++ lib.optionals (!gtkSupport) [
diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix
index c6271b13a85..6002b8c84bb 100644
--- a/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/pkgs/development/libraries/intel-media-driver/default.nix
@@ -13,7 +13,7 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "21.3.4";
+  version = "21.3.5";
 
   outputs = [ "out" "dev" ];
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "media-driver";
     rev = "intel-media-${version}";
-    sha256 = "1ch1bvqg6p0i7ahblhy0h9c43y2mfhqb25v1s344iqsrywwcpzzr";
+    sha256 = "1wc8qhz1j4z42jmnsr38y15kc0jhfqfx8ssnb5055kmmmvzwk1sh";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libgxps/default.nix b/pkgs/development/libraries/libgxps/default.nix
index df05754da58..39793910340 100644
--- a/pkgs/development/libraries/libgxps/default.nix
+++ b/pkgs/development/libraries/libgxps/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation rec {
   pname = "libgxps";
   version = "0.3.2";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "bSeGclajXM+baSU+sqiKMrrKO5fV9O9/guNmf6Q1JRw=";
diff --git a/pkgs/development/libraries/libshumate/default.nix b/pkgs/development/libraries/libshumate/default.nix
index db669e5b673..e987e5a892c 100644
--- a/pkgs/development/libraries/libshumate/default.nix
+++ b/pkgs/development/libraries/libshumate/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
   checkPhase = ''
     runHook preCheck
 
-    HOME=$TMPDIR xvfb-run meson test
+    HOME=$TMPDIR xvfb-run meson test --print-errorlogs
 
     runHook postCheck
   '';
diff --git a/pkgs/development/libraries/nss/3.53.nix b/pkgs/development/libraries/nss/3.53.nix
index 4d22e9a1a7c..2f18b466f98 100644
--- a/pkgs/development/libraries/nss/3.53.nix
+++ b/pkgs/development/libraries/nss/3.53.nix
@@ -151,13 +151,11 @@ stdenv.mkDerivation rec {
     in
     (lib.optionalString enableFIPS (''
       for libname in freebl3 nssdbm3 softokn3
-      do '' +
+      do libfile="$out/lib/lib$libname${stdenv.hostPlatform.extensions.sharedLibrary}"'' +
     (if stdenv.isDarwin
     then ''
-      libfile="$out/lib/lib$libname.dylib"
       DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
     '' else ''
-      libfile="$out/lib/lib$libname.so"
       LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
     '') + ''
           ${nss}/bin/shlibsign -v -i "$libfile"
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index f986ac7e1d1..9d85515e2fa 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -166,13 +166,11 @@ stdenv.mkDerivation rec {
     in
     (lib.optionalString enableFIPS (''
       for libname in freebl3 nssdbm3 softokn3
-      do '' +
+      do libfile="$out/lib/lib$libname${stdenv.hostPlatform.extensions.sharedLibrary}"'' +
     (if stdenv.isDarwin
     then ''
-      libfile="$out/lib/lib$libname.dylib"
       DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
     '' else ''
-      libfile="$out/lib/lib$libname.so"
       LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
     '') + ''
           ${nss}/bin/shlibsign -v -i "$libfile"
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 2d3f1c313ca..2688dde9ed5 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -170,7 +170,6 @@ let
       description = "A cryptographic library that implements the SSL and TLS protocols";
       license = licenses.openssl;
       platforms = platforms.all;
-      maintainers = [ maintainers.peti ];
     } // extraMeta;
   };
 
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index a0a1ac0360e..9682ac1637a 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -19,6 +19,5 @@ stdenv.mkDerivation rec {
     license = "as-is";
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 14f41b015e9..b766b933a65 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -57,7 +57,7 @@
 
     passthru = {
       fancyName = "MariaDB";
-      driver = if stdenv.isDarwin then "lib/libmaodbc.dylib" else "lib/libmaodbc.so";
+      driver = "lib/libmaodbc${stdenv.hostPlatform.extensions.sharedLibrary}";
     };
 
     meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix
index 08bb426d8ab..e7426cf10e9 100644
--- a/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,34 +1,22 @@
-{ lib, fetchFromGitLab, buildDunePackage, ff, zarith, ctypes, tezos-rust-libs, alcotest }:
+{ lib, buildDunePackage, bls12-381-gen, ff-sig, zarith, ctypes, alcotest }:
 
 buildDunePackage rec {
   pname = "bls12-381";
-  version = "0.3.15";
 
-  src = fetchFromGitLab {
-    owner = "dannywillems";
-    repo = "ocaml-bls12-381";
-    rev = version;
-    sha256 = "1s8n657fsl2gs01p7v2ffpcfzymavifhhpriyx1gq5qh4zvvw4vr";
-  };
-  useDune2 = true;
+  inherit (bls12-381-gen) version src useDune2 doCheck;
 
   minimalOCamlVersion = "4.08";
   propagatedBuildInputs = [
-    ff
+    ff-sig
     zarith
     ctypes
-    tezos-rust-libs
+    bls12-381-gen
   ];
 
   checkInputs = [
     alcotest
   ];
 
-  # This is a hack to work around the hack used in the dune files
-  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
-
-  doCheck = true;
-
   meta = {
     homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
     description = "OCaml binding for bls12-381 from librustzcash";
diff --git a/pkgs/development/ocaml-modules/bls12-381/gen.nix b/pkgs/development/ocaml-modules/bls12-381/gen.nix
new file mode 100644
index 00000000000..d7daba263c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bls12-381/gen.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitLab, buildDunePackage, ff-sig, zarith }:
+
+buildDunePackage rec {
+  pname = "bls12-381-gen";
+  version = "0.4.2";
+
+  src = fetchFromGitLab {
+      owner = "dannywillems";
+      repo = "ocaml-bls12-381";
+      rev = version;
+      sha256 = "0jxc8qrdn74brmzjns1xycv3cb257kx5pa3ripgl9ci4njkv87n2";
+  };
+  useDune2 = true;
+
+  minimalOCamlVersion = "4.08";
+
+  propagatedBuildInputs = [
+    ff-sig
+    zarith
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
+    description = "Functors to generate BLS12-381 primitives based on stubs";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bls12-381/unix.nix b/pkgs/development/ocaml-modules/bls12-381/unix.nix
new file mode 100644
index 00000000000..4da1a489e2c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bls12-381/unix.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildDunePackage
+, rustc
+, cargo
+, dune-configurator
+, bls12-381
+, bls12-381-gen
+, ff-pbt
+, ff-sig
+, zarith
+, ctypes
+, tezos-rust-libs
+, alcotest
+}:
+
+buildDunePackage {
+  pname = "bls12-381-unix";
+
+  inherit (bls12-381-gen) version src useDune2 doCheck;
+
+  checkInputs = [
+    alcotest
+    ff-pbt
+  ];
+
+  buildInputs = [
+    rustc
+    cargo
+    dune-configurator
+  ];
+
+  propagatedBuildInputs = [
+    ff-sig
+    zarith
+    ctypes
+    bls12-381-gen
+    bls12-381
+    tezos-rust-libs
+  ];
+
+  # This is a hack to work around the hack used in the dune files
+  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
+
+  meta = {
+    description = "UNIX version of BLS12-381 primitives implementing the virtual package bls12-381";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix
index 2e4e0518a52..f7036d38d38 100644
--- a/pkgs/development/ocaml-modules/data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/data-encoding/default.nix
@@ -12,13 +12,13 @@
 
 buildDunePackage {
   pname = "data-encoding";
-  version = "0.2.0";
+  version = "0.4.0";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "data-encoding";
-    rev = "0.2";
-    sha256 = "0d9c2ix2imqk4r0jfhnwak9laarlbsq9kmswvbnjzdm2g0hwin1d";
+    rev = "v0.4";
+    sha256 = "1f88l9azpfk730hps5v6zlg4yyyyhj1gl27qy3cbbkzjc82d2rhx";
   };
   useDune2 = true;
 
diff --git a/pkgs/development/ocaml-modules/ff/pbt.nix b/pkgs/development/ocaml-modules/ff/pbt.nix
new file mode 100644
index 00000000000..e0363160dd7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ff/pbt.nix
@@ -0,0 +1,21 @@
+{ lib, fetchFromGitLab, buildDunePackage, zarith, ff-sig, alcotest }:
+
+buildDunePackage {
+  pname = "ff-pbt";
+  inherit (ff-sig) version src doCheck useDune2;
+
+  minimalOCamlVersion = "4.08";
+
+  checkInputs = [
+    alcotest
+  ];
+
+  propagatedBuildInputs = [
+    zarith
+    ff-sig
+  ];
+
+  meta = ff-sig.meta // {
+    description = "Property based testing library for finite fields over the package ff-sig";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ff/sig.nix b/pkgs/development/ocaml-modules/ff/sig.nix
new file mode 100644
index 00000000000..a2c7ca0d0c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ff/sig.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitLab, buildDunePackage, zarith }:
+
+buildDunePackage rec {
+  pname = "ff-sig";
+  version = "0.6.1";
+  src = fetchFromGitLab {
+    owner = "dannywillems";
+    repo = "ocaml-ff";
+    rev = version;
+    sha256 = "0p42ivyfbn1pwm18773y4ga9cm64ysha0rplzvrnhszg01anarc0";
+  };
+
+  useDune2 = true;
+
+  propagatedBuildInputs = [
+    zarith
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://gitlab.com/dannywillems/ocaml-ff";
+    description = "Minimal finite field signatures";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/getopt/default.nix b/pkgs/development/ocaml-modules/getopt/default.nix
new file mode 100644
index 00000000000..3400774d4c0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/getopt/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchzip, stdenv, ocaml, findlib, ocamlbuild }:
+
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-getopt";
+  version = "20120615";
+
+  src = fetchzip {
+    url = "https://download.ocamlcore.org/ocaml-getopt/ocaml-getopt/${version}/ocaml-getopt-${version}.tar.gz";
+    sha256 = "0bng2mmdixpmj23xn8krlnaq66k22iclwz46r8zjrsrq3wcn1xgn";
+  };
+
+  buildInputs = [
+    ocaml
+    findlib
+    ocamlbuild
+  ];
+
+  doCheck = true;
+  createFindlibDestdir = true;
+
+  meta = {
+    inherit (ocaml.meta) platforms;
+    homepage = "https://github.com/gildor478/ocaml-getopt";
+    description = "Parsing of command line arguments (similar to GNU GetOpt) for OCaml";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/hashcons/default.nix b/pkgs/development/ocaml-modules/hashcons/default.nix
new file mode 100644
index 00000000000..2bfaced1155
--- /dev/null
+++ b/pkgs/development/ocaml-modules/hashcons/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, buildDunePackage }:
+
+buildDunePackage rec {
+  pname = "hashcons";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner  = "backtracking";
+    repo   = "ocaml-${pname}";
+    rev    = "d733325eeb55878bed285120c2c088daf78f0e2b";
+    sha256 = "0h4pvwj34pndaw3pajkhl710ywwinhc9pqimgllfmkl37wz2d8zq";
+  };
+
+  useDune2 = true;
+
+  doCheck = true;
+
+  meta = {
+    description = "OCaml hash-consing library";
+    license = lib.licenses.lgpl21;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
index 5048a8fd06a..d131acf4b48 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, json-data-encoding, ocplib-endian, crowbar }:
+{ lib, buildDunePackage, json-data-encoding, ocplib-endian, crowbar, alcotest }:
 
 buildDunePackage {
   pname = "json-data-encoding-bson";
@@ -12,6 +12,7 @@ buildDunePackage {
 
   checkInputs = [
     crowbar
+    alcotest
   ];
 
   meta = json-data-encoding.meta // {
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/default.nix b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
index 6dfea612b10..69fbdb6ed1c 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitLab, buildDunePackage, uri, crowbar }:
+{ lib, fetchFromGitLab, buildDunePackage, uri, crowbar, alcotest }:
 
 buildDunePackage rec {
   pname = "json-data-encoding";
-  version = "0.8";
-
+  version = "0.10";
+  minimalOCamlVersion = "4.10";
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "json-data-encoding";
-    rev = "v${version}";
-    sha256 = "1c6m2qvi9bm6qjxc38p6cia1f66r0rb9xf6b8svlj3jjymvqw889";
+    rev = "${version}";
+    sha256 = "0m0xx382wr44wz7gxf7mpfjx2w287pvqhg2lfvzmclfq3y5iy6mx";
   };
   useDune2 = true;
 
@@ -18,6 +18,7 @@ buildDunePackage rec {
 
   checkInputs = [
     crowbar
+    alcotest
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/lwt-canceler/default.nix b/pkgs/development/ocaml-modules/lwt-canceler/default.nix
index 2e4d12082b7..97b27157265 100644
--- a/pkgs/development/ocaml-modules/lwt-canceler/default.nix
+++ b/pkgs/development/ocaml-modules/lwt-canceler/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "lwt-canceler";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "lwt-canceler";
     rev = "v${version}";
-    sha256 = "07931486vg83sl1c268i0vyw61l8n8xs2krjsj43070zljqi8rf1";
+    sha256 = "1xbb7012hp901b755kxmfgg293rz34rkhwzg2z9i6sakwd7i0h9p";
   };
   useDune2 = true;
 
diff --git a/pkgs/development/ocaml-modules/lwt-exit/default.nix b/pkgs/development/ocaml-modules/lwt-exit/default.nix
new file mode 100644
index 00000000000..34aadc8761f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt-exit/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, fetchFromGitLab
+, buildDunePackage
+, lwt
+, ptime
+}:
+
+buildDunePackage rec {
+  pname = "lwt-exit";
+  version = "1.0";
+  src = fetchFromGitLab {
+    owner = "nomadic-labs";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "1k763bmj1asj9ijar39rh3h1d59rckmsf21h2y8966lgglsf42bd";
+  };
+
+  useDune2 = true;
+
+  minimalOCamlVersion = "4.08";
+
+  propagatedBuildInputs = [
+    lwt
+    ptime
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "An opinionated clean-exit and signal-handling library for Lwt programs";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix
new file mode 100644
index 00000000000..7bc794fa248
--- /dev/null
+++ b/pkgs/development/ocaml-modules/pyml/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchFromGitHub, ocaml, findlib, utop, python3, stdcompat, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "pyml";
+  version = "20210226";
+
+  src = fetchFromGitHub {
+    owner  = "thierry-martinez";
+    repo   = pname;
+    rev    = version;
+    sha256 = "15xk6bgdzsf04d6wdjpr3s1ci2g7d7qnbq3102avkz179d5n62h7";
+  };
+
+  buildInputs = [
+    ocaml
+    findlib
+    utop
+    ncurses
+  ];
+
+  propagatedBuildInputs = [
+    python3
+    stdcompat
+  ];
+
+  buildPhase = ''
+    make all pymltop pymlutop PREFIX=$out
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mkdir -p $OCAMLFIND_DESTDIR/stublibs
+    make install PREFIX=$out
+    runHook postInstall
+  '';
+
+  doCheck = true;
+
+  meta = {
+    description = "OCaml bindings for Python";
+    license = lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tar/default.nix b/pkgs/development/ocaml-modules/tar/default.nix
new file mode 100644
index 00000000000..abc28e2d879
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tar/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, buildDunePackage
+, ppx_cstruct
+, cstruct
+, re
+, ppx_tools
+}:
+
+buildDunePackage rec {
+  pname = "tar";
+  version = "1.1.0";
+  src = fetchFromGitHub {
+    owner = "mirage";
+    repo = "ocaml-tar";
+    rev = "v${version}";
+    sha256 = "14k24vn3q5jl0iyrynb5vwg80670qsv12fsmc6cdgh4zwdpjh7zs";
+  };
+
+  useDune2 = true;
+
+  propagatedBuildInputs = [
+    ppx_cstruct
+    cstruct
+    re
+  ];
+
+  buildInputs = [
+    ppx_tools
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Decode and encode tar format files from Unix";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tar/unix.nix b/pkgs/development/ocaml-modules/tar/unix.nix
new file mode 100644
index 00000000000..4ac1f625a02
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tar/unix.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tar
+, cstruct
+, cstruct-lwt
+, re
+, lwt
+}:
+
+buildDunePackage rec {
+  pname = "tar-unix";
+  inherit (tar) version src useDune2 doCheck;
+
+  propagatedBuildInputs = [
+    tar
+    cstruct
+    cstruct-lwt
+    re
+    lwt
+  ];
+
+  meta = {
+    description = "Decode and encode tar format files from Unix";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
new file mode 100644
index 00000000000..fe2664333e3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-stdlib-unix
+, tezos-base
+, tezos-shell-services
+, tezos-protocol-environment
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-010-PtGRANAD-parameters
+, tezos-client-010-PtGRANAD
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-010-PtGRANAD-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol/test/helpers";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-stdlib-unix
+    tezos-shell-services
+    tezos-protocol-environment
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-010-PtGRANAD-parameters
+    tezos-client-010-PtGRANAD
+    alcotest-lwt
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol testing framework";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/base.nix b/pkgs/development/ocaml-modules/tezos/base.nix
index 2f5d7658131..544daa297ac 100644
--- a/pkgs/development/ocaml-modules/tezos/base.nix
+++ b/pkgs/development/ocaml-modules/tezos/base.nix
@@ -2,31 +2,35 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-crypto
+, tezos-hacl-glue-unix
 , tezos-micheline
+, tezos-test-helpers
 , ptime
-, ezjsonm
 , ipaddr
-, qcheck-alcotest
-, crowbar
+, bls12-381-unix
 }:
 
 buildDunePackage {
   pname = "tezos-base";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_base";
 
   propagatedBuildInputs = [
     tezos-crypto
     tezos-micheline
+    tezos-hacl-glue-unix
+    bls12-381-unix
     ptime
-    ezjsonm
     ipaddr
   ];
 
   checkInputs = [
-    qcheck-alcotest
-    crowbar
+    # tezos-test-helpers
   ];
 
+  # circular dependency if we add this
+  doCheck = false;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: meta-package and pervasive type definitions for Tezos";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/clic.nix b/pkgs/development/ocaml-modules/tezos/clic.nix
index d69174e5f29..863ecb8df45 100644
--- a/pkgs/development/ocaml-modules/tezos/clic.nix
+++ b/pkgs/development/ocaml-modules/tezos/clic.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-clic";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_clic";
 
   propagatedBuildInputs = [
     tezos-stdlib-unix
@@ -19,6 +20,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library of auto-documented command-line-parsing combinators";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
new file mode 100644
index 00000000000..55a98454508
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-mockup-registration
+, tezos-proxy
+, tezos-signer-backends
+, tezos-protocol-010-PtGRANAD-parameters
+, tezos-protocol-plugin-010-PtGRANAD
+, alcotest-lwt
+, ppx_inline_test
+, cacert
+}:
+
+buildDunePackage {
+  pname = "tezos-client-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_client";
+
+  propagatedBuildInputs = [
+    tezos-mockup-registration
+    tezos-proxy
+    tezos-signer-backends
+    tezos-protocol-010-PtGRANAD-parameters
+    tezos-protocol-plugin-010-PtGRANAD
+    ppx_inline_test
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    cacert
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol specific library for `tezos-client`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/client-base.nix b/pkgs/development/ocaml-modules/tezos/client-base.nix
new file mode 100644
index 00000000000..f2503481720
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/client-base.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-shell-services
+, tezos-sapling
+, alcotest
+}:
+
+buildDunePackage {
+  pname = "tezos-client-base";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_client_base";
+
+  propagatedBuildInputs = [
+    tezos-shell-services
+    tezos-sapling
+  ];
+
+  checkInputs = [
+    alcotest
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/context.nix b/pkgs/development/ocaml-modules/tezos/context.nix
new file mode 100644
index 00000000000..e118c3e1ebe
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/context.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, tezos-shell-services
+, irmin
+, irmin-pack
+, digestif
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-context";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_context";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-shell-services
+    irmin
+    irmin-pack
+    digestif
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/crypto.nix b/pkgs/development/ocaml-modules/tezos/crypto.nix
index 9c5bd45f94f..532e8fc12b2 100644
--- a/pkgs/development/ocaml-modules/tezos/crypto.nix
+++ b/pkgs/development/ocaml-modules/tezos/crypto.nix
@@ -1,37 +1,41 @@
 { lib
 , buildDunePackage
 , tezos-stdlib
-, tezos-clic
 , tezos-rpc
-, bls12-381
-, hacl-star
+, tezos-clic
+, tezos-hacl-glue
+, tezos-hacl-glue-unix
 , secp256k1-internal
-, uecc
 , ringo
-, ff
-, alcotest
+, bls12-381
+, bls12-381-unix
+, tezos-test-helpers
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-crypto";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_crypto";
 
   propagatedBuildInputs = [
-    tezos-clic
     tezos-rpc
-    bls12-381
-    hacl-star
+    tezos-clic
+    tezos-hacl-glue
+    tezos-hacl-glue-unix
     secp256k1-internal
-    uecc
     ringo
+    bls12-381
+    bls12-381-unix
   ];
 
   checkInputs = [
-    alcotest
+    tezos-test-helpers
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library with all the cryptographic primitives used by Tezos";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
new file mode 100644
index 00000000000..f0f9c2be770
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-updater
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-embedded-protocol-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
+
+  preBuild = tezos-protocol-010-PtGRANAD.preBuild;
+
+  propagatedBuildInputs = [
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-updater
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition, embedded in `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/error-monad.nix b/pkgs/development/ocaml-modules/tezos/error-monad.nix
index 70cdff0c0ac..cbebf1e51c6 100644
--- a/pkgs/development/ocaml-modules/tezos/error-monad.nix
+++ b/pkgs/development/ocaml-modules/tezos/error-monad.nix
@@ -4,19 +4,22 @@
 , data-encoding
 , lwt
 , lwt-canceler
+, tezos-lwt-result-stdlib
 , alcotest
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-error-monad";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_error_monad";
 
   propagatedBuildInputs = [
     tezos-stdlib
     data-encoding
     lwt
     lwt-canceler
+    tezos-lwt-result-stdlib
   ];
 
   checkInputs = [
@@ -24,6 +27,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: error monad";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/event-logging.nix b/pkgs/development/ocaml-modules/tezos/event-logging.nix
index 30d6c12087e..75b4a5d0643 100644
--- a/pkgs/development/ocaml-modules/tezos/event-logging.nix
+++ b/pkgs/development/ocaml-modules/tezos/event-logging.nix
@@ -1,21 +1,27 @@
 { lib
 , buildDunePackage
 , tezos-stdlib
-, tezos-lwt-result-stdlib
+, tezos-error-monad
+, data-encoding
 , lwt_log
-, alcotest
-, alcotest-lwt
+, lwt
 }:
 
 buildDunePackage {
   pname = "tezos-event-logging";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_event_logging";
 
   propagatedBuildInputs = [
-    tezos-lwt-result-stdlib
+    tezos-stdlib
+    tezos-error-monad
+    data-encoding
     lwt_log
+    lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: event logging library";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
new file mode 100644
index 00000000000..5c8afad0f2a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-hacl-glue
+, ctypes
+, hacl-star
+}:
+
+buildDunePackage {
+  pname = "tezos-hacl-glue-unix";
+
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/unix";
+
+  propagatedBuildInputs = [
+    ctypes
+    hacl-star
+    tezos-hacl-glue
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: thin layer of glue around hacl-star (unix implementation)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
new file mode 100644
index 00000000000..409d04bb266
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
@@ -0,0 +1,17 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+}:
+
+buildDunePackage {
+  pname = "tezos-hacl-glue";
+
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/virtual";
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: thin layer of glue around hacl-star (virtual package)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/legacy-store.nix b/pkgs/development/ocaml-modules/tezos/legacy-store.nix
new file mode 100644
index 00000000000..6029401e361
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/legacy-store.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-context
+, tezos-lmdb
+, tezos-validation
+, tezos-shell-services
+, tezos-protocol-compiler
+, lwt-watcher
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-legacy-store";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_store/legacy_store";
+
+  propagatedBuildInputs = [
+    tezos-context
+    tezos-lmdb
+    tezos-validation
+    tezos-shell-services
+    lwt-watcher
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/lmdb.nix b/pkgs/development/ocaml-modules/tezos/lmdb.nix
index 960b2532c37..6eaed942317 100644
--- a/pkgs/development/ocaml-modules/tezos/lmdb.nix
+++ b/pkgs/development/ocaml-modules/tezos/lmdb.nix
@@ -8,24 +8,22 @@
 , alcotest
 }:
 
-buildDunePackage rec {
-  pname = "tezos-lmdb";
+let
   version = "7.4";
   src = fetchFromGitLab {
     owner = "tezos";
     repo = "tezos";
     rev = "v${version}";
-    sha256 = "18q02j74aa8mxv233kvyb62xbhjngzpgppp6kgr4m53d7a78wgsm";
+    sha256 = "0sghc60xzr02pmmkr626pnhzrnczf7mki7qyxzzfn7rbbdbrf4wp";
   };
+in
 
-  useDune2 = true;
+buildDunePackage {
+  pname = "tezos-lmdb";
+  version = version;
+  src = "${src}/vendors/ocaml-lmdb";
 
-  preBuild = ''
-    rm dune
-    rm -rf src
-    rm -rf docs
-    ls vendors | grep -v ocaml-lmdb |xargs rm -rf
-  '';
+  useDune2 = true;
 
   buildInputs = [
     pkg-config
diff --git a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix b/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
index fe32b7aba74..89c15b0f634 100644
--- a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
+++ b/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
@@ -2,10 +2,10 @@
 , buildDunePackage
 , ocaml
 , tezos-stdlib
-, tezos-error-monad
+, lwt
 , alcotest
 , alcotest-lwt
-, crowbar
+, tezos-test-helpers
 }:
 
 if lib.versionAtLeast ocaml.version "4.12" then
@@ -14,18 +14,21 @@ else
 
 buildDunePackage {
   pname = "tezos-lwt-result-stdlib";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_lwt_result_stdlib";
 
   propagatedBuildInputs = [
-    tezos-error-monad
+    lwt
   ];
 
   checkInputs = [
     alcotest
     alcotest-lwt
-    crowbar
+    tezos-test-helpers
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: error-aware stdlib replacement";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/micheline.nix b/pkgs/development/ocaml-modules/tezos/micheline.nix
index a729cdef155..c28e8f89745 100644
--- a/pkgs/development/ocaml-modules/tezos/micheline.nix
+++ b/pkgs/development/ocaml-modules/tezos/micheline.nix
@@ -10,11 +10,13 @@
 
 buildDunePackage {
   pname = "tezos-micheline";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_micheline";
 
   propagatedBuildInputs = [
     tezos-error-monad
     uutf
+    ppx_inline_test
   ];
 
   checkInputs = [
@@ -22,6 +24,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: internal AST and parser for the Michelson language";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix b/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
new file mode 100644
index 00000000000..d949439fcee
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+, tezos-protocol-environment
+, tezos-rpc-http-client
+, resto-cohttp-self-serving-client
+}:
+
+buildDunePackage {
+  pname = "tezos-mockup-proxy";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_mockup_proxy";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+    tezos-protocol-environment
+    tezos-rpc-http-client
+    resto-cohttp-self-serving-client
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: local RPCs";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-registration.nix b/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
new file mode 100644
index 00000000000..651c89a5986
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-mockup-registration";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_mockup";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/p2p-services.nix b/pkgs/development/ocaml-modules/tezos/p2p-services.nix
index b4243f589f0..da15852aa97 100644
--- a/pkgs/development/ocaml-modules/tezos/p2p-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/p2p-services.nix
@@ -6,7 +6,8 @@
 
 buildDunePackage {
   pname = "tezos-p2p-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_p2p_services";
 
   propagatedBuildInputs = [
     tezos-base
diff --git a/pkgs/development/ocaml-modules/tezos/p2p.nix b/pkgs/development/ocaml-modules/tezos/p2p.nix
index b75c03debfa..cec1f1ef7b6 100644
--- a/pkgs/development/ocaml-modules/tezos/p2p.nix
+++ b/pkgs/development/ocaml-modules/tezos/p2p.nix
@@ -2,13 +2,16 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-p2p-services
+, tezos-test-services
 , alcotest-lwt
+, astring
 , lwt-watcher
 }:
 
 buildDunePackage {
   pname = "tezos-p2p";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_p2p";
 
   propagatedBuildInputs = [
     tezos-p2p-services
@@ -16,9 +19,13 @@ buildDunePackage {
   ];
 
   checkInputs = [
+    astring
     alcotest-lwt
+    tezos-test-services
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library for a pool of P2P connections";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
deleted file mode 100644
index 5b043eede93..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-008-PtEdo2Zk
-, qcheck-alcotest
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-008-PtEdo2Zk-parameters";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
-
-  propagatedBuildInputs = [
-    tezos-protocol-008-PtEdo2Zk
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: parameters";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix b/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
deleted file mode 100644
index 49a7f0e6380..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-008-PtEdo2Zk";
-  inherit (tezos-stdlib) version src useDune2 doCheck;
-
-  preBuild = ''
-    rm -rf vendors
-    substituteInPlace src/proto_008_PtEdo2Zk/lib_protocol/dune.inc --replace "-nostdlib" ""
-  '';
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
new file mode 100644
index 00000000000..832ca9df30c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-010-PtGRANAD-parameters";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_parameters";
+
+  propagatedBuildInputs = [
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: parameters";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
new file mode 100644
index 00000000000..80809cafbab
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
+
+  preBuild = ''
+    rm dune
+    cp -f ${tezos-protocol-compiler.src}/dune_protocol dune
+    sed -i.back -e s/-nostdlib//g dune.inc
+  '';
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix b/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
index a43356d9cbe..6178fb6c081 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
@@ -4,6 +4,7 @@
 , tezos-stdlib
 , tezos-protocol-environment
 , ocp-ocamlres
+, re
 , pprint
 }:
 
@@ -13,16 +14,20 @@ else
 
 buildDunePackage {
   pname = "tezos-protocol-compiler";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_compiler";
 
-  minimalOCamlVersion = "4.09";
+  minimalOCamlVersion = "4.10";
 
   propagatedBuildInputs = [
     tezos-protocol-environment
     ocp-ocamlres
+    re
     pprint
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: economic-protocol compiler";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix b/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
deleted file mode 100644
index 51efe694184..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-demo-noops";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: demo_noops economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
index 42662105b95..3aa5e0f6fca 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
@@ -5,10 +5,13 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-packer";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   minimalOCamlVersion = "4.03";
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: sigs/structs packer for economic protocol environment";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
index 79b84360a9d..3008de62431 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
@@ -8,7 +8,21 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-sigs";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
+
+  postPatch = ''
+    ls ./sigs/v0
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v1/z.mli
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v2/z.mli
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v3/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v1/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v1/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v2/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v2/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v3/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v3/z.mli
+  '';
 
   propagatedBuildInputs = [
     tezos-protocol-environment-packer
@@ -18,11 +32,7 @@ buildDunePackage {
     tezos-stdlib
   ];
 
-  postPatch = ''
-    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./src/lib_protocol_environment/sigs/v1/z.mli
-    sed -i 's/out_channel/Stdlib.out_channel/g' ./src/lib_protocol_environment/sigs/v1/z.mli
-    sed -i 's/Buffer/Stdlib.Buffer/g' ./src/lib_protocol_environment/sigs/v1/z.mli
-  '';
+  doCheck = true;
 
   meta = tezos-stdlib.meta // {
     description = "Tezos: restricted typing environment for the economic protocols";
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
index feddca046f8..f7b61b22b23 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
@@ -7,13 +7,16 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-structs";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   propagatedBuildInputs = [
     tezos-crypto
     tezos-protocol-environment-packer
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: restricted typing environment for the economic protocols";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
index 60d9ae29222..292e4ce41ee 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
@@ -1,22 +1,26 @@
 { lib
+, ocaml
 , buildDunePackage
 , tezos-stdlib
 , tezos-base
 , tezos-sapling
+, tezos-context
 , tezos-protocol-environment-sigs
 , tezos-protocol-environment-structs
+, tezos-test-helpers
 , zarith
 , alcotest-lwt
-, crowbar
 }:
 
 buildDunePackage {
   pname = "tezos-protocol-environment";
-  inherit (tezos-stdlib) version src useDune2 doCheck preBuild;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   propagatedBuildInputs = [
     tezos-sapling
     tezos-base
+    tezos-context
     tezos-protocol-environment-sigs
     tezos-protocol-environment-structs
     zarith # this might break, since they actually want 1.11
@@ -24,9 +28,11 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
-    crowbar
+    tezos-test-helpers
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
new file mode 100644
index 00000000000..2ce23157742
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-embedded-protocol-010-PtGRANAD
+, tezos-protocol-010-PtGRANAD
+, tezos-shell
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-plugin-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_plugin";
+
+  buildInputs = [
+    tezos-embedded-protocol-010-PtGRANAD
+    tezos-protocol-010-PtGRANAD
+    tezos-shell
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol plugin registerer";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-updater.nix b/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
new file mode 100644
index 00000000000..29aaa8be734
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
@@ -0,0 +1,26 @@
+{ lib
+, ocaml
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+, tezos-shell-context
+, lwt-exit
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-updater";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_updater";
+
+  propagatedBuildInputs = [
+    tezos-shell-context
+    lwt-exit
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: economic-protocol dynamic loading for `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/proxy.nix b/pkgs/development/ocaml-modules/tezos/proxy.nix
new file mode 100644
index 00000000000..4e46027de0d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/proxy.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-mockup-proxy
+, tezos-context
+, ringo-lwt
+, alcotest-lwt
+, crowbar
+, tezos-test-services
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-proxy";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_proxy";
+
+  propagatedBuildInputs = [
+    ringo-lwt
+    tezos-mockup-proxy
+    tezos-context
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    crowbar
+    tezos-test-services
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/requester.nix b/pkgs/development/ocaml-modules/tezos/requester.nix
index d4a2b69eaa8..2326f8ec91d 100644
--- a/pkgs/development/ocaml-modules/tezos/requester.nix
+++ b/pkgs/development/ocaml-modules/tezos/requester.nix
@@ -9,7 +9,8 @@
 
 buildDunePackage {
   pname = "tezos-requester";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_requester";
 
   propagatedBuildInputs = [
     tezos-base
@@ -21,6 +22,8 @@ buildDunePackage {
     tezos-test-services
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: generic resource fetching service";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
new file mode 100644
index 00000000000..246618ce076
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http-client
+, cohttp-lwt-unix
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http-client-unix";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http-client
+    cohttp-lwt-unix
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: unix implementation of the RPC client";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
new file mode 100644
index 00000000000..54cb71617bb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http
+, resto-cohttp-client
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http-client";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http
+    resto-cohttp-client
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (http client)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http.nix b/pkgs/development/ocaml-modules/tezos/rpc-http.nix
new file mode 100644
index 00000000000..56fda87f93d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, resto-directory
+, resto-cohttp
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-base
+    resto-directory
+    resto-cohttp
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (http server and client)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc.nix b/pkgs/development/ocaml-modules/tezos/rpc.nix
index 33450bdf167..f8a1336146e 100644
--- a/pkgs/development/ocaml-modules/tezos/rpc.nix
+++ b/pkgs/development/ocaml-modules/tezos/rpc.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-rpc";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc";
 
   propagatedBuildInputs = [
     tezos-error-monad
@@ -16,6 +17,8 @@ buildDunePackage {
     resto-directory
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/sapling.nix b/pkgs/development/ocaml-modules/tezos/sapling.nix
index 40665e38054..a51973ed724 100644
--- a/pkgs/development/ocaml-modules/tezos/sapling.nix
+++ b/pkgs/development/ocaml-modules/tezos/sapling.nix
@@ -4,12 +4,14 @@
 , tezos-stdlib
 , tezos-crypto
 , tezos-rust-libs
+, tezos-test-services
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-sapling";
-  inherit (tezos-stdlib) version src useDune2 preBuild;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_sapling";
 
   propagatedBuildInputs = [
     tezos-crypto
@@ -18,8 +20,10 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
+    tezos-test-services
   ];
 
+  # requires the "zcash-params" files
   doCheck = false;
 
   # This is a hack to work around the hack used in the dune files
diff --git a/pkgs/development/ocaml-modules/tezos/shell-context.nix b/pkgs/development/ocaml-modules/tezos/shell-context.nix
new file mode 100644
index 00000000000..89b50177f2c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/shell-context.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-shell-context";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
+
+  propagatedBuildInputs = [
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: economic-protocols environment implementation for `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/shell-services.nix b/pkgs/development/ocaml-modules/tezos/shell-services.nix
index 4e2f40497eb..d15993e0a91 100644
--- a/pkgs/development/ocaml-modules/tezos/shell-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/shell-services.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-shell-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_shell_services";
 
   propagatedBuildInputs = [
     tezos-workers
@@ -16,6 +17,8 @@ buildDunePackage {
     tezos-version
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/shell.nix b/pkgs/development/ocaml-modules/tezos/shell.nix
new file mode 100644
index 00000000000..268db42fcdb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/shell.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-p2p
+, tezos-requester
+, tezos-validation
+, tezos-store
+, tezos-workers
+, tezos-test-services
+# , tezos-embedded-protocol-demo-noops
+, tezos-test-helpers
+# , tezos-protocol-plugin-alpha
+, alcotest-lwt
+, crowbar
+}:
+
+buildDunePackage {
+  pname = "tezos-shell";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_shell";
+
+  propagatedBuildInputs = [
+    tezos-p2p
+    tezos-requester
+    tezos-validation
+    tezos-store
+    tezos-workers
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    crowbar
+    tezos-test-helpers
+    tezos-test-services
+    # tezos-embedded-protocol-demo-noops
+    # tezos-protocol-plugin-alpha
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-backends.nix b/pkgs/development/ocaml-modules/tezos/signer-backends.nix
new file mode 100644
index 00000000000..0b49779c279
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/signer-backends.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http-client-unix
+, tezos-signer-services
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-signer-backends";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_signer_backends";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http-client-unix
+    tezos-signer-services
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: remote-signature backends for `tezos-client`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-services.nix b/pkgs/development/ocaml-modules/tezos/signer-services.nix
new file mode 100644
index 00000000000..2f7333312fa
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/signer-services.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+}:
+
+buildDunePackage {
+  pname = "tezos-signer-services";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_signer_services";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-signer`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix b/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
index 2b3a01469a7..1b275d03dff 100644
--- a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
+++ b/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
@@ -2,28 +2,31 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-event-logging
-, lwt
+, re
 , ptime
 , mtime
 , ipaddr
-, re
-, alcotest
-, alcotest-lwt
+, ezjsonm
+, fmt
 }:
 
 buildDunePackage {
   pname = "tezos-stdlib-unix";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_stdlib_unix";
 
   propagatedBuildInputs = [
     tezos-event-logging
-    lwt
+    re
     ptime
     mtime
     ipaddr
-    re
+    ezjsonm
+    fmt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: yet-another local-extension of the OCaml standard library (unix-specific fragment)";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib.nix b/pkgs/development/ocaml-modules/tezos/stdlib.nix
index eff403ba808..07ec63785be 100644
--- a/pkgs/development/ocaml-modules/tezos/stdlib.nix
+++ b/pkgs/development/ocaml-modules/tezos/stdlib.nix
@@ -9,19 +9,24 @@
 , crowbar
 , bigstring
 , lwt_log
+, ppx_inline_test
+, qcheck-alcotest
+, tezos-test-helpers
 }:
 
 buildDunePackage rec {
   pname = "tezos-stdlib";
-  version = "8.3";
-  src = fetchFromGitLab {
+  version = "10.2";
+  base_src = fetchFromGitLab {
     owner = "tezos";
     repo = "tezos";
     rev = "v${version}";
-    sha256 = "1ykhz5m5sb2hq04nspbsbq8wspkhimagb5g6yi65hpdbn8f4zr6h";
+    sha256 = "1sqwbdclsvzz0781r0830ncy1j048h12jp3hsdy7hz4dpqp80jsq";
   };
 
-  minimalOCamlVersion = "4.0.8";
+  src = "${base_src}/src/lib_stdlib";
+
+  minimalOCamlVersion = "4.10.0";
 
   useDune2 = true;
 
@@ -33,17 +38,23 @@ buildDunePackage rec {
     hex
     lwt
     zarith
+    ppx_inline_test
   ];
 
   checkInputs = [
+    bigstring
+    lwt_log
     alcotest
     alcotest-lwt
     crowbar
     bigstring
     lwt_log
+    qcheck-alcotest
+    # tezos-test-helpers
   ];
 
-  doCheck = true;
+  # circular dependency if we add this
+  doCheck = false;
 
   meta = {
     description = "Tezos: yet-another local-extension of the OCaml standard library";
diff --git a/pkgs/development/ocaml-modules/tezos/store.nix b/pkgs/development/ocaml-modules/tezos/store.nix
new file mode 100644
index 00000000000..69dad751270
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/store.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-updater
+, tezos-validation
+, tezos-legacy-store
+, tezos-protocol-compiler
+, index
+, camlzip
+, tar-unix
+, ringo-lwt
+, digestif
+, alcotest-lwt
+, lwt-watcher
+}:
+
+buildDunePackage {
+  pname = "tezos-store";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_store";
+
+  propagatedBuildInputs = [
+    index
+    camlzip
+    tar-unix
+    ringo-lwt
+    digestif
+    lwt-watcher
+    tezos-protocol-updater
+    tezos-validation
+    tezos-legacy-store
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/test-helpers.nix b/pkgs/development/ocaml-modules/tezos/test-helpers.nix
new file mode 100644
index 00000000000..68a0d841ccf
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/test-helpers.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitLab
+, buildDunePackage
+, qcheck-alcotest
+, alcotest
+, alcotest-lwt
+, hashcons
+, pyml
+, uri
+, tezos-test-services
+, tezos-stdlib
+}:
+
+buildDunePackage rec {
+  pname = "tezos-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_test";
+
+  propagatedBuildInputs = [
+    qcheck-alcotest
+    alcotest
+    alcotest-lwt
+    hashcons
+    pyml
+    uri
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: yet-another local-extension of the OCaml standard library";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/test-services.nix b/pkgs/development/ocaml-modules/tezos/test-services.nix
index ba30b922d17..0da38d896ea 100644
--- a/pkgs/development/ocaml-modules/tezos/test-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/test-services.nix
@@ -1,4 +1,5 @@
 { lib
+, fetchFromGitLab
 , buildDunePackage
 , tezos-stdlib
 , tezos-base
@@ -7,13 +8,16 @@
 
 buildDunePackage {
   pname = "tezos-test-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_test_services";
 
   propagatedBuildInputs = [
     tezos-base
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: Alcotest-based test services";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/validation.nix b/pkgs/development/ocaml-modules/tezos/validation.nix
new file mode 100644
index 00000000000..b26b81f4a77
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/validation.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-updater
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-validation";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_validation";
+
+  propagatedBuildInputs = [
+    tezos-protocol-updater
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library for blocks validation";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/version.nix b/pkgs/development/ocaml-modules/tezos/version.nix
index 3b4bdd4bf6f..a0928d15f46 100644
--- a/pkgs/development/ocaml-modules/tezos/version.nix
+++ b/pkgs/development/ocaml-modules/tezos/version.nix
@@ -6,12 +6,15 @@
 
 buildDunePackage {
   pname = "tezos-version";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_version";
 
   propagatedBuildInputs = [
     tezos-base
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: version information generated from Git";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/workers.nix b/pkgs/development/ocaml-modules/tezos/workers.nix
index ca659f8adfb..65a60a216cd 100644
--- a/pkgs/development/ocaml-modules/tezos/workers.nix
+++ b/pkgs/development/ocaml-modules/tezos/workers.nix
@@ -6,12 +6,15 @@
 
 buildDunePackage {
   pname = "tezos-workers";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_workers";
 
   propagatedBuildInputs = [
     tezos-base
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: worker library";
   };
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index 90486c8c399..029d9f46776 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "0.12.90";
+  version = "0.12.99";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "0f8858w9b421s3dfz8a56g0mik4zyi1lp88lijw4zs2d94dcdl9s";
+    sha256 = "0rv8xf5yx88wh95myysqmv29n5rr15zgwsvh8a4xb1pmw3h9kb6q";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/python-modules/accuweather/default.nix b/pkgs/development/python-modules/accuweather/default.nix
index ccacef6df57..61851036368 100644
--- a/pkgs/development/python-modules/accuweather/default.nix
+++ b/pkgs/development/python-modules/accuweather/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "accuweather";
-  version = "0.2.0";
+  version = "0.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Swe8vegRcyaeG4n/8aeGFLrXkwcLM/Al53yD6oD/0GA=";
+    sha256 = "sha256-Kn2hP0mdnC4+Lk8wsTznC23CsYLYKhya+HlHox1Fo2o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix
index 1ad7c0bfd9d..268654ea9ba 100644
--- a/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/pkgs/development/python-modules/aiodiscover/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "1.4.4";
+  version = "1.4.5";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DobTx6oUr25J8bolo84V4yTT0b0jBsOIzPn93uAmDl0=";
+    sha256 = "sha256-QfeAEFB5WikuriBTcfFIgnJw5H4vEcGIVX47fyDb1Dk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 3d40e7ff52b..5b69a332615 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "9.1.5";
+  version = "10.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PPag65ZMz9KZEe9FmiB42/DgeM0vJw5L0haAG/jBjqg=";
+    sha256 = "sha256-ZVexJt1CE7Q0j9QzrPFLYYSXzoWYtfw1BWwL/hnAkD0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/augeas/default.nix
index cf1d4544e4a..6b70f367526 100644
--- a/pkgs/development/python-modules/augeas/default.nix
+++ b/pkgs/development/python-modules/augeas/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
     # TODO: not very nice!
     postPatch =
-      let libname = if stdenv.isDarwin then "libaugeas.dylib" else "libaugeas.so";
+      let libname = "libaugeas${stdenv.hostPlatform.extensions.sharedLibrary}";
       in
       ''
         substituteInPlace augeas/ffi.py \
diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
index 02d2c6a013c..a6920815f0f 100644
--- a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "8.0.0";
+  version = "9.0.0";
   pname = "azure-mgmt-hdinsight";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c43f1a62e5b83304392b0ad7cfdaeef2ef2f47cb3fdfa2577b703b6ea126000";
+    sha256 = "41ebdc69c0d1f81d25dd30438c14fff4331f66639f55805b918b9649eaffe78a";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix
index 2f4552ca3f6..17d46940e25 100644
--- a/pkgs/development/python-modules/brother/default.nix
+++ b/pkgs/development/python-modules/brother/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "brother";
-  version = "1.0.2";
+  version = "1.1.0";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-xs/GIsJUuKKbDotV1BeT/ng86UVkNsH48uHR4i3vqow=";
+    sha256 = "sha256-ZDQIpzdr3XkYrSUgrBDZsUwUZRQCdJdvmniMezvJxzU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bugzilla/default.nix b/pkgs/development/python-modules/bugzilla/default.nix
index 365f3654298..03a1610ac7e 100644
--- a/pkgs/development/python-modules/bugzilla/default.nix
+++ b/pkgs/development/python-modules/bugzilla/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     description = "Bugzilla XMLRPC access module";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pierron peti ];
+    maintainers = with maintainers; [ pierron ];
   };
 }
diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix
index e414d863350..199894f1320 100644
--- a/pkgs/development/python-modules/deepdiff/default.nix
+++ b/pkgs/development/python-modules/deepdiff/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "deepdiff";
-  version = "5.5.0";
+  version = "5.6.0";
   format = "setuptools";
 
   # pypi source does not contain all fixtures required for tests
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "seperman";
     repo = "deepdiff";
     rev = version;
-    sha256 = "sha256-PQijGub0sAW0aBYI+Ir89SraXaWx7OcQ+txZSqodJ6w=";
+    sha256 = "sha256-ysaIeVefsTX7ZubOXaEzeS1kMyBp4/w3SHNFxsGVhzY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-mailman3/default.nix b/pkgs/development/python-modules/django-mailman3/default.nix
index c32136199ea..cc04bf0d441 100644
--- a/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/pkgs/development/python-modules/django-mailman3/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     description = "Django library for Mailman UIs";
     homepage = "https://gitlab.com/mailman/django-mailman3";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ globin peti qyliss ];
+    maintainers = with maintainers; [ globin qyliss ];
   };
 }
diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix
index 808c2916ddd..fb513a20c65 100644
--- a/pkgs/development/python-modules/dogtail/default.nix
+++ b/pkgs/development/python-modules/dogtail/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage {
   pname = "dogtail";
   version = "0.9.11";
 
+  outputs = [ "out" "dev" ];
+
   # https://gitlab.com/dogtail/dogtail/issues/1
   # src = fetchPypi {
   #   inherit pname version;
diff --git a/pkgs/development/python-modules/dragonfly/default.nix b/pkgs/development/python-modules/dragonfly/default.nix
new file mode 100644
index 00000000000..fb3feaae63e
--- /dev/null
+++ b/pkgs/development/python-modules/dragonfly/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, decorator
+, packaging
+, pynput
+, regex
+, lark-parser
+, enum34
+, pyperclip
+, six
+, requests
+, psutil
+, json-rpc
+, werkzeug
+, kaldi-active-grammar
+, sounddevice
+, webrtcvad
+, setuptools
+, xdotool
+, wmctrl
+, xorg
+}:
+
+buildPythonPackage rec {
+  pname = "dragonfly";
+  version = "0.32.0";
+
+  src = fetchFromGitHub {
+    owner = "dictation-toolbox";
+    repo = pname;
+    rev = version;
+    sha256 = "BUbIhc8as/DVx8/4VeQS9emOLGcWFujNCxesSEEBqKQ=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace 'lark-parser == 0.8.*' 'lark-parser'
+    substituteInPlace dragonfly/actions/keyboard/_x11_xdotool.py \
+      --replace 'xdotool = "xdotool"'${" "}'xdotool = "${xdotool}/bin/xdotool"'
+    substituteInPlace dragonfly/windows/x11_window.py \
+      --replace 'xdotool = "xdotool"'${" "}'xdotool = "${xdotool}/bin/xdotool"' \
+      --replace 'xprop = "xprop"'${" "}'xprop = "${xorg.xprop}/bin/xprop"' \
+      --replace 'wmctrl = "wmctrl"'${" "}'wmctrl = "${wmctrl}/bin/wmctrl"'
+  '';
+
+  propagatedBuildInputs = [
+    decorator
+    packaging
+    pynput
+    regex
+    lark-parser
+    enum34
+    pyperclip
+    six
+    requests
+    psutil
+    json-rpc
+    werkzeug
+    kaldi-active-grammar # for the Kaldi engine
+    sounddevice
+    webrtcvad
+    setuptools # needs pkg_resources at runtime
+  ];
+
+  # Too many tests fail because of the unusual environment or
+  # because of the missing dependencies for some of the engines.
+  doCheck = false;
+
+  pythonImportsCheck = [ "dragonfly" ];
+
+  meta = with lib; {
+    description = "Speech recognition framework allowing powerful Python-based scripting";
+    homepage = "https://github.com/dictation-toolbox/dragonfly";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 883ff8bcb61..f7cdca22307 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "carpedm20";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sxqw1y070cpg7102a6a1bha8s25vwdgfcjp9nzlrzgd2p6pav41";
+    sha256 = "0x18l8jgbki9yqx994w97dagfaqrbxi3sy2l2101is1dfjr0kib6";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index 66047c05222..b434a92923c 100644
--- a/pkgs/development/python-modules/google-api-core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5ec27b942b34d04559cbf3674430bb83fc3d74e7d32b8bbd31c4466e71740b83";
+    sha256 = "sha256-XsJ7lCs00EVZy/NnRDC7g/w9dOfTK4u9McRGbnF0C4M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index b4d34392c2e..b612a58c4f9 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c6267c7f018d86afc62dd8ec844a3e7189022a35ee239ed704cbda010888998";
+    sha256 = "sha256-dNgF7xC4sfWL04U53T0D+vEYj2TuPKQorAQtU59fVcc=";
   };
 
   # No tests included in archive
diff --git a/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 94802205086..1d23af5a3d4 100644
--- a/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a";
+    sha256 = "sha256-qQoHL2mT8sMnBnv2UnAEY4TNpajssguU6ppofx8jOno=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 48207890af8..69cd2662509 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2800f6dfad29c6ced5faf9ca0c38ea8ba1ebe2559b10c029bd021e3de3301627";
+    sha256 = "sha256-KAD2360pxs7V+vnKDDjqi6Hr4lWbEMApvQIePeMwFic=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix b/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
index 8f957053091..0bfd6945b12 100644
--- a/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-appengine-logging";
-  version = "0.1.5";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d31647238a8ee05abd0a860bf333ccdda3d6540059fbf3c75c28cf58ee8dc4e";
+    sha256 = "f10760c7df7052e63a79547b36fb439ab8a0f72fe28ff8356a0755c45ab75412";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index 5d6f3c750fe..cceda84be10 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ba0f7a363e747e0dbd4075420fde42b3e6c50e739ba80880757878978a8f4ff9";
+    sha256 = "sha256-ug96Nj50fg29QHVCD95Cs+bFDnObqAiAdXh4l4qPT/k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index a89c7eba690..9caa65ae1f9 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.3.4";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e0beee002f435236bf8026872ce34bd03c9d4f91467c79fc5e7cde591bd15596";
+    sha256 = "672a86089093e94ccbb3f95dd315f1152ecd239cfab49e1963d217929bab3bcc";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
index 9e46a9ecf3c..60aea98d9b0 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-logging";
-  version = "0.2.2";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2dc15be4fdcd574c23124bfc0a678c864581038c96b86275c7b41d9fced06534";
+    sha256 = "a85d11c28733792ee55218fce7786f51fdd013c79ff1d92531ffd50a8a51692c";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index e9690f5d179..b96d61bf672 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e2353d97e5292dc8ce54447b712fb9e89496e714b5cacfc3d536614d1c461dc";
+    sha256 = "sha256-DiNT2X5SktyM5URHtxL7nolJbnFLXKz8PVNmFNHEYdw=";
   };
 
   propagatedBuildInputs = [
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     # requires credentials
     "test_bigquery_magic"
     "TestBigQuery"
-    "test_query_retry_539"
+    "test_arrow_extension_types_same_for_storage_and_REST_APIs_894"
     "test_query_retry_539"
     "test_list_rows_empty_table"
     "test_list_rows_page_size"
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 39358062fc0..c388429e56a 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.9.0";
+  version = "2.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2454e8dd93093fe6f6ec8e6771f8a7dab19f1d02c629dbbe8972e84b5d9c01e0";
+    sha256 = "3804e37865b4d63ac39eac3f8f184225db16bbc69f201b4d54abe6b68f170e60";
   };
 
   propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-core/default.nix b/pkgs/development/python-modules/google-cloud-core/default.nix
index eebff5c82fc..657fe314b94 100644
--- a/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35a1f5f02a86e0fa2e28c669f0db4a76d928671a28fbbbb493ab59ba9d1cb9a9";
+    sha256 = "sha256-NaH18CqG4PouKMZp8NtKdtkoZxoo+7u0k6tZup0cuak=";
   };
 
   propagatedBuildInputs = [ google-api-core ];
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index fb14eed5059..1ea514ef9ec 100644
--- a/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "2.6.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "77b2a9fdf0f549a969c7d65d2c4fa54c531a07e5726695cbbdd2178c4afda866";
+    sha256 = "sha256-a81HBeNoLXSpJJJ0BBqJz24ls0TFMwiHJgkkNyHZGvo=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
@@ -30,12 +30,11 @@ buildPythonPackage rec {
   pythonImportsCheck = [
     "google.cloud.dataproc"
     "google.cloud.dataproc_v1"
-    "google.cloud.dataproc_v1beta2"
   ];
 
   meta = with lib; {
     description = "Google Cloud Dataproc API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
+    homepage = "https://github.com/googleapis/python-dataproc";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
index ee9ee8bdf35..f4b6301f218 100644
--- a/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -7,6 +7,7 @@
 , proto-plus
 , pytestCheckHook
 , pytest-asyncio
+, pytz
 , mock
 }:
 
@@ -16,10 +17,10 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e59e3f8d45f20650b5be9bb04bb74fad3445c3596a7fe1868e6d9fa857c83a34";
+    sha256 = "sha256-5Z4/jUXyBlC1vpuwS7dPrTRFw1lqf+GGjm2fqFfIOjQ=";
   };
 
-  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+  propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
 
   checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
 
diff --git a/pkgs/development/python-modules/google-cloud-dns/default.nix b/pkgs/development/python-modules/google-cloud-dns/default.nix
index 05b2d954c4b..3ce93893a94 100644
--- a/pkgs/development/python-modules/google-cloud-dns/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dns/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dns";
-  version = "0.33.1";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e4aa73fc6ca22764fd7294de19b602dff084d924c77366c136fb9c28e70ae739";
+    sha256 = "bd75d6e9fd456ce643ee936a113a1ead5405704515caa679db30d7f036e447f3";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core ];
diff --git a/pkgs/development/python-modules/google-cloud-firestore/default.nix b/pkgs/development/python-modules/google-cloud-firestore/default.nix
index bdd1e1583d9..50a08e66f36 100644
--- a/pkgs/development/python-modules/google-cloud-firestore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "714e1bc1fc51029d78aa64933bef2efc03daedc9565ea79ec91b843b052016ec";
+    sha256 = "sha256-cU4bwfxRAp14qmSTO+8u/APa7clWXqeeyRuEOwUgFuw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix
index 702deeb6eb6..da0fab4ce96 100644
--- a/pkgs/development/python-modules/google-cloud-iam/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iam/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iam";
-  version = "2.3.2";
+  version = "2.4.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c59ceebe2ff5d45a7367ddbe1a702bbbb010d6d3423d278797835d59e885fa50";
+    sha256 = "c5002e29febdd6c63a842e30709fa597742dae82181d8b062fe849d7d638047c";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-kms/default.nix b/pkgs/development/python-modules/google-cloud-kms/default.nix
index 8f77730bef4..3cba24e12bf 100644
--- a/pkgs/development/python-modules/google-cloud-kms/default.nix
+++ b/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e11402a6027e4244e0340bbff6b2669c0d30c4e526dc77801032d605b30cb92a";
+    sha256 = "sha256-4RQCpgJ+QkTgNAu/9rJmnA0wxOUm3HeAEDLWBbMMuSo=";
   };
 
   propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-language/default.nix b/pkgs/development/python-modules/google-cloud-language/default.nix
index 140f5be3cf7..ec3125926de 100644
--- a/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-X8lh+90HyyktxgJiRaiJF9ExKHmgiVcQiYDotg3AqaQ=";
+    sha256 = "feb7e04fc1e70ca6faf1b0b517ff1be644125283c54b24dd698f985afde6a2bf";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
index 95142cc6a5e..f96ce0a8f91 100644
--- a/pkgs/development/python-modules/google-cloud-org-policy/default.nix
+++ b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-org-policy";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e5489dffc6b6558125e548bc8c5be78f13d11bb9916470992816e6ed66a9d7fb";
+    sha256 = "8ad50ce9145c3b477536752785635295c318b2b123bc9d251020cc1cfe98b131";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix
index 5dc2f5eeadf..8b9f98a1b3f 100644
--- a/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-os-config";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4dc498d6fede223049c415f301ba1129ecaf628f31a77ae87d2678e6d71556f6";
+    sha256 = "204ecbe480e5e5abc17752ac2ac17877e0325f31ed7e57f019724c3041ecc1fa";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
index 1cd09dad1ba..94a1a5e342d 100644
--- a/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de06c205bfa39f3e211364f4d89b121b1a05488560d940d339a44c2825e1d6f8";
+    sha256 = "sha256-3gbCBb+jnz4hE2T02JsSGxoFSIVg2UDTOaRMKCXh1vg=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index 80023aeb5e9..df6a16377b5 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7754d4dcaa45975514b404ece0da2bb4292acbc67ca559a69e12a19d54fcdb06";
+    sha256 = "sha256-d1TU3KpFl1UUtATs4NortCkqy8Z8pVmmnhKhnVT82wY=";
   };
 
   propagatedBuildInputs = [
@@ -57,9 +57,12 @@ buildPythonPackage rec {
     "tests/conformance/test_conformance.py" # requires docker
   ];
 
-  # prevent google directory from shadowing google imports
   preCheck = ''
+    # prevent google directory from shadowing google imports
     rm -r google
+
+    # requires docker and network
+    rm tests/conformance/test_conformance.py
   '';
 
   pythonImportsCheck = [ "google.cloud.storage" ];
diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix
index 5e9cfaa747f..ced64648602 100644
--- a/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "731b8b699e1c05db16b327d1a9be0d275f9159948986f4d3725605f6ecba40ce";
+    sha256 = "sha256-cxuLaZ4cBdsWsyfRqb4NJ1+RWZSJhvTTclYF9uy6QM4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index d1306801188..23698885aba 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "46a16f745e2c6034e0cf4b997ea3a7d6dadc4905faaab6d41fcf7de7bcdb5285";
+    sha256 = "sha256-RqFvdF4sYDTgz0uZfqOn1trcSQX6qrbUH89957zbUoU=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus];
diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix
index 2eedaaece69..33816631584 100644
--- a/pkgs/development/python-modules/ifcopenshell/default.nix
+++ b/pkgs/development/python-modules/ifcopenshell/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     "-DOPENCOLLADA_LIBRARY_DIR=${opencollada}/lib/opencollada"
     "-DSWIG_EXECUTABLE=${swig}/bin/swig"
     "-DLIBXML2_INCLUDE_DIR=${libxml2.dev}/include/libxml2"
-    "-DLIBXML2_LIBRARIES=${libxml2.out}/lib/${if stdenv.isDarwin then "libxml2.dylib" else "libxml2.so"}"
+    "-DLIBXML2_LIBRARIES=${libxml2.out}/lib/libxml2${stdenv.hostPlatform.extensions.sharedLibrary}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix
index 306d242d68a..3faf61d169b 100644
--- a/pkgs/development/python-modules/iminuit/default.nix
+++ b/pkgs/development/python-modules/iminuit/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "iminuit";
-  version = "2.8.3";
+  version = "2.8.4";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e22d81a53ce3316f0253bf0b7831bd72ac1122ca78896c2ee2e585178c5c9ae";
+    sha256 = "4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/intensity-normalization/default.nix b/pkgs/development/python-modules/intensity-normalization/default.nix
index d884e7ff45c..e3f09860e89 100644
--- a/pkgs/development/python-modules/intensity-normalization/default.nix
+++ b/pkgs/development/python-modules/intensity-normalization/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "intensity-normalization";
-  version = "2.0.2";
+  version = "2.0.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f963e90671fec51d1b248862a9bcc4639c1d6d3b1dbc1ee34d042cb765d8730a";
+    sha256 = "d6f2ac360f51f5314e690272cb26c454e6deab69ef48a7c650ea760247d1d4db";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/0001-stub.patch b/pkgs/development/python-modules/kaldi-active-grammar/0001-stub.patch
new file mode 100644
index 00000000000..4ebe5472b44
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/0001-stub.patch
@@ -0,0 +1,156 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 66e6d49..78f7b42 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,23 +1,6 @@
+ cmake_minimum_required(VERSION 3.13.0)
+ project(kaldi_binaries)
+ 
+-include(ExternalProject)
+-include(ProcessorCount)
+-
+-ProcessorCount(NCPU)
+-if(NOT NCPU EQUAL 0)
+-  set(MAKE_FLAGS -j${NCPU})
+-endif()
+-
+-set(DST ${PROJECT_SOURCE_DIR}/kaldi_active_grammar/exec)
+-if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
+-  set(DST ${DST}/macos/)
+-elseif("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Linux")
+-  set(DST ${DST}/linux/)
+-else()
+-  set(DST ${DST}/windows/)
+-endif()
+-
+ set(BINARIES
+   tools/openfst/bin/fstarcsort${CMAKE_EXECUTABLE_SUFFIX}
+   tools/openfst/bin/fstcompile${CMAKE_EXECUTABLE_SUFFIX}
+@@ -29,63 +12,6 @@ set(LIBRARIES
+   src/lib/libkaldi-dragonfly${CMAKE_SHARED_LIBRARY_SUFFIX}
+   )
+ 
+-# For MacOS, we handle all the "indirect" shared libraries manually.
+-if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
+-  list(APPEND LIBRARIES
+-    tools/openfst/lib/libfst${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    tools/openfst/lib/libfstscript${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-base${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-chain${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-cudamatrix${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-decoder${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-feat${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-fstext${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-gmm${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-hmm${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-ivector${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-lat${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-lm${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-matrix${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-nnet2${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-nnet3${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-online2${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-rnnlm${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-transform${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-tree${CMAKE_SHARED_LIBRARY_SUFFIX}
+-    src/lib/libkaldi-util${CMAKE_SHARED_LIBRARY_SUFFIX}
+-  )
+-endif()
+-
+-if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
+-  message(FATAL_ERROR "CMake build not supported on Windows")
+-  # FIXME: copy files?
+-  # https://cmake.org/cmake/help/latest/command/foreach.html
+-  # https://stackoverflow.com/questions/34799916/copy-file-from-source-directory-to-binary-directory-using-cmake
+-endif()  
+-
+-find_program(MAKE_EXE NAMES make gmake nmake)
+-
+-if(DEFINED ENV{INTEL_MKL_DIR})
+-  # Default: INTEL_MKL_DIR=/opt/intel/mkl/
+-  message("Compiling with MKL in: $ENV{INTEL_MKL_DIR}")
+-  set(KALDI_CONFIG_FLAGS --shared --static-math --use-cuda=no --mathlib=MKL --mkl-root=$ENV{INTEL_MKL_DIR})
+-  set(MATHLIB_BUILD_COMMAND true)
+-else()  
+-  message("Compiling with OpenBLAS")
+-  set(KALDI_CONFIG_FLAGS --shared --static-math --use-cuda=no --mathlib=OPENBLAS)
+-  set(MATHLIB_BUILD_COMMAND cd tools
+-    && git clone -b v0.3.13 --single-branch https://github.com/xianyi/OpenBLAS
+-    && ${MAKE_EXE} ${MAKE_FLAGS} -C OpenBLAS DYNAMIC_ARCH=1 TARGET=GENERIC USE_LOCKING=1 USE_THREAD=0 all
+-    && ${MAKE_EXE} ${MAKE_FLAGS} -C OpenBLAS PREFIX=install install
+-    && cd ..)
+-endif()
+-
+-if(DEFINED ENV{KALDI_BRANCH})
+-  set(KALDI_BRANCH $ENV{KALDI_BRANCH})
+-else()
+-  message(FATAL_ERROR "KALDI_BRANCH not set! Use 'origin/master'?")
+-  # set(KALDI_BRANCH "origin/master")
+-endif()
+ 
+ message("MAKE_EXE                  = ${MAKE_EXE}")
+ message("PYTHON_EXECUTABLE         = ${PYTHON_EXECUTABLE}")
+@@ -99,63 +25,4 @@ message("CMAKE_CURRENT_BINARY_DIR  = ${CMAKE_CURRENT_BINARY_DIR}")
+ 
+ # CXXFLAGS are set and exported in kaldi-configure-wrapper.sh
+ 
+-if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
+-  set(STRIP_LIBS_COMMAND find src/lib tools/openfst/lib -name *${CMAKE_SHARED_LIBRARY_SUFFIX} | xargs strip)
+-  set(STRIP_DST_COMMAND find ${DST} | xargs strip)
+-  if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
+-    list(APPEND STRIP_LIBS_COMMAND -x)
+-    list(APPEND STRIP_DST_COMMAND -x)
+-  endif()
+-  ExternalProject_Add(kaldi
+-    GIT_CONFIG        advice.detachedHead=false
+-    GIT_REPOSITORY    https://github.com/daanzu/kaldi-fork-active-grammar.git
+-    GIT_TAG           ${KALDI_BRANCH}
+-    GIT_SHALLOW       TRUE
+-    CONFIGURE_COMMAND sed -i.bak -e "s/status=0/exit 0/g" tools/extras/check_dependencies.sh && cp ${PROJECT_SOURCE_DIR}/building/kaldi-configure-wrapper.sh src/
+-    BUILD_IN_SOURCE   TRUE
+-    BUILD_COMMAND     ${MATHLIB_BUILD_COMMAND} && cd tools && ${MAKE_EXE} ${MAKE_FLAGS} && cd openfst && autoreconf && cd ../../src && bash ./kaldi-configure-wrapper.sh ./configure ${KALDI_CONFIG_FLAGS} && ${MAKE_EXE} ${MAKE_FLAGS} depend && ${MAKE_EXE} ${MAKE_FLAGS} dragonfly dragonflybin bin fstbin lmbin
+-    LIST_SEPARATOR    " "
+-    INSTALL_COMMAND   ${STRIP_LIBS_COMMAND} && mkdir -p ${DST} && cp ${BINARIES} ${LIBRARIES} ${DST}
+-    )
+-endif()
+-
+-# Fix dynamic libraries loading paths on macOS.  The libraries and
+-# executables are built with RPATH settings embedded in them, pointing
+-# to the locations in temporary directories used to build the
+-# binaries.  After package installation is done, these directories are
+-# deleted and the dynamic libraries cannot be loaded.  The following
+-# commands generate a shell script that fixes the paths to the dynamic
+-# libraries in the built executables and the libraries themselves.
+-# Also the commands add a custom target to invoke the generated script
+-# after the external project (kaldi) has been built.  An alternative
+-# would be to change the kaldi engine build system to accept a path to
+-# where the binaries would be placed and point RPATH to that location.
+-if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
+-  string (REPLACE ";" " " BINARIES_STR "${BINARIES}")
+-  string (REPLACE ";" " " LIBRARIES_STR "${LIBRARIES}")
+-  file(GENERATE OUTPUT name_fixer
+-    CONTENT
+-    "for a in ${BINARIES_STR} ; do
+-       a_bare=$\{a##*/\}
+-       install_name_tool -change ${PROJECT_BINARY_DIR}/kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfst.10.dylib \"@loader_path/libfst.dylib\" ${DST}$a_bare
+-       install_name_tool -change ${PROJECT_BINARY_DIR}/kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfstscript.10.dylib \"@loader_path/libfstscript.dylib\" ${DST}$a_bare
+-       for b in ${LIBRARIES_STR} ; do
+-          b_bare=$\{b##*/\}
+-         install_name_tool -change \"@rpath/$b_bare\" \"@loader_path/$b_bare\" ${DST}$a_bare
+-       done
+-     done
+-     for a in ${LIBRARIES_STR} ; do
+-       a_bare=$\{a##*/\}
+-       install_name_tool -id \"@loader_path/$a_bare\" ${DST}$a_bare
+-       install_name_tool -change ${PROJECT_BINARY_DIR}/kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfst.10.dylib \"@loader_path/libfst.dylib\" ${DST}$a_bare
+-       install_name_tool -change ${PROJECT_BINARY_DIR}/kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfstscript.10.dylib \"@loader_path/libfstscript.dylib\" ${DST}$a_bare
+-       for b in ${LIBRARIES_STR} ; do
+-          b_bare=$\{b##*/\}
+-         install_name_tool -change \"@rpath/$b_bare\" \"@loader_path/$b_bare\" ${DST}$a_bare
+-       done
+-     done")
+-  add_custom_target(fixer ALL COMMAND /bin/sh name_fixer)
+-  add_dependencies(fixer kaldi)
+-endif()
+-
+ install(CODE "MESSAGE(\"Installed kaldi engine binaries.\")")
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/0002-exec-path.patch b/pkgs/development/python-modules/kaldi-active-grammar/0002-exec-path.patch
new file mode 100644
index 00000000000..60f50d707db
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/0002-exec-path.patch
@@ -0,0 +1,34 @@
+diff --git a/kaldi_active_grammar/utils.py b/kaldi_active_grammar/utils.py
+index 0b70c7f..21e1d62 100644
+--- a/kaldi_active_grammar/utils.py
++++ b/kaldi_active_grammar/utils.py
+@@ -79,7 +79,7 @@ elif sys.platform.startswith('linux'): platform = 'linux'
+ elif sys.platform.startswith('darwin'): platform = 'macos'
+ else: raise KaldiError("unknown sys.platform")
+ 
+-exec_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'exec', platform)
++exec_dir = '/'
+ library_extension = dict(windows='.dll', linux='.so', macos='.dylib')[platform]
+ subprocess_seperator = '^&' if platform == 'windows' else ';'
+ 
+@@ -89,13 +89,13 @@ class ExternalProcess(object):
+ 
+     shell = ush.Shell(raise_on_error=True)
+ 
+-    fstcompile = shell(os.path.join(exec_dir, 'fstcompile'))
+-    fstarcsort = shell(os.path.join(exec_dir, 'fstarcsort'))
+-    fstaddselfloops = shell(os.path.join(exec_dir, 'fstaddselfloops'))
+-    fstinfo = shell(os.path.join(exec_dir, 'fstinfo'))
+-    # compile_graph = shell(os.path.join(exec_dir, 'compile-graph'))
+-    compile_graph_agf = shell(os.path.join(exec_dir, 'compile-graph-agf'))
+-    # compile_graph_agf_debug = shell(os.path.join(exec_dir, 'compile-graph-agf-debug'))
++    fstcompile = shell('fstcompile')
++    fstarcsort = shell('fstarcsort')
++    fstaddselfloops = shell('fstaddselfloops')
++    fstinfo = shell('fstinfo')
++    # compile_graph = shell('compile-graph')
++    compile_graph_agf = shell('compile-graph-agf')
++    # compile_graph_agf_debug = shell('compile-graph-agf-debug')
+ 
+     make_lexicon_fst = shell([sys.executable, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'kaldi', 'make_lexicon_fst%s.py' % ('_py2' if PY2 else ''))])
+ 
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/0003-ffi-path.patch b/pkgs/development/python-modules/kaldi-active-grammar/0003-ffi-path.patch
new file mode 100644
index 00000000000..19fd8692e57
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/0003-ffi-path.patch
@@ -0,0 +1,13 @@
+diff --git a/kaldi_active_grammar/ffi.py b/kaldi_active_grammar/ffi.py
+index 936ed35..1eb2f3d 100644
+--- a/kaldi_active_grammar/ffi.py
++++ b/kaldi_active_grammar/ffi.py
+@@ -15,7 +15,7 @@ from cffi import FFI
+ from .utils import exec_dir, platform
+ 
+ _ffi = FFI()
+-_library_binary_path = os.path.join(exec_dir, dict(windows='kaldi-dragonfly.dll', linux='libkaldi-dragonfly.so', macos='libkaldi-dragonfly.dylib')[platform])
++_library_binary_path = os.path.join('@kaldiFork@', dict(windows='kaldi-dragonfly.dll', linux='libkaldi-dragonfly.so', macos='libkaldi-dragonfly.dylib')[platform])
+ _c_source_ignore_regex = re.compile(r'(\b(extern|DRAGONFLY_API)\b)|("C")|(//.*$)', re.MULTILINE)  # Pattern for extraneous stuff to be removed
+ 
+ def encode(text):
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/0004-fork-cmake.patch b/pkgs/development/python-modules/kaldi-active-grammar/0004-fork-cmake.patch
new file mode 100644
index 00000000000..b5ae7bc607f
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/0004-fork-cmake.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ededc78b8..7ee1879a5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -188,6 +188,7 @@ add_subdirectory(src/ivector)
+ add_subdirectory(src/online)

+ add_subdirectory(src/online2)

+ add_subdirectory(src/kws)

++add_subdirectory(src/dragonfly)

+ 

+ add_subdirectory(src/itf)

+ 

+@@ -219,6 +220,7 @@ add_subdirectory(src/ivectorbin)
+ add_subdirectory(src/onlinebin)

+ add_subdirectory(src/online2bin)

+ add_subdirectory(src/kwsbin)

++add_subdirectory(src/dragonflybin)

+ 

+ # add all cuda executables

+ if(CUDA_FOUND)

diff --git a/pkgs/development/python-modules/kaldi-active-grammar/0006-fork-configure.patch b/pkgs/development/python-modules/kaldi-active-grammar/0006-fork-configure.patch
new file mode 100644
index 00000000000..8467b83f00c
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/0006-fork-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/src/configure b/src/configure
+index 1186c6d12..4ad355e64 100755
+--- a/src/configure
++++ b/src/configure
+@@ -1045,9 +1045,6 @@ echo "AS = $AS" >> kaldi.mk
+ echo "RANLIB = $RANLIB" >> kaldi.mk
+ echo >> kaldi.mk
+ 
+-echo "Checking compiler $CXX ..."
+-check_compiler $CXX
+-
+ echo "# Base configuration" >> kaldi.mk
+ echo >> kaldi.mk
+ if $dynamic_kaldi ; then
+@@ -1066,11 +1063,6 @@ if [ ! -f $FSTROOT/include/fst/fst.h  ]; then
+   failure "Could not find file $FSTROOT/include/fst/fst.h:
+   you may not have installed OpenFst. See ../tools/INSTALL"
+ fi
+-OPENFST_VER=${OPENFST_VER:-$(grep 'PACKAGE_VERSION' $FSTROOT/Makefile | sed -e 's:.*= ::')}
+-OPENFST_VER_NUM=$(echo $OPENFST_VER | sed 's/\./ /g' | xargs printf "%d%02d%02d")
+-if [ $OPENFST_VER_NUM -lt 10600 ]; then
+-  failure "OpenFst-$OPENFST_VER is not supported. You need OpenFst >= 1.6.0.)"
+-fi
+ echo "OPENFSTINC = $FSTROOT/include" >> kaldi.mk
+ if $static_fst ; then
+   OPENFSTLIBS="$FSTROOT/lib/libfst.a"
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/default.nix b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
new file mode 100644
index 00000000000..f7d4738ebca
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, scikit-build
+, cmake
+, ush
+, requests
+, numpy
+, cffi
+, openfst
+, substituteAll
+, callPackage
+}:
+
+let
+  kaldi = callPackage ./fork.nix { };
+in
+buildPythonPackage rec {
+  pname = "kaldi-active-grammar";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "daanzu";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "ArbwduoH7mMmIjlFfYAFvcpR39rrkVUJhYEyQzZqsbY=";
+  };
+
+  KALDI_BRANCH = "foo";
+  KALDIAG_SETUP_RAW = "1";
+
+  patches = [
+    # Makes sure scikit-build doesn't try to build the dependencies for us
+    ./0001-stub.patch
+    # Uses the dependencies' binaries from $PATH instead of a specific directory
+    ./0002-exec-path.patch
+    # Makes it dynamically link to the correct Kaldi library
+    (substituteAll {
+      src = ./0003-ffi-path.patch;
+      kaldiFork = "${kaldi}/lib";
+    })
+  ];
+
+  # scikit-build puts us in the wrong folder. That is bad.
+  preBuild = ''
+    cd ..
+  '';
+
+  buildInputs = [ openfst kaldi ];
+  nativeBuildInputs = [ scikit-build cmake ];
+  propagatedBuildInputs = [ ush requests numpy cffi ];
+
+  meta = with lib; {
+    description = "Python Kaldi speech recognition";
+    homepage = "https://github.com/daanzu/kaldi-active-grammar";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ ckie ];
+    # Other platforms are supported upstream.
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/fork.nix b/pkgs/development/python-modules/kaldi-active-grammar/fork.nix
new file mode 100644
index 00000000000..ba14aec768c
--- /dev/null
+++ b/pkgs/development/python-modules/kaldi-active-grammar/fork.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, blas
+, lapack
+, openfst
+, icu
+, pkg-config
+, fetchFromGitHub
+, git
+, python3
+, openblas
+, zlib
+, gfortran
+}:
+
+let
+  old-openfst = openfst.overrideAttrs (self: {
+    src = fetchFromGitHub {
+      owner = "kkm000";
+      repo = "openfst";
+      rev = "0bca6e76d24647427356dc242b0adbf3b5f1a8d9";
+      sha256 = "1802rr14a03zl1wa5a0x1fa412kcvbgprgkadfj5s6s3agnn11rx";
+    };
+    buildInputs = [ zlib ];
+  }); in
+
+assert blas.implementation == "openblas" && lapack.implementation == "openblas";
+
+stdenv.mkDerivation rec {
+  pname = "kaldi";
+  version = "kag-v2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "daanzu";
+    repo = "kaldi-fork-active-grammar";
+    rev = version;
+    sha256 = "+kT2xJRwDj/ECv/v/J1FpsINWOK8XkP9ZvZ9moFRl70=";
+  };
+
+  patches = [
+    ./0004-fork-cmake.patch
+    ./0006-fork-configure.patch
+  ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    openblas
+    old-openfst
+    icu
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    python3
+    gfortran
+  ];
+
+  buildFlags = [
+    "dragonfly"
+    "dragonflybin"
+    "bin"
+    "fstbin"
+    "lmbin"
+  ];
+
+  postPatch = ''
+    # Replace the shebangs for the various build scripts
+    patchShebangs src
+  '';
+
+  configurePhase = ''
+    cd src
+    ./configure --shared --fst-root="${old-openfst}" --use-cuda=no --openblas-root="${openblas}" --mathlib=OPENBLAS
+  '';
+
+  installPhase = ''
+    # Fixes "patchelf: wrong ELF type"
+    find . -type f -name "*.o" -print0 | xargs -0 rm -f
+    mkdir -p $out/{bin,lib}
+    cp lib/* $out/lib/
+    patchelf \
+      --set-rpath "${lib.makeLibraryPath buildInputs}:$out/lib" \
+      $out/lib/*
+  '';
+
+  meta = with lib; {
+    description = "Speech Recognition Toolkit";
+    homepage = "https://kaldi-asr.org";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ckie ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/mailman-hyperkitty/default.nix b/pkgs/development/python-modules/mailman-hyperkitty/default.nix
index d5bf6457336..3bf996fa714 100644
--- a/pkgs/development/python-modules/mailman-hyperkitty/default.nix
+++ b/pkgs/development/python-modules/mailman-hyperkitty/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "Mailman archiver plugin for HyperKitty";
     homepage = "https://gitlab.com/mailman/mailman-hyperkitty";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ globin peti qyliss ];
+    maintainers = with maintainers; [ globin qyliss ];
   };
 }
diff --git a/pkgs/development/python-modules/mailmanclient/default.nix b/pkgs/development/python-modules/mailmanclient/default.nix
index 55b3b7bc14f..7aafe6e61e8 100644
--- a/pkgs/development/python-modules/mailmanclient/default.nix
+++ b/pkgs/development/python-modules/mailmanclient/default.nix
@@ -17,6 +17,6 @@ buildPythonPackage rec {
     description = "REST client for driving Mailman 3";
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ peti globin qyliss ];
+    maintainers = with maintainers; [ globin qyliss ];
   };
 }
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index d16260dd57e..96f333fcf8a 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -1,41 +1,41 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, git
-, poetry-core
-, attrs
-, future
+, Logbook
+, aiofiles
 , aiohttp
 , aiohttp-socks
-, aiofiles
+, aioresponses
+, atomicwrites
+, attrs
+, cachetools
+, faker
+, future
+, git
 , h11
 , h2
-, Logbook
+, hypothesis
 , jsonschema
-, unpaddedbase64
-, pycryptodome
-, python-olm
 , peewee
-, cachetools
-, atomicwrites
-, pytestCheckHook
-, faker
-, aioresponses
-, hypothesis
+, poetry-core
+, pycryptodome
 , pytest-aiohttp
 , pytest-benchmark
+, pytestCheckHook
+, python-olm
+, unpaddedbase64
 }:
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.18.3";
+  version = "0.18.7";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    sha256 = "1sjdqzlk8vgv0748ayhnadw1bip3i4bfga4knb94cfkd3s4rgb39";
+    hash = "sha256-eti9kvfv3y7m+mJzcxftyn8OyVSd2Ehqd3eU2ezMV5Q=";
   };
 
   postPatch = ''
@@ -50,26 +50,26 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    attrs
-    future
+    Logbook
+    aiofiles
     aiohttp
     aiohttp-socks
-    aiofiles
+    atomicwrites
+    attrs
+    cachetools
+    future
     h11
     h2
-    Logbook
     jsonschema
-    unpaddedbase64
+    peewee
     pycryptodome
     python-olm
-    peewee
-    cachetools
-    atomicwrites
+    unpaddedbase64
   ];
 
   checkInputs = [
-    faker
     aioresponses
+    faker
     hypothesis
     pytest-aiohttp
     pytest-benchmark
@@ -83,8 +83,8 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A Python Matrix client library, designed according to sans I/O principles";
     homepage = "https://github.com/poljar/matrix-nio";
+    description = "A Python Matrix client library, designed according to sans I/O principles";
     license = licenses.isc;
     maintainers = with maintainers; [ tilpner emily symphorien ];
   };
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index 32039728eb7..17f3ff34ba5 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.18.59";
+  version = "1.18.60";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "900615dd82ba9267ccf531734a1422272ac7b53d3256c17acea6c620fbe8ca1e";
+    sha256 = "4881fdbb41a74a15076c12285abd925a40e29d9f1b06d92b4d7cb12e8d208ae0";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index 914fd4fa256..6142972c0c9 100644
--- a/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "1.1.0";
+  version = "1.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YfRPfOJ0uEBounRMSUHcjNASLBqEwS2nVJKbsfrSpGQ=";
+    sha256 = "sha256-OIB1d6XtstUr5P0q/dmyJS7+UbtkFQIiuSnzwcdP1mE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 291ceb90e32..82831acca03 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.51";
+  version = "2.1.52";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "32c5bf3926c1ac001d57f6b7569fc1fdd7ccfe747190f2e61d6baf610811beb8";
+    sha256 = "6ab60a316892e6e7c6a39cdcbd324d2c3d763b2fe60f381a6fe34b671f24b6e0";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index 272b9175fdc..8b8d2ed488b 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.21.3";
+  version = "1.22.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f73f1d477cda12a7b784be73c8a0c06c71e4284ef90cae4883cbc7c524b95fbf";
+    sha256 = "c5172252fc92142ec104cd5e7231be4580a1a0a814403707bafbf7bb8383a29a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index a4e50d1d469..c3b34b1fc19 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -3,27 +3,32 @@
 , fetchPypi
 , isPy3k
 , setuptools
-, pytest-cov
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "3.6";
+  version = "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1594d536137b888556b7187d25355ba88b3a14ef0d8aacccef15bfed74cf0af9";
+    sha256 = "3f0f36cebdb68d5b3aaacb11cbf09db44250194845fbf3b49b0aef93c30991bf";
   };
 
   disabled = !isPy3k;
 
+  # ModuleNotFoundError: No module named 'pkg_resources'
   propagatedBuildInputs = [ setuptools ];
 
-  checkInputs = [ pytest pytest-cov ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=pglast --cov-report term-missing" ""
+  '';
 
-  pythonImportsCheck = [ "pglast" ];
+  checkInputs = [ pytest ];
 
+  # pytestCheckHook doesn't work
+  # ImportError: cannot import name 'parse_sql' from 'pglast'
   checkPhase = ''
     pytest
   '';
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 39c7e077a62..4235f6eeb93 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.34";
+  version = "8.12.35";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d0f3db2944130f4a842f37a3b252f4a32cc0454a1a2e992c6480c7c17f1b121";
+    sha256 = "f426d419aabf6366c27ef1193918cc55217ef0e8be8f09cbf0667131037ca229";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/progressbar2/default.nix b/pkgs/development/python-modules/progressbar2/default.nix
index 972c0f0bb75..72b0bcfa197 100644
--- a/pkgs/development/python-modules/progressbar2/default.nix
+++ b/pkgs/development/python-modules/progressbar2/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "progressbar2";
-  version = "3.53.3";
+  version = "3.54.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4e1c2d48e608850c59f793d6e74ccdebbcbaac7ffe917d45e9646ec0d664d6d";
+    sha256 = "d878893cda2f477c63b5bd0f7f5301f03dd0a81c02554a1f2c5562036369376a";
   };
 
   propagatedBuildInputs = [ python-utils ];
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index 3a5d68f37e4..961ca5badbe 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybullet";
-  version = "3.1.9";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6fb4d48d5ba9c09cdd1ed732e8a1d48b41bca379e072268af3831774d8391300";
+    sha256 = "df02fb0ab74a6e7c4e1d7a3e2ffd7e4760a30cdeccb9fa6dd19f334122ec00f2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix
index 6db3eaae2bd..7f3b3f5da8f 100644
--- a/pkgs/development/python-modules/pyvicare/default.nix
+++ b/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "2.9.1";
+  version = "2.13.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "somm15";
     repo = "PyViCare";
     rev = version;
-    sha256 = "sha256-Uzz2mWBT5BaMxYeR6YFIP1BqTWye1Hz9CTTg/bg4kSU=";
+    sha256 = "sha256-v1twWyxd0nhXxvbRCbnH5TP736eeDYE5Nz62sf6HIcA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/recommonmark/default.nix b/pkgs/development/python-modules/recommonmark/default.nix
index 8ad1e6f7dfa..48d92d43ec6 100644
--- a/pkgs/development/python-modules/recommonmark/default.nix
+++ b/pkgs/development/python-modules/recommonmark/default.nix
@@ -10,14 +10,13 @@
 
 buildPythonPackage rec {
   pname = "recommonmark";
-  version = "0.6.0";
+  version = "0.7.1";
 
-  # PyPI tarball is missing some test files: https://github.com/rtfd/recommonmark/pull/128
   src = fetchFromGitHub {
     owner = "rtfd";
     repo = pname;
     rev = version;
-    sha256 = "0m6qk17irka448vcz5b39yck1qsq90k98dmkx80mni0w00yq9ggd";
+    sha256 = "0kwm4smxbgq0c0ybkxfvlgrfb3gq9amdw94141jyykk9mmz38379";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/sopel/default.nix b/pkgs/development/python-modules/sopel/default.nix
index ec4947ebfc4..09becb97236 100644
--- a/pkgs/development/python-modules/sopel/default.nix
+++ b/pkgs/development/python-modules/sopel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sopel";
-  version = "7.1.4";
+  version = "7.1.5";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d778ec2b92866eddf97d0809968bc5f9887cb5a000a518a4b67d8eb999cb775c";
+    sha256 = "9511dce6d23abdaa47d39d8e222c6b49206bf92e19f4acaf4966b2d402bb6541";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx_rtd_theme/default.nix b/pkgs/development/python-modules/sphinx_rtd_theme/default.nix
index f5ec90755c1..1d890de94f7 100644
--- a/pkgs/development/python-modules/sphinx_rtd_theme/default.nix
+++ b/pkgs/development/python-modules/sphinx_rtd_theme/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "sphinx_rtd_theme";
-  version = "0.5.2";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "32bd3b5d13dc8186d7a42fc816a23d32e83a4827d7d9882948e7b837c232da5a";
+    sha256 = "0p3abj91c3l72ajj5jwblscsdf1jflrnn0djx2h5y6f2wjbx9ipf";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index dc7aea0c3bf..3d1a8f8af67 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "21.1.0";
+  version = "21.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9d2d890532e8db83c6977a2a676fb1889922ff0c26ad4dc0ecac26f9fafbc57";
+    sha256 = "7ac42b565e1295712313f91edbcb64e0840a9037d888c8954f11fa6c43270e99";
   };
 
   checkInputs = [ pytest pytest-asyncio pretend freezegun simplejson twisted ]
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 9b834fe5c5b..943bbd22c7f 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -31,12 +31,12 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "3.0.1";
+  version = "3.0.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WpqkCAwDYb6L+W4VTC/1auGVbblnNYwBxbk+tZbAiBw=";
+    sha256 = "5dcd2c5cbf2f419da00abde00798d067b515c2f082ce63f4fbe1de47682c1c41";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index f6b2f180733..b7b863101b2 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1xkr0pmz458vh8b90ydykmgddhisay347vp48j50d1v0a55xvqsa";
+    sha256 = "0pb0kgddyzpipa0sqrkwyg1jgh95726irb306lr0pyyg0rsk54k7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/timecop/default.nix b/pkgs/development/python-modules/timecop/default.nix
new file mode 100644
index 00000000000..272657dfaaf
--- /dev/null
+++ b/pkgs/development/python-modules/timecop/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "timecop";
+  version = "0.5.0dev";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zbi58sw2yp1qchzfhyi7bsrwxajiypphg65fir98kvj03g011wd";
+  };
+
+  # test_epoch fails, see https://github.com/bluekelp/pytimecop/issues/4
+  preCheck = ''
+    sed -i 's/test_epoch/_test_epoch/' timecop/tests/test_freeze.py
+  '';
+
+  meta = with lib; {
+    description = "A port of the most excellent TimeCop Ruby Gem for Python";
+    homepage = "https://github.com/bluekelp/pytimecop";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ zakame ];
+  };
+}
diff --git a/pkgs/development/python-modules/ush/default.nix b/pkgs/development/python-modules/ush/default.nix
new file mode 100644
index 00000000000..d7a90bcb9e8
--- /dev/null
+++ b/pkgs/development/python-modules/ush/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook}:
+
+buildPythonPackage rec {
+  pname = "ush";
+  version = "3.1.0";
+
+  src = fetchFromGitHub {
+    owner = "tarruda";
+    repo = "python-ush";
+    rev = version;
+    sha256 = "sha256-eL3vG3yS02enbLYorKvvYKbju9HInffUhrZgkodwhvo=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTestPaths = [
+    # seems to be outdated?
+    "tests/test_glob.py"
+  ];
+
+  meta = with lib; {
+    description = "Powerful API for invoking with external commands";
+    homepage = "https://github.com/tarruda/python-ush";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix
index b9d6b715166..603aae8585d 100644
--- a/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/pkgs/development/python-modules/velbus-aio/default.nix
@@ -1,4 +1,5 @@
 { lib
+, backoff
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
@@ -8,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2021.9.4";
+  version = "2021.10.1";
 
   disabled = pythonOlder "3.7";
 
@@ -16,10 +17,11 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WywJ70tVniUX9RZTh9aswHgCEvWTggzABhSWoSRydUc=";
+    sha256 = "sha256-vE25b95tWxsB+uJNVpXtY5AcJZo5qsBm6Jug1ckhz7k=";
   };
 
   propagatedBuildInputs = [
+    backoff
     pyserial-asyncio
   ];
 
@@ -27,7 +29,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ " velbusaio" ];
+  pythonImportsCheck = [
+    "velbusaio"
+  ];
 
   meta = with lib; {
     description = "Python library to support the Velbus home automation system";
diff --git a/pkgs/development/python-modules/versioneer/default.nix b/pkgs/development/python-modules/versioneer/default.nix
index 5336420c79a..868ad5fed96 100644
--- a/pkgs/development/python-modules/versioneer/default.nix
+++ b/pkgs/development/python-modules/versioneer/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "versioneer";
-  version = "0.20";
+  version = "0.21";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Ljk2AOwnF7efWcmE942TX3bkbEyu+HWoe4tO1gLy/2U=";
+    sha256 = "64f2dbcbbed15f9a6da2b85f643997db729cf496cafdb97670fb2fa73a7d8e20";
   };
 
   # Couldn't get tests to work because, for instance, they used virtualenv and
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
index 084225a8f5e..f810510b562 100644
--- a/pkgs/development/tools/build-managers/shards/default.nix
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -1,10 +1,11 @@
 { lib
 , fetchFromGitHub
-, crystal_1_0
+, crystal
 }:
+
 let
   generic =
-    { version, sha256, crystal }:
+    { version, sha256 }:
 
     crystal.buildCrystalPackage {
       pname = "shards";
@@ -39,8 +40,12 @@ rec {
   shards_0_15 = generic {
     version = "0.15.0";
     sha256 = "sha256-/C6whh5RbTBkFWqpn0GqyVe0opbrklm8xPv5MIG99VU=";
-    crystal = crystal_1_0;
   };
 
-  shards = shards_0_15;
+  shards_0_16 = generic {
+    version = "0.16.0";
+    sha256 = "sha256-go8sL4djIDGNwb7FsCcATONnMYahHY8qJUDyUiPLRUY=";
+  };
+
+  shards = shards_0_16;
 }
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 5417f2b83a5..977f05aea5c 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -8,9 +8,7 @@
 , stdenv
 }:
 
-let
-  node-api-lib = (if stdenv.isDarwin then "libquery_engine.dylib" else "libquery_engine.so");
-in rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
   version = "3.2.0";
 
@@ -47,7 +45,7 @@ in rustPlatform.buildRustPackage rec {
   cargoBuildFlags = "-p query-engine -p query-engine-node-api -p migration-engine-cli -p introspection-core -p prisma-fmt";
 
   postInstall = ''
-    mv $out/lib/${node-api-lib} $out/lib/libquery_engine.node
+    mv $out/lib/libquery_engine${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libquery_engine.node
   '';
 
   # Tests are long to compile
diff --git a/pkgs/development/tools/dockle/default.nix b/pkgs/development/tools/dockle/default.nix
index 9d6510c89d8..b647505fe4b 100644
--- a/pkgs/development/tools/dockle/default.nix
+++ b/pkgs/development/tools/dockle/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dockle";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "goodwithtech";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H+qJBwKh+jh5ECMPbPgGtXzF+mm73ut0+URqpNBc3SM=";
+    sha256 = "sha256-0yeHxQW6zX8Mh9JBmp915czEZCmbIom/KYHWLc/O6NY=";
   };
 
   vendorSha256 = "sha256-klTIGmMKA6gp1strgvKnVBtYGQu2407UwxZ8brdGEkQ=";
diff --git a/pkgs/development/tools/misc/dfu-util/default.nix b/pkgs/development/tools/misc/dfu-util/default.nix
index 85917a114c0..2b9d543fb79 100644
--- a/pkgs/development/tools/misc/dfu-util/default.nix
+++ b/pkgs/development/tools/misc/dfu-util/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "dfu-util";
-  version = "0.10";
+  version = "0.11";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ];
 
   src = fetchurl {
     url = "http://dfu-util.sourceforge.net/releases/${pname}-${version}.tar.gz";
-    sha256 = "0hlvc47ccf5hry13saqhc1j5cdq5jyjv4i05kj0mdh3rzj6wagd0";
+    sha256 = "sha256-tLU7ohqC7349TEffKVKt9fpJT0mbawtXxYxdBK6P8Z4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix
index 132ddf2eacf..4d3661b6c20 100644
--- a/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/pkgs/development/tools/misc/fsatrace/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jacereda/fsatrace";
     description = "filesystem access tracer";
     license = licenses.isc;
-    maintainers = [ maintainers.peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
index fa8ee6f4992..aa932987436 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -24,6 +24,7 @@
   tree-sitter-julia = (builtins.fromJSON (builtins.readFile ./tree-sitter-julia.json));
   tree-sitter-latex = (builtins.fromJSON (builtins.readFile ./tree-sitter-latex.json));
   tree-sitter-lua = (builtins.fromJSON (builtins.readFile ./tree-sitter-lua.json));
+  tree-sitter-make = (builtins.fromJSON (builtins.readFile ./tree-sitter-make.json));
   tree-sitter-markdown = (builtins.fromJSON (builtins.readFile ./tree-sitter-markdown.json));
   tree-sitter-nix = (builtins.fromJSON (builtins.readFile ./tree-sitter-nix.json));
   tree-sitter-norg = (builtins.fromJSON (builtins.readFile ./tree-sitter-norg.json));
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json
new file mode 100644
index 00000000000..fcb0b280e24
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json
@@ -0,0 +1,11 @@
+{
+  "url": "https://github.com/alemuller/tree-sitter-make",
+  "rev": "716c294283bc3dda263ccbdf55e38ec30aa0edba",
+  "date": "2021-04-30T16:37:32-03:00",
+  "path": "/nix/store/v2dvgqs3fxwh83dhc53xivrx8i0g519y-tree-sitter-make",
+  "sha256": "1fb6rf6pc6mdawphifhlbzbgppxvq6hj48cz6073schvavgjgchc",
+  "fetchLFS": false,
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
index 4f1e69a585f..bb1736b3ce7 100644
--- a/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -102,6 +102,10 @@ let
       orga = "travonted";
       repo = "tree-sitter-fennel";
     };
+    "tree-sitter-make" = {
+      orga = "alemuller";
+      repo = "tree-sitter-make";
+    };
     "tree-sitter-markdown" = {
       orga = "ikatyang";
       repo = "tree-sitter-markdown";
diff --git a/pkgs/development/tools/rust/cargo-deadlinks/default.nix b/pkgs/development/tools/rust/cargo-deadlinks/default.nix
index ebd66a9b009..a7c1b885a6e 100644
--- a/pkgs/development/tools/rust/cargo-deadlinks/default.nix
+++ b/pkgs/development/tools/rust/cargo-deadlinks/default.nix
@@ -2,22 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deadlinks";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "deadlinks";
     repo = pname;
     rev = "${version}";
-    sha256 = "1zd5zgq3346xijllr0qdvvmsilpawisrqgdmsqir8v3bk55ybj4g";
+    sha256 = "0s5q9aghncsk9834azn5cgnn5ms3zzyjan2rq06kaqcgzhld4cjh";
   };
 
-  cargoSha256 = "1ar3iwpy9mng4j09z4g3ynxra2qwc8454dnc0wjal4h16fk8gxwv";
+  cargoSha256 = "00g06zf0m1wry0mhf098pw99kbb99d8a17985pb90yf1w74rdkh6";
 
   checkFlags = [
     # uses internet
     "--skip non_existent_http_link --skip working_http_check"
-    # expects top-level directory to be named "cargo-deadlinks"
-    "--skip simple_project::it_checks_okay_project_correctly"
   ];
 
   buildInputs = lib.optional stdenv.isDarwin Security;
@@ -25,6 +23,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Cargo subcommand to check rust documentation for broken links";
     homepage = "https://github.com/deadlinks/cargo-deadlinks";
+    changelog = "https://github.com/deadlinks/cargo-deadlinks/blob/${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ newam ];
   };
diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
index 836b959f102..92863d76de9 100644
--- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix
+++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-spellcheck";
-  version = "0.8.13";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "drahnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0k88ma00gj8wjdvd7ysbbvqnf5sk1w8d3wqbi6qfxnqrc1k3hlv2";
+    sha256 = "11r4gzcsbqlflam2rdixc451qw69c46mkf7g0slq6f127is25fgz";
   };
 
-  cargoSha256 = "0mmk0igm2s8sxi65zvikxhz52xhkyd3ljqy61mij7zlx95rf639x";
+  cargoSha256 = "1p4iirblk6idvfhn8954v8lbxlzj0gbd8fv4wq03hfrdqisjqcsn";
 
   LIBCLANG_PATH = "${libclang.lib}/lib";
 
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index 28b875ede93..ed51a6fedc6 100644
--- a/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-PYlHjKMnqnhAJAvmHbH6Bb+qOyNzDH+ewOkXkj2u4CU=";
+    sha256 = "sha256-qap6TsqaCy+9prWiUow78eBgaWGq5eUkOXBTYFnAZyo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js
index d6b4dcf358c..d2152f9c5e4 100755
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/bin/yarn2nix.js
@@ -63,7 +63,7 @@ let pkgs = R.pipe(
 
 ;(async () => {
   if (!options['--no-patch']) {
-    pkgs = await R.map(fixPkgAddMissingSha1, pkgs)
+    pkgs = await Promise.all(R.map(fixPkgAddMissingSha1, pkgs))
   }
 
   const origJson = lockfile.parse(data)
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 34bcd7992ea..ce2558a7c01 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.14.3";
+  version = "1.15.1";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ersfn69vRGKzJ4LV7qLI2orLftHz7tuI8+/zUEPctAE=";
+    sha256 = "sha256-1lODB7k0HGfwlrCWh7TKafPezytKo66EnyDHD3eyAl0=";
   };
-  cargoSha256 = "sha256-BnJH/jbNiPyRmNjvfE5bNQX58iuAFFaQ93bZsXooTfI=";
+  cargoSha256 = "sha256-qCXGYxvOAbVrlk3X431n+soxcGQBIjZcibMcAP4uAh8=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index 6fb597b81ac..6e63681f66b 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.31.0";
+  version = "0.32.0";
   shas = {
-    x86_64-linux = "sha256-KPoxq6rZnwghcDR5cMexN8EMeCfyuKoBcTZ3bv1mEpw=";
-    aarch64-linux = "sha256-S+lHGwbnCu2uNCIE+R5MljltOIqXpFAxvx0cglV8ZNI=";
-    x86_64-darwin = "sha256-o8O+X4SEXP7eY/dfHqe8NT7johtnPJQTBOgApFqOOhY=";
-    aarch64-darwin = "sha256-OQNQh6byNn9R0a6madgUMdUxbUv/R9psnwtTSr3BfzE=";
+    x86_64-linux = "sha256-35Rm4j4BJNCfl3MQJIpKw1altzm9fgvZ6WeC2cF4Qzc=";
+    aarch64-linux = "sha256-w1ljFwao/YMO27QSaEyVl7HEVnfzZyVOXZK4xN0205Y=";
+    x86_64-darwin = "sha256-oNrF9lFkgMgphDElKQRXMq9uYua75e2HrfflNO+CyPk=";
+    aarch64-darwin = "sha256-Bz9C1AChvGJYamnIg1XtYyTzmIisL0Oe/yDjB7ZebMw=";
   };
 }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index abcf6bfc16e..0ec3754bffd 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 = "8.10.0";
+  version = "9.0.5";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "05f3eaa229483a7e1f698e6e2ea2031d37687de540d4fad05ce677ac216db24d";
+    sha256 = "1z28v5vrjld99ydai66k8hw01x54647324ax459bvblw989lzp7v";
     name = "${pname}.tar.gz";
   };
 
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     rm $out/share/postman/Postman
 
     mkdir -p $out/bin
-    ln -s $out/share/postman/_Postman $out/bin/postman
+    ln -s $out/share/postman/postman $out/bin/postman
 
     mkdir -p $out/share/applications
     ln -s ${desktopItem}/share/applications/* $out/share/applications/
@@ -88,8 +88,8 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     pushd $out/share/postman
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" _Postman
-    for file in $(find . -type f \( -name \*.node -o -name _Postman -o -name \*.so\* \) ); do
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman
+    for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do
       ORIGIN=$(patchelf --print-rpath $file); \
       patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file
     done
@@ -101,6 +101,6 @@ stdenv.mkDerivation rec {
     description = "API Development Environment";
     license = licenses.postman;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ xurei evanjs ];
+    maintainers = with maintainers; [ johnrichardrinehart evanjs ];
   };
 }
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 787184273fc..beba37c07ac 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth_1
+{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth
 , soundfont-fluid, libGL, SDL2, bzip2, zlib, libjpeg, libsndfile, mpg123
 , game-music-emu, pkg-config, copyDesktopItems, makeDesktopItem }:
 
@@ -28,13 +28,13 @@ let
 
   gzdoom = stdenv.mkDerivation rec {
     pname = "gzdoom";
-    version = "4.5.0";
+    version = "4.7.0";
 
     src = fetchFromGitHub {
       owner = "coelckers";
       repo = "gzdoom";
       rev = "g${version}";
-      sha256 = "0kmqnyhdi5psi7zwrx9j3pz0cplypsvhg4cr8w2jbawh6jb71sk9";
+      sha256 = "0xxxy7k2zr5g0vr1lnwv4n5amiwq1wln7r6hr37gmrjr72zkcjqn";
       fetchSubmodules = true;
     };
 
@@ -43,7 +43,7 @@ let
       SDL2
       libGL
       openal
-      fluidsynth_1
+      fluidsynth
       bzip2
       zlib
       libjpeg
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 5aa2408afd1..05caaaed63e 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
       Stockfish is one of the strongest chess engines in the world. It is also
       much stronger than the best human chess grandmasters.
       '';
-    maintainers = with maintainers; [ luispedro peti siraben ];
+    maintainers = with maintainers; [ luispedro siraben ];
     platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux"];
     license = licenses.gpl2;
   };
diff --git a/pkgs/misc/cups/drivers/splix/default.nix b/pkgs/misc/cups/drivers/splix/default.nix
index cfe53e48d67..f43f3fc4f3a 100644
--- a/pkgs/misc/cups/drivers/splix/default.nix
+++ b/pkgs/misc/cups/drivers/splix/default.nix
@@ -49,6 +49,6 @@ in stdenv.mkDerivation rec {
     homepage = "http://splix.ap2c.org";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ jfrankenau peti ];
+    maintainers = with maintainers; [ jfrankenau ];
   };
 }
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 8e08be28eda..06b1221dccb 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -21,13 +21,14 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-14002";
+  version = "5.0-15260";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "53222560650e4a99eceafcd537d4e04d1c50b3a6";
-    sha256 = "1m71gk9hm011fpv5hmpladf7abkylmawgr60d0czkr276pzg04ky";
+    rev = "207c931a04c8e2629a735bc2b3f36b5c89365ca7";
+    sha256 = "15r9syk7f62h16klcznw7css6sng8nqkkz4d1qr8d988rdfaiypx";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake pkg-config ]
diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/misc/emulators/ryujinx/default.nix
index d082ec7e1b2..e584331ea66 100644
--- a/pkgs/misc/emulators/ryujinx/default.nix
+++ b/pkgs/misc/emulators/ryujinx/default.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.0.7058"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
+  version = "1.0.7065"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "d92fff541bf6fddadabf6ab628ddf8fec41cd52e";
-    sha256 = "1lsg4v15x8i43pwkgn4y8d2m95m6w7izwm4zhspnq8r2lv18lqb2";
+    rev = "c54a14d0b8d445d9d0074861dca816cc801e4008";
+    sha256 = "13j91413x1bvg27vcx9sgc7gv00q84d8f5pllih5g5plzld4r541";
   };
 
   projectFile = "Ryujinx.sln";
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 0ab2161f2da..d6dd3424832 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -197,12 +197,12 @@ final: prev:
 
   aurora = buildVimPluginFrom2Nix {
     pname = "aurora";
-    version = "2021-09-30";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "25603ba44b1439a7e69637a7ee37c5dba63b5623";
-      sha256 = "014pnjinm30jjh4dmxxbfnriijpa83z9g65hilmvwndqf6z7nndj";
+      rev = "6ea04b2b1a01e2c00e1b126af2b43a15c2fab441";
+      sha256 = "1lzv98cjqla7py5xh4qk7p89qqlfadyspj20vfblv9gsxnhl5acy";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
@@ -233,12 +233,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2021-10-05";
+    version = "2021-10-14";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "dc7619fc3c6e3368ae449bf8ae1ad7630a720406";
-      sha256 = "0izpxbwa144r9wjiy1m0r19hfwdlm2r3pggn178gj56ll7y2njnk";
+      rev = "6f9506c1a8445b902e121a630613b94c8b0cd52a";
+      sha256 = "0gxf67a2l1sc5svrs6jkp6rawbjj54dvsqfr0prqindpdivxihic";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -449,12 +449,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-10-11";
+    version = "2021-10-14";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "c58af7b7f407fa8d03b1bf273b7018663e05c75c";
-      sha256 = "06q2gk0s7i1akh5ijdbwinpm1psq6szndddpdn4cw1r8vhanbwkz";
+      rev = "501fc90dd87ce887d391f08f84b767bff923851a";
+      sha256 = "1k5wjy3fw62y3hpqzkkzhig6xk3dvc47akni6i8iwc4jr0mxjx7z";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -653,12 +653,12 @@ final: prev:
 
   cmp-spell = buildVimPluginFrom2Nix {
     pname = "cmp-spell";
-    version = "2021-08-28";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "f3fora";
       repo = "cmp-spell";
-      rev = "7157c9fa1029269d97d9ed5632ec575bb71981b4";
-      sha256 = "1xrc3zs9jz7dvdfhfx9ikg7abxgvjns0iqr9yzn3jzqm4a37zc62";
+      rev = "4ce11f44edc54f7e3087c85c1b7b388f9aece983";
+      sha256 = "05akncv4w8p3h25q5dmx8h0jbn2b4l5mz9x62wj7d7qks4fjik4j";
     };
     meta.homepage = "https://github.com/f3fora/cmp-spell/";
   };
@@ -701,12 +701,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2021-10-09";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "7e11f27b0778b23c29ed354c1352cafdfffca6f5";
-      sha256 = "06bivxfgbnrshrbs6v6ym0v0nb2i6f06f6r4kmddqqz74jaynb6g";
+      rev = "9674906f4e3e4a163d4ca9b7accc1057ecf9031f";
+      sha256 = "11cs9gzhx856zmsix0dsqbcz38ldizjrbhdq6wi9vzxg2da8wb56";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -737,12 +737,12 @@ final: prev:
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2021-09-12";
+    version = "2021-10-14";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "2d9deb2a3b05a0c09f01edda0a4abd542cb3eebd";
-      sha256 = "0y1yh5sf0irk9rr0d5vzvf58y5q5i50b9wdpbjy1b4dfvnax00gn";
+      rev = "f9188b2652d7bf7131c74532e52ba25340d63b9f";
+      sha256 = "093chsnh5fx4qwdw5dnn7h48fn2zlq0skwanlwm6ajws397n194k";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
@@ -942,12 +942,12 @@ final: prev:
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-08-02";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "139fb6cfbd9f7384a5489d3e4afdacb8ed977ab0";
-      sha256 = "1641gx74mqbsp42m6z695l8xlr56b79vklghjdxywi35xbz4yq22";
+      rev = "87b0f86da3dffef63b42845049c648b5d90f1c4d";
+      sha256 = "07n5h3jbbjpciwpd6j8dnclvb70a5hwv00605cybcc5l4xvvvsga";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -1206,12 +1206,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx.nvim";
-    version = "2021-10-09";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "c982d5129fff4dad1f1cf80cad3fdb5ec98d8bc2";
-      sha256 = "0lvxivdj8l221j9mrvvb874wfavy8plln38kv5niz2wmvvwlr061";
+      rev = "ed0d013bd2f7932c95dedae108b890663ce5aa30";
+      sha256 = "0hm6ca1kh4rqpcy18ijisky5r17m2b5948dvfds02j3jkid5r457";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1616,12 +1616,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2021-10-04";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "73671fbfc70f0b78c743894b31c009b22a6ddaa3";
-      sha256 = "0mbz6901l0i0cy49d63542jfvzk93d2xnbkpnih65x8whhx35vdc";
+      rev = "1a91fe0efc1bb1c4564140b6a5be7e3bf5ac0873";
+      sha256 = "17a9lnhwf8vsfx2pm5bwzd6khfb3w954kx1w72msfmqf46v3d1ah";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -1919,12 +1919,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-09-23";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "4b64ba3e4ed30e96125b5725a3475ca6fb417c6c";
-      sha256 = "0i5qp89ggwknh99yxrsdb8ywffsdhr2lrigllhl4ad1lrgbfmjz7";
+      rev = "59507a9773ea1a24072342da357da0708b303ef9";
+      sha256 = "1d5ragvg9jxs3axln3cqj7i37c0vxdyfwl4ll06yslghb77krf6w";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2135,12 +2135,12 @@ final: prev:
 
   gitlinker-nvim = buildVimPluginFrom2Nix {
     pname = "gitlinker.nvim";
-    version = "2021-07-15";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "ruifm";
       repo = "gitlinker.nvim";
-      rev = "585f2eab74cb872c421f564274ef050fa74937ab";
-      sha256 = "1zc9yr7b53akn639xhczala7vqz7rdy61xnndwn37bdxzvjqm59j";
+      rev = "a727080a527cb0f01843b59e9c445d7c4dce0f12";
+      sha256 = "0mbnbiikavl6p0jsaal7vmxafrzdcn59xngwszx16qw8f00l76hw";
     };
     meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
   };
@@ -2279,12 +2279,12 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2021-10-04";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "8f95a04c0a8d4d7b84b089a11a2c41d58693d89c";
-      sha256 = "1nzr0148zi89mq4yil77ns2nrs0ldnl3fh8aqxa89fivy8lg9p64";
+      rev = "fa709b95ba0cbc35310125bc2e42ffeb2576bd4d";
+      sha256 = "06vzhcciifb8vwzmkbwy4hnzwrj2rgz3zl91xh8dbf1g4fh54w8x";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
@@ -2399,12 +2399,12 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2021-09-06";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "a3f11483e1ffd5946914db505c7b917bb6c95515";
-      sha256 = "0asabmaacvfyv48rwzgcy4vy5wrp72rjmgn53ann9asfxw9ipjsh";
+      rev = "2097f623b6b04f9d03e1d23c08e975e5079be64f";
+      sha256 = "0d1brmiqsnq0crm5844m2sj2df7vj0ad1bkdrmyxvgnphq0z443p";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
@@ -2507,12 +2507,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline.nvim";
-    version = "2021-10-06";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "948b6ac3303b9e2e75daad0bd0ec844ed6b06d4a";
-      sha256 = "1adsy4nkl8dm6bqkc2chy47na3kqh8g1lkmxzvc5wdfw0c27z0i0";
+      rev = "0a98fa8dacafe22df0c44658f9de3968dc284d20";
+      sha256 = "1mwj3wsp6b1m6amii5pz2b0nbs6ac8w0285wg8gd3g2y3ywihi2g";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2700,12 +2700,12 @@ final: prev:
 
   kommentary = buildVimPluginFrom2Nix {
     pname = "kommentary";
-    version = "2021-08-26";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "b3nj5m1n";
       repo = "kommentary";
-      rev = "09d332c66b7155b14eb22c9129aee44d9d2ff496";
-      sha256 = "1cdzsqilnb90wqicjb9v58wiayp8a7wa44q4aw7a5a74yyxysfhy";
+      rev = "8f1cd74ad28de7d7c4fda5d8e8557ff240904b42";
+      sha256 = "0avd7v0nzz31nf5vj29npw5g7c2rrlirvkyd042qlh5y2vas7b2g";
     };
     meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
   };
@@ -3048,12 +3048,12 @@ final: prev:
 
   lspkind-nvim = buildVimPluginFrom2Nix {
     pname = "lspkind-nvim";
-    version = "2021-10-07";
+    version = "2021-10-11";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "lspkind-nvim";
-      rev = "521e4f9217d9bcc388daf184be8b168233e8aeed";
-      sha256 = "06g57xwsfz9bs0d7maaba6g09ilcmmmhcamv11jh4b3qn2vqx95s";
+      rev = "0f7851772ebdd5cb67a04b3d3cda5281a1eb83c1";
+      sha256 = "0jk1xlp8x6vw40dl96zvmdxv0p8100rzx7za58xpahz10232lckx";
     };
     meta.homepage = "https://github.com/onsails/lspkind-nvim/";
   };
@@ -3096,12 +3096,12 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-10-10";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "111e7966d746d9f1e9d0e159d37d6aa2bbda8712";
-      sha256 = "1n1iz6sb6bx69cxyhsrhy6m0771f2ags52rs7x20737nqij4l1vq";
+      rev = "4526e71635b2d238c0f76f058e8c4de3a6b5bd51";
+      sha256 = "08xrppvjzc6hnzfkjy1y7k4n5pxgamrzchv9nry6yzi9w3ijnhyb";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3192,12 +3192,12 @@ final: prev:
 
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap.vim";
-    version = "2021-08-27";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "45a8eabefd500ab4496ee790d3ac178eb4de9fb9";
-      sha256 = "13mlcjkdbhpfgcg45m7whylxsaylgx1lysr5npc7gk6a85l2slzq";
+      rev = "723c5fc3a4d0e772bb2864913196435cf910bbc5";
+      sha256 = "1zbm77zkfg006z00mzcv136rqgyfzv7qy4dskcay1sfcr0q8yx1s";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
@@ -3528,12 +3528,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-10-08";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "ab2840c8c1a8df92cd37a086948d0528ffdede32";
-      sha256 = "0iz85svvq0h38nbkih0spgnlh0gnnhk2y3rs7igc5gjka7k7mc89";
+      rev = "727652348bf4f39a354e88d1b2cbf36220d109db";
+      sha256 = "07skmgl78vqks21lr64sm808zqbqf2013rf7ph9rkfz5wrn4zcvd";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3660,12 +3660,12 @@ final: prev:
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2021-10-05";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "750d2246d38cd2839356ab8506fc8328a76d33db";
-      sha256 = "0gg11pswi2alz2khd7ygjhq6kb2nnawpd1f2vvgpc3wpqhp6lk92";
+      rev = "baf9ac7f20dbc225644ab4825f007bc65e944dce";
+      sha256 = "0x0y78kps2p9skqykcrvlgbhmmm5x5c5kkwz1dfc0akzkdjy8505";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -3816,12 +3816,12 @@ final: prev:
 
   nnn-vim = buildVimPluginFrom2Nix {
     pname = "nnn.vim";
-    version = "2021-09-30";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "892ca98fa8ecedb4f14988451a5cf539250c8b86";
-      sha256 = "192lfhgzci09n1j56nj80nj12a3qx7r6qj21vnvqai0xh59dgy42";
+      rev = "f7ebbaa41da15a964758f009e8e05463974a0aee";
+      sha256 = "1spma6n0vyavllawd98zccwmkscisq69547qqxqgfz9j69dllrfg";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -3876,12 +3876,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2021-10-10";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "01bb7be2a576003b4f7d23aa3561c5cc65c6b47b";
-      sha256 = "1ygr5641jzlr0b835aicfd5f5lq8fvh7iby74v2wf9684zn75sv0";
+      rev = "bd0f8daa3c70d099857e9223f33eec9511b6047c";
+      sha256 = "039b475k33pmb9lchbfnr4l0fkghnjr4kyhni4ndznj81ln190fi";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -3924,12 +3924,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-10-11";
+    version = "2021-10-14";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "b5d077d2a055485a00846a107c777321feed1d29";
-      sha256 = "0ivl7286nni8pvidzgxsklc4x2v6gyx90brvdpg6j18n2xg8i380";
+      rev = "db48f0b4837be2bf40ad55860baa686c0e013ac4";
+      sha256 = "1ikbamwl7cdihmlg2vnl838mq58z0lqcynn3x5p39wq11dql89lb";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3984,12 +3984,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2021-10-11";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "fe2b245ea124427a22f6008c45aa43eec37b2661";
-      sha256 = "12ggywkgg9a6nccjah5lj31h43f3p5j22dn50agiis814a8syr8k";
+      rev = "f5393d5bd934428a469f03f5bc225922f8c48367";
+      sha256 = "0gss8d5anf94iic60wwnnc8d5msdx17yydb84fbk21h2a9gv8g8b";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4116,12 +4116,12 @@ final: prev:
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2021-10-06";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "449dc8b5b34d54504d8331b9fa7eee95520400cc";
-      sha256 = "1baa9l71dgn2chbkj6p00rkj8xdq6d8icr93w31wmas6470bwgf2";
+      rev = "5576661c8ddd3c881b5f97446b919090033ce74f";
+      sha256 = "1zvbiys1wgyc5figabw9p8dvz3jj756wgjdjg7k44cfn5c0vld42";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
@@ -4176,24 +4176,24 @@ final: prev:
 
   nvim-lightbulb = buildVimPluginFrom2Nix {
     pname = "nvim-lightbulb";
-    version = "2021-10-04";
+    version = "2021-10-11";
     src = fetchFromGitHub {
       owner = "kosayoda";
       repo = "nvim-lightbulb";
-      rev = "fb7fa4adf6c6464784e248b3a12e6ca0b3f4855a";
-      sha256 = "1p7i1vq6w9ghp9xhv78rbjj9c5sp01b3qqyhskqdzn1pkgj4pwr8";
+      rev = "3c5d42a433fcb73fa9a2e07647ef02288479b284";
+      sha256 = "19s8yczi1vyl8arxmqkiq34y1hmx4ws1d0qrsk6y7jk7dskxyqc5";
     };
     meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-10-09";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "e609a702eaf2d6bfb1e0fe8c44a5bf84436fb5a6";
-      sha256 = "113p3nmnm5fj0ckd3b7zqcxq1nnjc9a7178x0dzjf614vll449yq";
+      rev = "e4bed57f127310764f08e8b45f1ed3a31c6094e0";
+      sha256 = "02m8p0pdmvgm0mk9b5h5smj91fy43gsrp742yn3a49njbm252n8q";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4224,12 +4224,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2021-10-10";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "f3eb97c099ddf14b16710a6f17a68d2baf82927f";
-      sha256 = "1las5x4nqabf0zivw3bv2912748n97ndqv9k561x9l0d8q18r5yv";
+      rev = "4743b32755ff3cb2e03fd4a0a6413bb7ea9e2617";
+      sha256 = "06v0swwlk22n0x26bgw1krf26vr7khkc2yjdi4y13saj47c46z4p";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -4296,12 +4296,12 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2021-10-10";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "fda5b82bdf5def17758282978128efaa2d3b243a";
-      sha256 = "1v89447yygg8qn30hdcrc3v14xrbvk2m3z228ryik0xm6gyr2im8";
+      rev = "7f5a49f7c4699bb57635a36869f5149af491e761";
+      sha256 = "0yf40ypkvjn1g9brfhhfykhpjqg0x55h8ipxg0mdkmn24gp6n7xb";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
@@ -4380,12 +4380,12 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-10-03";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "9cac1e40e396110ffb2cf04622ea7a7725436dae";
-      sha256 = "0s34808s7nkqfz0pznzm517x4rsjy9dc3y2brmxk8gp4vfj7jz13";
+      rev = "0943a858aeaef4f06e14a268c276767b3a7da930";
+      sha256 = "16l0l88rr2q233xv4jiwj8w8i0d6ql9cn15fbpksf8d1djr2wxia";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
@@ -4488,12 +4488,12 @@ final: prev:
 
   onedark-nvim = buildVimPluginFrom2Nix {
     pname = "onedark.nvim";
-    version = "2021-10-10";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedark.nvim";
-      rev = "20cb34e8b411f500e52100b58579fe0f401cd4ae";
-      sha256 = "11b02l24nv26qz3da969vxlj2dni2y2csbk8vivm0di62gjnd044";
+      rev = "0221cbbd66697d235a7addde172585f0a295cd91";
+      sha256 = "06vh7abdzh25151svjsaawh8x0lp1qxc56c11dr9jfgnz1fq4gnv";
     };
     meta.homepage = "https://github.com/olimorris/onedark.nvim/";
   };
@@ -4945,12 +4945,12 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2021-10-07";
+    version = "2021-10-11";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "b3e8deb0eecece54c3bbe2437343b8884f47fd9f";
-      sha256 = "17a8jmdskp0gx9nk3n5qfb0myqhiz35cmjcf080qrfhy304ddglr";
+      rev = "3990e5b3609bd883fdc432082f5e1c467ae7d615";
+      sha256 = "0hh4wysfm1p8kkh6ji27vmvxvg2nm7fnkicaby6y88v0zf5scham";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -5053,12 +5053,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2021-10-06";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "4a9c749bee7956cd54322ed04749bb7be329eddd";
-      sha256 = "0508kanxnbgd6i3mfsf3rcg5glxjpgm3nidbsj5lgcv1w6nxf45g";
+      rev = "21b19674b85178dd7d44751985b8de8389e9eb75";
+      sha256 = "06gn4slv9z4jn6l3q31dl8l4j33l5mmn8rx5ddk966dfiq8yvpjw";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -5306,12 +5306,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-10-04";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "81e19fc3db1af37ec5acf2d7cb11b97ae48c34b6";
-      sha256 = "1g67hpnk366z71an7kl0g8x0ikn9v4yiaqv87b5n6s2ax6h3z9lr";
+      rev = "995c6d30ac2846c8230488246057c1ad1aa0b908";
+      sha256 = "0vbw5sbm1ldqb38g5if1p1wn41n1vra6lnqc1crz4vl3wiqra6v5";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -5704,12 +5704,12 @@ final: prev:
 
   telescope-coc-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-coc.nvim";
-    version = "2021-10-08";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "fannheyward";
       repo = "telescope-coc.nvim";
-      rev = "2001656a0b5d6e2487c16839c431750b4316dbd9";
-      sha256 = "0hx0sn2qrvqzcggjgvz2aa0pz0fwv3lzapwn06ac71ccqhlqnjj3";
+      rev = "fc72e26b7a47e99e8ccdc21d76fd2ebc18fd34e2";
+      sha256 = "0f41f85m8s8smbqin9cflzkvd9cyknjps8hix566cfvx3qsx0ib7";
     };
     meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
   };
@@ -5813,12 +5813,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2021-10-09";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "ba41f0eeb13796c26f6c5f3e8c44b2397a466e39";
-      sha256 = "1r33m518s8mcm4iwma2vj03ghqx27qpkyzn843zfwkawa4xdv9vh";
+      rev = "b5c63c6329cff8dd8e23047eecd1f581379f1587";
+      sha256 = "16xd50ihmdlsbjidykqc53zk98vc0yfpj7rkmyha2jkvanxy53yh";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6030,12 +6030,12 @@ final: prev:
 
   TrueZen-nvim = buildVimPluginFrom2Nix {
     pname = "TrueZen.nvim";
-    version = "2021-09-11";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "Pocco81";
       repo = "TrueZen.nvim";
-      rev = "5dfd2c23ce269a7b70708d84f3ce44bfc10d7830";
-      sha256 = "100gncjw94di6j9f9wl266s5cp2lywp18gzwzq4mzvp9y4kk7baf";
+      rev = "508b977d71650da5c9243698614a9a1416f116d4";
+      sha256 = "0sr4y1mg83l28l5ias2pv0gxkcgwailfjn2skx35z63f2il3zkbx";
     };
     meta.homepage = "https://github.com/Pocco81/TrueZen.nvim/";
   };
@@ -7530,12 +7530,12 @@ final: prev:
 
   vim-flog = buildVimPluginFrom2Nix {
     pname = "vim-flog";
-    version = "2021-10-10";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "rbong";
       repo = "vim-flog";
-      rev = "b644ab70385d65368097ab952fbfe309ed789daa";
-      sha256 = "15yj3hx2yhgxw8634daal63l7j45c57jjinr21d01m3pbck9cmqd";
+      rev = "6b3d37338c1f1da03bab16e4614507ab273e3305";
+      sha256 = "1bmafcyzg5vhwfphacgm5f2hpcs52ickl3zf56394jdll8gxbn2c";
     };
     meta.homepage = "https://github.com/rbong/vim-flog/";
   };
@@ -7590,12 +7590,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-10-10";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "69f5fcbd459c113181d18a0ea2641cd47c9e0318";
-      sha256 = "06g5zc09mw9bpz6aga7ikilirzgzvbawf4p3ss9gkgxpc9fzxwy1";
+      rev = "2e66b3ad05d85f09d870f82671b8503cf8fa4297";
+      sha256 = "0145yrr3cjgzfm9arrs3wqwg3wlban3rpgb5jiwaiavrk2grlwkz";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8035,12 +8035,12 @@ final: prev:
 
   vim-indent-guides = buildVimPluginFrom2Nix {
     pname = "vim-indent-guides";
-    version = "2018-05-14";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "nathanaelkane";
       repo = "vim-indent-guides";
-      rev = "54d889a63716ee2f1818aa2ec5082db47147147b";
-      sha256 = "0ahlbjv2ibhhnf9zqn85b2sh3wf9l0kmg2qmavz3z5fmf8sqljj2";
+      rev = "765084d38bf102a95ab966fb06472e83fa7deff7";
+      sha256 = "0gffchphg5chg3311x0mb8xd4ir8psdmdscqpx37bxz5w9n7qsdp";
     };
     meta.homepage = "https://github.com/nathanaelkane/vim-indent-guides/";
   };
@@ -9201,12 +9201,12 @@ final: prev:
 
   vim-ps1 = buildVimPluginFrom2Nix {
     pname = "vim-ps1";
-    version = "2020-11-25";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "26a75886caef937bfad4201d5478571a992984c2";
-      sha256 = "1qgwn57hs82a6pjilnqafd4c2za4r3vkys9i9apbxqhcxypx05hl";
+      rev = "d0b89c2dc0f6af09d7876963e94e5c7567eacac6";
+      sha256 = "1m8kjnj3xz5vmzs0ycbwm700jczmhgf2y1sfjx178b0jachfyq0j";
     };
     meta.homepage = "https://github.com/PProvost/vim-ps1/";
   };
@@ -9837,12 +9837,12 @@ final: prev:
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2019-11-28";
+    version = "2021-10-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "f51a26d3710629d031806305b6c8727189cd1935";
-      sha256 = "0aqrqn35xdiy80y7skxfsh3m33n6cdxw6lzz6aspfgzwllx2f0kr";
+      rev = "aeb933272e72617f7c4d35e1f003be16836b948d";
+      sha256 = "1b0bd5m5lv1p4d299mrwjfs2gk0zqwyaqdaid9hs9yqlxnr8s5nf";
     };
     meta.homepage = "https://github.com/tpope/vim-surround/";
   };
@@ -10607,12 +10607,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-10-11";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "dae6e5c8e07dd2a769b399d9ace53bab867e6048";
-      sha256 = "16jvhf1dg6vxb5w622gn91qd4bll6p06rsf561ijdcp9w1132d4m";
+      rev = "4b3ceb9eb7f0e12c239d7ef4262728491aee89ba";
+      sha256 = "1q3ygk39pbm2bhq463c0rc7zqm5zzg2ln2k1qka1v2i4ghngaszi";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -10727,12 +10727,12 @@ final: prev:
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2021-10-10";
+    version = "2021-10-11";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "615df90caac067673c34f0fb8b399b164ef6449a";
-      sha256 = "0y787bm302wrpk187gcr49qw5x28gjzxajjl2dh16acvf5hdzj3w";
+      rev = "52ff550ef05a0110f4decc4629e0a58b94ca97b8";
+      sha256 = "1xwn6jcgf1wbyzsm64n51m82xpy8s6k7yhyvd7c8byp2gbh7z0r8";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -10848,12 +10848,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-09-19";
+    version = "2021-10-13";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "4117a99861b537830d717c3113e3d584523bc573";
-      sha256 = "1c0p1zk54rcn4ph1h17qyfrsdx90rgw7cc9hp1n8xpb9nhwvx494";
+      rev = "347bbf73d980501c4e1705879bcfe49ea0375af1";
+      sha256 = "1ywj63kn0i6c8wr7y09vydb9cic2cqpkq5n40xwb0gbqk8n89z2k";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -10909,12 +10909,12 @@ final: prev:
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig.vim";
-    version = "2021-09-29";
+    version = "2021-10-14";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "e77b52c561eef4e3489dde560efce6def68c35d0";
-      sha256 = "0793bb45zmdrcg2xnpy1yfn5ajmi9apca30rxsw5b2yr9mp142wd";
+      rev = "0adf3a1407bdf60a6c1446fb6a9a05c9823e4290";
+      sha256 = "0sdjznbzwj180g1jgn6rizbq2dq2clpcj1rj1xb3m127w4rgqhyj";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 40d44690afe..b8a017adcf4 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -81,6 +81,14 @@ stdenv.mkDerivation rec {
 
     CONFIG_LFS y
 
+    # More features for modprobe.
+    ${lib.optionalString (!enableMinimal) ''
+      CONFIG_FEATURE_MODPROBE_BLACKLIST y
+      CONFIG_FEATURE_MODUTILS_ALIAS y
+      CONFIG_FEATURE_MODUTILS_SYMBOLS y
+      CONFIG_MODPROBE_SMALL n
+    ''}
+
     ${lib.optionalString enableStatic ''
       CONFIG_STATIC y
     ''}
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 793579fd2c4..08ed46bb0d4 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.14.9";
+  version = "5.14.12";
   release = "1";
   suffix = "xanmod${release}-cacule";
 in
@@ -13,7 +13,7 @@ buildLinux (args // rec {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-CMCZjuK9ofRup05l7HNg87jHTg4jOGrkmtvoxuNGwXE=";
+    sha256 = "sha256-JVTi319BLHM4CgF7KaN3C/92N4uwh59po1AcOinNpww=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 5ff9a8be772..9c67df13d31 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -56,6 +56,7 @@ let
   # Dependencies that are required to build kernel modules
   moduleBuildDependencies = optional (lib.versionAtLeast version "4.14") libelf;
 
+
   installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
     #!${stdenv.shell} -e
     mkdir -p $4
@@ -88,6 +89,8 @@ let
 
       isModular = config.isYes "MODULES";
 
+      buildDTBs = kernelConf.DTB or false;
+
       installsFirmware = (config.isEnabled "FW_LOADER") &&
         (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")) &&
         (lib.versionOlder version "4.14");
@@ -175,15 +178,16 @@ let
         "KBUILD_BUILD_VERSION=1-NixOS"
         kernelConf.target
         "vmlinux"  # for "perf" and things like that
-      ]
-      ++ optional isModular "modules"
+      ] ++ optional isModular "modules"
+        ++ optional buildDTBs "dtbs"
       ++ extraMakeFlags;
 
       installFlags = [
         "INSTALLKERNEL=${installkernel}"
         "INSTALL_PATH=$(out)"
       ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
-      ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
+      ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware"
+      ++ optionals buildDTBs ["dtbs_install" "INSTALL_DTBS_PATH=$(out)/dtbs"];
 
       preInstall = ''
         installFlagsArray+=("-j$NIX_BUILD_CORES")
@@ -199,9 +203,7 @@ let
 
       postInstall = (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
-      '') + (if (kernelConf.DTB or false) then ''
-        make $makeFlags "''${makeFlagsArray[@]}" dtbs dtbs_install INSTALL_DTBS_PATH=$out/dtbs
-      '' else "") + (if isModular then ''
+      '') + (if isModular then ''
         mkdir -p $dev
         cp vmlinux $dev/
         if [ -z "''${dontStrip-}" ]; then
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 24149805723..13e98924364 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -19,9 +19,11 @@ stdenv.mkDerivation rec {
     substituteInPlace libmultipath/Makefile \
       --replace /usr/include/libdevmapper.h ${lib.getDev lvm2}/include/libdevmapper.h
 
+    # systemd-udev-settle.service is deprecated.
     substituteInPlace multipathd/multipathd.service \
       --replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \
-      --replace /sbin/multipathd "$out/bin/multipathd"
+      --replace /sbin/multipathd "$out/bin/multipathd" \
+      --replace " systemd-udev-settle.service" ""
 
     sed -i -re '
       s,^( *#define +DEFAULT_MULTIPATHDIR\>).*,\1 "'"$out/lib/multipath"'",
diff --git a/pkgs/os-specific/linux/tbs/default.nix b/pkgs/os-specific/linux/tbs/default.nix
index f2a7b692baa..54268693454 100644
--- a/pkgs/os-specific/linux/tbs/default.nix
+++ b/pkgs/os-specific/linux/tbs/default.nix
@@ -59,6 +59,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl2;
     maintainers = with maintainers; [ ck3d ];
     priority = -1;
-    broken = lib.versionAtLeast kernel.version "4.18";
+    broken = true;
   };
 }
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 6fd7eb42c99..753a361fc18 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     description = "Domain name server";
     license = licenses.mpl20;
 
-    maintainers = with maintainers; [ peti globin ];
+    maintainers = with maintainers; [ globin ];
     platforms = platforms.unix;
 
     outputsToInstall = [ "out" "dnsutils" "host" ];
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index 6e6eca69da3..3b8a4acbfc9 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -89,6 +89,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://httpd.apache.org/";
     license     = licenses.asl20;
     platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ lovek323 peti ];
+    maintainers = with maintainers; [ lovek323 ];
   };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
index a0a6235ace5..4f4236e91b5 100644
--- a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
@@ -20,8 +20,18 @@ stdenv.mkDerivation rec {
   }) ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/modules
     cp src/.libs/mod_dnssd.so $out/modules
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    # TODO: Packages in non-standard directories not stripped.
+    # https://github.com/NixOS/nixpkgs/issues/141554
+    stripDebugList=modules
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 39f21b18937..86c9ad6c00d 100644
--- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.peti ];
     broken = true; # patch 'compile-against-apache24.diff' no longer works
   };
 }
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 6f5d065e488..8fd6dc447a0 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
     homepage = "https://dovecot.org/";
     description = "Open source IMAP and POP3 email server written with security primarily in mind";
     license = with licenses; [ mit publicDomain lgpl21Only bsd3 bsdOriginal ];
-    maintainers = with maintainers; [ peti fpletz globin ajs124 ];
+    maintainers = with maintainers; [ fpletz globin ajs124 ];
     platforms = platforms.unix;
   };
   passthru.tests = {
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 386c425611f..557a9d54c14 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -87,6 +87,6 @@ buildPythonPackage rec {
     homepage = "https://www.gnu.org/software/mailman/";
     description = "Free software for managing electronic mail discussion and newsletter lists";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ peti qyliss ];
+    maintainers = with lib.maintainers; [ qyliss ];
   };
 }
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
index 425f327f1fa..d0d7cbc7fbb 100644
--- a/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -90,6 +90,6 @@ buildPythonPackage rec {
     description = "Archiver for GNU Mailman v3";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ peti globin qyliss ];
+    maintainers = with lib.maintainers; [ globin qyliss ];
   };
 }
diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix
index 222a21bcb7f..d807f7f797c 100644
--- a/pkgs/servers/mail/mailman/postorius.nix
+++ b/pkgs/servers/mail/mailman/postorius.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     homepage = "https://docs.mailman3.org/projects/postorius";
     description = "Web-based user interface for managing GNU Mailman";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ globin peti qyliss ];
+    maintainers = with maintainers; [ globin qyliss ];
   };
 }
diff --git a/pkgs/servers/mail/mailman/web.nix b/pkgs/servers/mail/mailman/web.nix
index 434f5b3191e..10adb49be84 100644
--- a/pkgs/servers/mail/mailman/web.nix
+++ b/pkgs/servers/mail/mailman/web.nix
@@ -46,6 +46,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Django project for Mailman 3 web interface";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ peti qyliss m1cr0man ];
+    maintainers = with maintainers; [ qyliss m1cr0man ];
   };
 }
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 348a2088f2c..ca86b4b525f 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -38,6 +38,6 @@ perlPackages.buildPerlPackage rec {
     description = "Open-Source Spam Filter";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ peti qknight qyliss ];
+    maintainers = with lib.maintainers; [ qknight qyliss ];
   };
 }
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 802e5382079..47198243cbc 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.24.3.5033-757abe6b4";
+  version = "1.24.4.5081-e362dc1ee";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "063llf34h6dbzrysm98xwwmv8fwyk8vsc3sj7dniy9j29wwygwdz";
+    sha256 = "0q3s1qcr65rx2jbf9k0i38w5xvnzw1wcy13gvm0150ad2hqw358b";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "0cnv1i00xv7ls5yb9xlim4haal7bvn41p3zskbab85vwhffr9irx";
+    sha256 = "17igy0lq7mjmrw5xq92b57np422x8hj6m8qzjri493yc6fw1cl1m";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix
index 67529b7d5bb..044852bdfef 100644
--- a/pkgs/servers/pufferpanel/default.nix
+++ b/pkgs/servers/pufferpanel/default.nix
@@ -54,6 +54,6 @@ buildGoModule rec {
     description = "A free, open source game management panel";
     homepage = "https://www.pufferpanel.com/";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ ronthecookie ];
+    maintainers = with maintainers; [ ckie ];
   };
 }
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index c769d0abfe9..d55888066a0 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, python2, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, python3, makeWrapper }:
 
 let
-  pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
+  pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "0.24.15";
+  version = "0.25.11";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    sha256 = "sha256-ocnINaz7F01vYC27fq6DYXkYGnzsqYD16aChPHuA/Go=";
+    sha256 = "sha256-0/Ez10IWvh84G//1vCZMLiu4+Y2+XcVLw9Gm9X+DY0s=";
   };
 
   dontBuild = true;
@@ -19,11 +19,15 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ pythonEnv ];
 
+  postPatch = ''
+    substituteInPlace sickgear.py --replace "/usr/bin/env python2" "/usr/bin/env python"
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin
-    cp -R {autoProcessTV,gui,lib,sickbeard,sickgear.py,SickBeard.py} $out/
+    mkdir -p $out/bin $out/opt/sickgear
+    cp -R {autoProcessTV,gui,lib,sickbeard,sickgear.py} $out/opt/sickgear/
 
-    makeWrapper $out/SickBeard.py $out/bin/sickgear
+    makeWrapper $out/opt/sickgear/sickgear.py $out/bin/sickgear
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index d9629207a8d..29d56fd98fd 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -1,4 +1,3 @@
-# This file was generated by https://github.com/kamilchm/go2nix v2.0-dev
 { lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg-utils }:
 let
   webassets = fetchFromGitHub {
@@ -10,14 +9,14 @@ let
 in
 buildGoModule rec {
   pname = "teleport";
-  version = "7.2.0";
+  version = "7.3.0";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-JLYma/LB/3xLWaFcIbe32pAz6P8hBiLlMuTUBVfqfsw=";
+    sha256 = "sha256-Dy6L0dvbR8wgcRePG1jFmiJV3oYtBZuExD2bf8Uq78Y=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index b3259466ddb..84cbba8eac4 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -132,7 +132,6 @@ stdenv.mkDerivation rec {
 
     platforms = platforms.all;
 
-    maintainers = [ maintainers.peti ];
   };
 
   passthru = {
diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix
index ddf2edfd1db..efa90b0499e 100644
--- a/pkgs/shells/bash/5.1.nix
+++ b/pkgs/shells/bash/5.1.nix
@@ -123,7 +123,7 @@ stdenv.mkDerivation rec {
 
     platforms = platforms.all;
 
-    maintainers = with maintainers; [ peti dtzWill ];
+    maintainers = with maintainers; [ dtzWill ];
   };
 
   passthru = {
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index 0ebcaa9e864..6571d572a42 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -68,6 +68,6 @@ stdenv.mkDerivation rec {
     description = "Programmable completion for the bash shell";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.peti maintainers.xfix ];
+    maintainers = [ maintainers.xfix ];
   };
 }
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 3ebdc4c8e5a..14137fa0e60 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.37.0";
+  version = "0.38.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Qdol0ohg2Oo3rC59jPvqHZJtQOQ5W+aZVxTxsxrG51E=";
+    sha256 = "155rn0balgikkhy77gbva6a88pgwm27flzgjyphiwzwnah1mmhca";
   };
 
-  cargoSha256 = "sha256-EP4DzfufQ9y0x2rI4MGBLu48VKoUY9ETKPlUt9Abum8=";
+  cargoSha256 = "1pk56s47mk0f8cww6h1y43jdnf311g35xynz1jvhrk31yyjhb0jl";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ];
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index ba9ac9fdab3..c284c83b416 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-10-11";
+  version = "2021-10-13";
   pname = "oh-my-zsh";
-  rev = "beeda72826f7288d3edf6cec4114bbda9bbae347";
+  rev = "19f9b6f1ade7788b07480be685cf3fcb117cad84";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "Ch1r4fSKR3VGDO/4GLJj2vETOEa6oRb1noEl8N4vJps=";
+    sha256 = "aC7tn5nNbkmyZ6oGKIQnWE+1LNcZH5P2pPgtnUhru/Y=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/admin/analog/default.nix b/pkgs/tools/admin/analog/default.nix
index f3318eb5507..54d863bb958 100644
--- a/pkgs/tools/admin/analog/default.nix
+++ b/pkgs/tools/admin/analog/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.c-amie.co.uk/software/analog/";
     license = lib.licenses.gpl2;
     description = "Powerful tool to generate web server statistics";
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.all;
   };
 
diff --git a/pkgs/tools/admin/netplan/default.nix b/pkgs/tools/admin/netplan/default.nix
index b9dc2c07073..77f2ad26de1 100644
--- a/pkgs/tools/admin/netplan/default.nix
+++ b/pkgs/tools/admin/netplan/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "netplan";
-  version = "0.101";
+  version = "0.103";
 
   src = fetchFromGitHub {
-    owner = "CanonicalLtd";
+    owner = "canonical";
     repo = "netplan";
     rev = version;
-    hash = "sha256-bCK7J2pCQUwjZu8c1n6jhF6T/gvUGwydqAXpxUMLgMc=";
+    hash = "sha256-d8Ze8S/w2nyJkATzLfizMqmr7ad2wrK1mjADClee6WE=";
     fetchSubmodules = false;
   };
 
@@ -45,6 +45,9 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace 'SYSTEMD_GENERATOR_DIR=' 'SYSTEMD_GENERATOR_DIR ?= ' \
         --replace 'SYSTEMD_UNIT_DIR=' 'SYSTEMD_UNIT_DIR ?= ' \
         --replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= '
+
+    # from upstream https://github.com/canonical/netplan/blob/ee0d5df7b1dfbc3197865f02c724204b955e0e58/rpm/netplan.spec#L81
+    sed -e "s/-Werror//g" -i Makefile
   '';
 
   makeFlags = [
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index bd8af80193f..cbbd86e0167 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -140,7 +140,6 @@ pythonPackages.buildPythonApplication rec {
     description = "Encrypted bandwidth-efficient backup using the rsync algorithm";
     homepage = "https://www.nongnu.org/duplicity";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 30a3b9cc98f..657d215147c 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description =  "A tool for programming graphics intended to replace Metapost";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.raskin maintainers.peti ];
+    maintainers = [ maintainers.raskin ];
     broken = stdenv.isDarwin;  # https://github.com/vectorgraphics/asymptote/issues/69
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/pkgs/tools/graphics/mscgen/default.nix b/pkgs/tools/graphics/mscgen/default.nix
index 6749a193c00..7eb1d6cce81 100644
--- a/pkgs/tools/graphics/mscgen/default.nix
+++ b/pkgs/tools/graphics/mscgen/default.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index 489c6fc01be..7e993c35c46 100644
--- a/pkgs/tools/misc/fclones/default.nix
+++ b/pkgs/tools/misc/fclones/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , libiconv
 , rustPlatform
@@ -7,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fclones";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BoCbN7EY7SmBYCS3OLFrQ1j1MUvZ+/oQAdoHCw9kCQE=";
+    sha256 = "sha256-7rwiqjjXB1+R+/kauGjiJOX/UtMmQW3U3xGL/rsSiQ0=";
   };
 
-  cargoSha256 = "sha256-pAYPfRm7QN4mKwnYUMq5Td+bF1tmy3oGObWvMabmnpw=";
+  cargoSha256 = "sha256-g4z+05jiVaH3KCPVwJmvQbi0OCYtuafyZyVZDRRyPRA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/pkgs/tools/misc/parallel/wrapper.nix b/pkgs/tools/misc/parallel/wrapper.nix
index b85dfc56f3d..0240f1ac9e9 100644
--- a/pkgs/tools/misc/parallel/wrapper.nix
+++ b/pkgs/tools/misc/parallel/wrapper.nix
@@ -1,13 +1,10 @@
-{ parallel, makeWrapper , runCommand
-, perlPackages
-, extraPerlPackages ?
-    with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
-}:
+{ lib, runCommand, makeWrapper, parallel, perlPackages
+, extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
+, willCite ? false }:
 
-runCommand "parallel-full" {
-  nativeBuildInputs = [ makeWrapper ];
-  } ''
-      mkdir -p $out/bin
-      makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
-        --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}"
-  ''
+runCommand "parallel-full" { nativeBuildInputs = [ makeWrapper ]; } ''
+  mkdir -p $out/bin
+  makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
+    --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
+    ${lib.optionalString willCite "--add-flags --will-cite"}
+''
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index d6a5b517a84..1501f8edda1 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -1,36 +1,42 @@
-{ fetchurl, lib, stdenv, emacs, curl, check, bc }:
+{ lib
+, stdenv
+, fetchurl
+, bc
+, check
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "recutils";
   version = "1.8";
 
   src = fetchurl {
-    url = "mirror://gnu/recutils/recutils-${version}.tar.gz";
-    sha256 = "14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz";
+    url = "mirror://gnu/recutils/${pname}-${version}.tar.gz";
+    hash = "sha256-346uaVk/26U+Jky/SyMH37ghIMCbb6sj4trVGomlsZM=";
   };
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ curl emacs ];
+  buildInputs = [
+    curl
+  ];
 
-  checkInputs = [ check bc ];
+  checkInputs = [
+    check
+    bc
+  ];
   doCheck = true;
 
-  meta = {
-    description = "Tools and libraries to access human-editable, text-based databases";
-
-    longDescription =
-      '' GNU Recutils is a set of tools and libraries to access
-         human-editable, text-based databases called recfiles.  The data is
-         stored as a sequence of records, each record containing an arbitrary
-         number of named fields.
-      '';
-
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/recutils/";
-
-    license = lib.licenses.gpl3Plus;
-
-    platforms = lib.platforms.all;
-    maintainers = [ ];
+    description = "Tools and libraries to access human-editable, text-based databases";
+    longDescription = ''
+      GNU Recutils is a set of tools and libraries to access human-editable,
+      text-based databases called recfiles. The data is stored as a sequence of
+      records, each record containing an arbitrary number of named fields.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 70a95957855..d1e02e8b9a3 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
       '';
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ peti vrthra ];
+    maintainers = with maintainers; [ vrthra ];
   };
 }
diff --git a/pkgs/tools/misc/xstow/default.nix b/pkgs/tools/misc/xstow/default.nix
new file mode 100644
index 00000000000..a605dcf911b
--- /dev/null
+++ b/pkgs/tools/misc/xstow/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchurl, ncurses }:
+stdenv.mkDerivation rec {
+  pname = "xstow";
+  version = "1.0.2";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/sourceforge/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "6f041f19a5d71667f6a9436d56f5a50646b6b8c055ef5ae0813dcecb35a3c6ef";
+  };
+
+  buildInputs = [
+    ncurses
+  ];
+
+  meta = with lib; {
+    description = "A replacement of GNU Stow written in C++";
+    homepage = "http://xstow.sourceforge.net";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ nzbr ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/zthrottle/default.nix b/pkgs/tools/misc/zthrottle/default.nix
index 66209ead6fa..2743dbf76bb 100644
--- a/pkgs/tools/misc/zthrottle/default.nix
+++ b/pkgs/tools/misc/zthrottle/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "A program that throttles a pipeline, only letting a line through at most every $1 seconds.";
     homepage = "https://github.com/anko/zthrottle";
     license = licenses.unlicense;
-    maintainers = [ maintainers.ronthecookie ];
+    maintainers = [ maintainers.ckie ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/gvproxy/default.nix b/pkgs/tools/networking/gvproxy/default.nix
index 662f909b624..535e8d6bdfb 100644
--- a/pkgs/tools/networking/gvproxy/default.nix
+++ b/pkgs/tools/networking/gvproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gvproxy";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "gvisor-tap-vsock";
     rev = "v${version}";
-    sha256 = "sha256-cXaX7A8Wgq/PEHnFrparZjOKdENX3pWWXYfrEuFLDx0=";
+    sha256 = "sha256-iRFjELJCgxPvqkhBvJqCFapQrHLL3uRpKsJ/DaXSKnw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index 3f3a9b2b723..95c2f970999 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "http://nbd.sourceforge.net";
     description = "Map arbitrary files as block devices over the network";
     license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.peti ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/packetdrill/default.nix b/pkgs/tools/networking/packetdrill/default.nix
index 861e9c0383b..b06e4558fbb 100644
--- a/pkgs/tools/networking/packetdrill/default.nix
+++ b/pkgs/tools/networking/packetdrill/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bison, flex, cmake, libpcap }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, bison, flex, cmake, libpcap }:
 stdenv.mkDerivation rec {
   pname = "packetdrill";
   version = "unstable-2020-08-22";
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
     rev = "68a34fa73cf221e5f52d6fa4f203bcd93062be1b";
     sha256 = "0djkwb6l2959f44d98vwb092rghf0qmii8391vrpxqb99j6pv4h6";
   };
+  patches = [
+    # Upstream fix for -fno-common toolchains
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/google/packetdrill/commit/c08292838de81a71ee477d5bf9d95b1130a1292b.patch";
+      sha256 = "1irbar1zkydmgqb12r3xd80dwj2jfxnxayxpb4nmbma8xm7knb10";
+      stripLen = 3;
+    })
+  ];
+
   setSourceRoot = ''
     export sourceRoot=$(realpath */gtests/net/packetdrill)
   '';
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index d7ac9ad54e6..531dfeeb4c4 100644
--- a/pkgs/tools/networking/pdsh/default.nix
+++ b/pkgs/tools/networking/pdsh/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.peti ];
   };
 }
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 30dbbd9a3b8..9d2e23e3bd2 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-10-09";
+  version = "2021-10-13";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VdiZFUl2vZRocwR+398fJa602wWIiB1URU+54X2XiDc=";
+    sha256 = "sha256-rJRr8MEt3GMNPgC/YvWWs8zh1X0DBstM/UeCMlV7VqI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 25dc64e6184..83b04a9fe79 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
       frontend applications and libraries are available.  Version 2 of GnuPG
       also provides support for S/MIME.
     '';
-    maintainers = with maintainers; [ peti fpletz vrthra ];
+    maintainers = with maintainers; [ fpletz vrthra ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/naabu/default.nix b/pkgs/tools/security/naabu/default.nix
index da59867e1b6..83bb83e4e2c 100644
--- a/pkgs/tools/security/naabu/default.nix
+++ b/pkgs/tools/security/naabu/default.nix
@@ -1,27 +1,31 @@
-{ buildGoModule
+{ lib
+, buildGoModule
 , fetchFromGitHub
-, lib
 , libpcap
 }:
 
 buildGoModule rec {
   pname = "naabu";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "v${version}";
-    sha256 = "sha256-t5Ij3UeH3z8obOH90cnmwcX9iC97sH7VIKvannSZ+MM=";
+    sha256 = "0kbpfb1ryfqy8a54ksm7zm8pqy8f4adh06jc1ccpdxks3k0rygid";
   };
 
-  vendorSha256 = "sha256-veOIt3hELk3smrGlTyldtdaz5uI4U8/2SeD0UNykB8A=";
+  vendorSha256 = "0kkkx8p0r04gg3pp0qy835afaxnqxjggnr7q7l6azdvg8qvgxfms";
 
-  buildInputs = [ libpcap ];
+  buildInputs = [
+    libpcap
+  ];
 
-  preBuild = ''
-    mv v2/* .
-  '';
+  modRoot = "./v2";
+
+  subPackages = [
+    "cmd/naabu/"
+  ];
 
   meta = with lib; {
     description = "Fast SYN/CONNECT port scanner";
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 1658b4ea4df..e72d7ff5e1c 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     description = "Tools for monitoring the health of hard drives";
     homepage = "https://www.smartmontools.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ peti Frostman ];
+    maintainers = with maintainers; [ Frostman ];
     platforms = with platforms; linux ++ darwin;
     mainProgram = "smartctl";
   };
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index ab76de74762..acf0813b3ac 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -52,6 +52,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.all;
-    maintainers = [lib.maintainers.peti];
   };
 }
diff --git a/pkgs/applications/science/logic/coq2html/default.nix b/pkgs/tools/typesetting/coq2html/default.nix
index 393b8464080..924eea3c0a8 100644
--- a/pkgs/applications/science/logic/coq2html/default.nix
+++ b/pkgs/tools/typesetting/coq2html/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation  rec {
   pname = "coq2html";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "xavierleroy";
     repo = "coq2html";
     rev = "v${version}";
-    sha256 = "sha256-ty/6A3wivjDCrmlZAcZyaIwQQ+vPBJm9MhtW6nZcV3s=";
+    sha256 = "sha256:1ad825yifn518wk1c2y2ji10q3m468r8ajjgw2nzzy7d608nx7yq";
   };
 
   nativeBuildInputs = [ ocaml ];
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
index bbdb9c9b14f..32907ea3fb7 100644
--- a/pkgs/tools/typesetting/lowdown/default.nix
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.9.0";
+  version = "0.9.2";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "0v3l70c9mal67i369bk3q67qyn07kmclybcd5lj5ibdrrccq1jzsxn2sy39ziy77in7cygcb1lgf9vzacx9rscw94i6259fy0dpnf0h";
+    sha512 = "2dnjyx3q46n7v1wl46vfgs9rhb3kvhijsd3ydq6amdf6vlf4mf1zsiakd5iycdh0i799zq61yspsibc87mcrs8l289lnwl955avs068";
   };
 
   nativeBuildInputs = [ which ]
diff --git a/pkgs/tools/virtualization/linode-cli/update.sh b/pkgs/tools/virtualization/linode-cli/update.sh
index b31aa957423..dd37e41c537 100755
--- a/pkgs/tools/virtualization/linode-cli/update.sh
+++ b/pkgs/tools/virtualization/linode-cli/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq yq-go
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "${BASH_SOURCE[0]}")
 
@@ -21,7 +21,7 @@ VERSION=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
 SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linode/linode-cli/archive/refs/tags/${VERSION}.tar.gz)
 
 setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"$2\"|" ./default.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV specVersion ${SPEC_VERSION}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 8e9edb67edb..8e946d75ddb 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -539,9 +539,10 @@ mapAliases ({
   mirage = throw "mirage has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
   minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # added 2021-08-13
   minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # added 2021-08-13
+  minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # added 2021-10-14
   mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # added 2021-03-07
-  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. It's functionality has been merged into the mopidy-local extension."; # added 2020-10-18
-  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. It's functionality has been merged into the mopidy-local extension."; # added 2020-10-18
+  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # added 2020-10-18
+  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # added 2020-10-18
   mysql-client = hiPrio mariadb.client;
   memtest86 = memtest86plus; # added 2019-05-08
   mesa_noglu = mesa; # added 2019-05-28
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 340e45159d9..5472abb8f13 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -522,6 +522,8 @@ with pkgs;
       tests = callPackages ../build-support/fetchfirefoxaddon/tests.nix { };
     };
 
+  fetchNextcloudApp = callPackage ../build-support/fetchnextcloudapp {};
+
   # `fetchurl' downloads a file from the network.
   fetchurl = if stdenv.buildPlatform != stdenv.hostPlatform
     then buildPackages.fetchurl # No need to do special overrides twice,
@@ -999,6 +1001,8 @@ with pkgs;
     inherit (lxqt) qtermwidget;
   };
 
+  ctx = callPackage ../applications/terminal-emulators/ctx { };
+
   darktile = callPackage ../applications/terminal-emulators/darktile { };
 
   eterm = callPackage ../applications/terminal-emulators/eterm { };
@@ -6277,6 +6281,8 @@ with pkgs;
 
   imgurbash2 = callPackage ../tools/graphics/imgurbash2 { };
 
+  in-formant = callPackage ../applications/audio/in-formant { };
+
   inadyn = callPackage ../tools/networking/inadyn { };
 
   incron = callPackage ../tools/system/incron { };
@@ -7402,8 +7408,6 @@ with pkgs;
 
   mimetic = callPackage ../development/libraries/mimetic { };
 
-  minetime = callPackage ../applications/office/minetime { };
-
   minio-client = callPackage ../tools/networking/minio-client { };
 
   minio-certgen = callPackage ../tools/security/minio-certgen { };
@@ -9550,6 +9554,7 @@ with pkgs;
   storeBackup = callPackage ../tools/backup/store-backup { };
 
   stow = callPackage ../tools/misc/stow { };
+  xstow = callPackage ../tools/misc/xstow { };
 
   stun = callPackage ../tools/networking/stun { };
 
@@ -11276,8 +11281,9 @@ with pkgs;
   inherit (callPackages ../development/compilers/crystal {
     llvmPackages = llvmPackages_10;
   })
-    crystal_0_36
     crystal_1_0
+    crystal_1_1
+    crystal_1_2
     crystal;
 
   crystal2nix = callPackage ../development/compilers/crystal2nix { };
@@ -14939,6 +14945,7 @@ with pkgs;
 
   inherit (callPackage ../development/tools/build-managers/shards { })
     shards_0_15
+    shards_0_16
     shards;
 
   shellcheck = callPackage ../development/tools/shellcheck {};
@@ -23996,9 +24003,7 @@ with pkgs;
 
   csa = callPackage ../applications/audio/csa { };
 
-  csound = callPackage ../applications/audio/csound {
-    fluidsynth = fluidsynth_1;
-  };
+  csound = callPackage ../applications/audio/csound { };
 
   csound-manual = callPackage ../applications/audio/csound/csound-manual {
     python = python27;
@@ -28004,6 +28009,8 @@ with pkgs;
 
   tev = callPackage ../applications/graphics/tev { };
 
+  themechanger = callPackage ../applications/misc/themechanger { };
+
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
 
   thonny = callPackage ../applications/editors/thonny { };
@@ -31060,10 +31067,11 @@ with pkgs;
     coqPackages_8_11 coq_8_11
     coqPackages_8_12 coq_8_12
     coqPackages_8_13 coq_8_13
+    coqPackages_8_14 coq_8_14
     coqPackages      coq
   ;
 
-  coq2html = callPackage ../applications/science/logic/coq2html { };
+  coq2html = callPackage ../tools/typesetting/coq2html { };
 
   cryptoverif = callPackage ../applications/science/logic/cryptoverif { };
 
@@ -31139,7 +31147,7 @@ with pkgs;
   mathlibtools = with python3Packages; toPythonApplication mathlibtools;
 
   leo2 = callPackage ../applications/science/logic/leo2
-    { ocaml = ocaml-ng.ocamlPackages_4_01_0.ocaml; };
+    { inherit (ocaml-ng.ocamlPackages_4_05) ocaml camlp4; };
 
   leo3-bin = callPackage ../applications/science/logic/leo3/binary.nix {};
 
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index c785d6c16cf..dc657ab1df5 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -131,6 +131,7 @@ in rec {
   coq_8_11 = mkCoq "8.11";
   coq_8_12 = mkCoq "8.12";
   coq_8_13 = mkCoq "8.13";
+  coq_8_14 = mkCoq "8.14";
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
   coqPackages_8_6 = mkCoqPackages coq_8_6;
@@ -141,6 +142,7 @@ in rec {
   coqPackages_8_11 = mkCoqPackages coq_8_11;
   coqPackages_8_12 = mkCoqPackages coq_8_12;
   coqPackages_8_13 = mkCoqPackages coq_8_13;
+  coqPackages_8_14 = mkCoqPackages coq_8_14;
   coqPackages = recurseIntoAttrs coqPackages_8_13;
   coq = coqPackages.coq;
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c9ab3fc2ab8..c80919e07af 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -79,6 +79,8 @@ let
     bitv = callPackage ../development/ocaml-modules/bitv { };
 
     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
+    bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
+    bls12-381-unix = callPackage ../development/ocaml-modules/bls12-381/unix.nix { };
 
     bolt = callPackage ../development/ocaml-modules/bolt { };
 
@@ -378,6 +380,8 @@ let
     fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
 
     ff = callPackage ../development/ocaml-modules/ff { };
+    ff-pbt = callPackage ../development/ocaml-modules/ff/pbt.nix { };
+    ff-sig = callPackage ../development/ocaml-modules/ff/sig.nix { };
 
     fiat-p256 = callPackage ../development/ocaml-modules/fiat-p256 { };
 
@@ -407,6 +411,8 @@ let
 
     genspio = callPackage ../development/ocaml-modules/genspio { };
 
+    getopt = callPackage ../development/ocaml-modules/getopt { };
+
     gmap = callPackage ../development/ocaml-modules/gmap { };
 
     gnuplot = callPackage ../development/ocaml-modules/gnuplot {
@@ -426,6 +432,8 @@ let
     hacl-star = callPackage ../development/ocaml-modules/hacl-star { };
     hacl-star-raw = callPackage ../development/ocaml-modules/hacl-star/raw.nix { };
 
+    hashcons = callPackage ../development/ocaml-modules/hashcons { };
+
     herelib = callPackage ../development/ocaml-modules/herelib { };
 
     hidapi = callPackage ../development/ocaml-modules/hidapi { };
@@ -645,6 +653,8 @@ let
 
     lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { };
 
+    lwt-exit = callPackage ../development/ocaml-modules/lwt-exit { };
+
     lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { };
 
     lwt_log = callPackage ../development/ocaml-modules/lwt_log { };
@@ -1068,6 +1078,10 @@ let
 
     spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
 
+    tar-unix = callPackage ../development/ocaml-modules/tar/unix.nix { };
+
+    tar = callPackage ../development/ocaml-modules/tar { };
+
     tcpip = callPackage ../development/ocaml-modules/tcpip { };
 
     tsort = callPackage ../development/ocaml-modules/tsort { };
@@ -1174,6 +1188,8 @@ let
 
     pycaml = callPackage ../development/ocaml-modules/pycaml { };
 
+    pyml = callPackage ../development/ocaml-modules/pyml { };
+
     qcheck-alcotest = callPackage ../development/ocaml-modules/qcheck/alcotest.nix { };
 
     qcheck-core = callPackage ../development/ocaml-modules/qcheck/core.nix { };
@@ -1263,31 +1279,53 @@ let
 
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
 
+    tezos-010-PtGRANAD-test-helpers = callPackage ../development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix { };
     tezos-base = callPackage ../development/ocaml-modules/tezos/base.nix { };
     tezos-clic = callPackage ../development/ocaml-modules/tezos/clic.nix { };
+    tezos-client-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/client-010-PtGRANAD.nix { };
+    tezos-client-base = callPackage ../development/ocaml-modules/tezos/client-base.nix { };
+    tezos-context = callPackage ../development/ocaml-modules/tezos/context.nix { };
     tezos-crypto = callPackage ../development/ocaml-modules/tezos/crypto.nix { };
+    tezos-embedded-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix { };
     tezos-error-monad = callPackage ../development/ocaml-modules/tezos/error-monad.nix { };
     tezos-event-logging = callPackage ../development/ocaml-modules/tezos/event-logging.nix { };
+    tezos-legacy-store = callPackage ../development/ocaml-modules/tezos/legacy-store.nix { };
     tezos-lmdb = callPackage ../development/ocaml-modules/tezos/lmdb.nix { };
+    tezos-hacl-glue = callPackage ../development/ocaml-modules/tezos/hacl-glue.nix { };
+    tezos-hacl-glue-unix = callPackage ../development/ocaml-modules/tezos/hacl-glue-unix.nix { };
     tezos-lwt-result-stdlib = callPackage ../development/ocaml-modules/tezos/lwt-result-stdlib.nix { };
     tezos-micheline = callPackage ../development/ocaml-modules/tezos/micheline.nix { };
+    tezos-mockup-proxy = callPackage ../development/ocaml-modules/tezos/mockup-proxy.nix { };
+    tezos-mockup-registration = callPackage ../development/ocaml-modules/tezos/mockup-registration.nix { };
     tezos-p2p-services = callPackage ../development/ocaml-modules/tezos/p2p-services.nix { };
     tezos-p2p = callPackage ../development/ocaml-modules/tezos/p2p.nix { };
-    tezos-protocol-008-PtEdo2Zk-parameters = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix { };
-    tezos-protocol-008-PtEdo2Zk = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix { };
+    tezos-protocol-010-PtGRANAD-parameters = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix { };
+    tezos-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix { };
     tezos-protocol-compiler = callPackage ../development/ocaml-modules/tezos/protocol-compiler.nix { };
-    tezos-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/protocol-demo-noops.nix { };
     tezos-protocol-environment-packer = callPackage ../development/ocaml-modules/tezos/protocol-environment-packer.nix { };
     tezos-protocol-environment-sigs = callPackage ../development/ocaml-modules/tezos/protocol-environment-sigs.nix { };
     tezos-protocol-environment-structs = callPackage ../development/ocaml-modules/tezos/protocol-environment-structs.nix { };
     tezos-protocol-environment = callPackage ../development/ocaml-modules/tezos/protocol-environment.nix { };
+    tezos-protocol-plugin-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix { };
+    tezos-protocol-updater = callPackage ../development/ocaml-modules/tezos/protocol-updater.nix { };
+    tezos-proxy = callPackage ../development/ocaml-modules/tezos/proxy.nix { };
     tezos-requester = callPackage ../development/ocaml-modules/tezos/requester.nix { };
+    tezos-rpc-http-client-unix = callPackage ../development/ocaml-modules/tezos/rpc-http-client-unix.nix { };
+    tezos-rpc-http-client = callPackage ../development/ocaml-modules/tezos/rpc-http-client.nix { };
+    tezos-rpc-http = callPackage ../development/ocaml-modules/tezos/rpc-http.nix { };
     tezos-rpc = callPackage ../development/ocaml-modules/tezos/rpc.nix { };
     tezos-sapling = callPackage ../development/ocaml-modules/tezos/sapling.nix { };
+    tezos-shell-context = callPackage ../development/ocaml-modules/tezos/shell-context.nix { };
     tezos-shell-services = callPackage ../development/ocaml-modules/tezos/shell-services.nix { };
+    tezos-shell = callPackage ../development/ocaml-modules/tezos/shell.nix { };
+    tezos-signer-backends = callPackage ../development/ocaml-modules/tezos/signer-backends.nix { };
+    tezos-signer-services = callPackage ../development/ocaml-modules/tezos/signer-services.nix { };
     tezos-stdlib-unix = callPackage ../development/ocaml-modules/tezos/stdlib-unix.nix { };
     tezos-stdlib = callPackage ../development/ocaml-modules/tezos/stdlib.nix { };
+    tezos-test-helpers = callPackage ../development/ocaml-modules/tezos/test-helpers.nix { };
+    tezos-store = callPackage ../development/ocaml-modules/tezos/store.nix { };
     tezos-test-services = callPackage ../development/ocaml-modules/tezos/test-services.nix { };
+    tezos-validation = callPackage ../development/ocaml-modules/tezos/validation.nix { };
     tezos-version = callPackage ../development/ocaml-modules/tezos/version.nix { };
     tezos-workers = callPackage ../development/ocaml-modules/tezos/workers.nix { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a8df9c35dbb..cf8faad01c5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2263,6 +2263,8 @@ in {
 
   dpkt = callPackage ../development/python-modules/dpkt { };
 
+  dragonfly = callPackage ../development/python-modules/dragonfly { };
+
   drf-jwt = callPackage ../development/python-modules/drf-jwt { };
 
   drf-nested-routers = callPackage ../development/python-modules/drf-nested-routers { };
@@ -4015,6 +4017,8 @@ in {
 
   Kajiki = callPackage ../development/python-modules/kajiki { };
 
+  kaldi-active-grammar = callPackage ../development/python-modules/kaldi-active-grammar { };
+
   kaptan = callPackage ../development/python-modules/kaptan { };
 
   karton-asciimagic = callPackage ../development/python-modules/karton-asciimagic { };
@@ -9106,6 +9110,8 @@ in {
 
   timeago = callPackage ../development/python-modules/timeago { };
 
+  timecop = callPackage ../development/python-modules/timecop { };
+
   timelib = callPackage ../development/python-modules/timelib { };
 
   time-machine = callPackage ../development/python-modules/time-machine { };
@@ -9476,6 +9482,8 @@ in {
 
   userpath = callPackage ../development/python-modules/userpath { };
 
+  ush = callPackage ../development/python-modules/ush { };
+
   utils = callPackage ../development/python-modules/utils { };
 
   uuid = callPackage ../development/python-modules/uuid { };