about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/graphics/krita/default.nix4
-rw-r--r--pkgs/applications/kde/akonadi-contacts.nix6
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/kdeconnect-kde.nix6
-rw-r--r--pkgs/applications/kde/srcs.nix1808
-rw-r--r--pkgs/applications/misc/moolticute/default.nix4
-rw-r--r--pkgs/applications/misc/plover/default.nix8
-rw-r--r--pkgs/applications/misc/variety/default.nix4
-rw-r--r--pkgs/applications/misc/xcruiser/default.nix6
-rw-r--r--pkgs/applications/misc/xxkb/default.nix2
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/bump2version/default.nix35
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch33
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix10
-rw-r--r--pkgs/applications/window-managers/yabar/build.nix25
-rwxr-xr-xpkgs/build-support/buildenv/builder.pl40
-rw-r--r--pkgs/build-support/ocaml/default.nix4
-rw-r--r--pkgs/build-support/ocaml/dune.nix6
-rw-r--r--pkgs/build-support/setup-hooks/autoreconf.sh2
-rw-r--r--pkgs/build-support/setup-hooks/reproducible-builds.sh3
-rw-r--r--pkgs/build-support/setup-hooks/separate-debug-info.sh2
-rw-r--r--pkgs/data/fonts/openmoji/default.nix58
-rw-r--r--pkgs/data/misc/cacert/default.nix144
-rw-r--r--pkgs/data/misc/mobile-broadband-provider-info/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/arcmenu/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.0.1.nix3
-rw-r--r--pkgs/development/compilers/ghc/head.nix3
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch71
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/default.nix2
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix18
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/11.nix5
-rw-r--r--pkgs/development/compilers/orc/default.nix5
-rw-r--r--pkgs/development/compilers/rust/1_54.nix (renamed from pkgs/development/compilers/rust/1_53.nix)30
-rw-r--r--pkgs/development/compilers/yasm/default.nix5
-rw-r--r--pkgs/development/embedded/platformio/chrootenv.nix3
-rw-r--r--pkgs/development/embedded/platformio/core.nix22
-rw-r--r--pkgs/development/interpreters/perl/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix16
-rw-r--r--pkgs/development/interpreters/python/cpython/3.9/darwin-tcl-tk.patch15
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix26
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix8
-rw-r--r--pkgs/development/libraries/boost/default.nix47
-rw-r--r--pkgs/development/libraries/boost/generic.nix60
-rw-r--r--pkgs/development/libraries/boxfort/default.nix4
-rw-r--r--pkgs/development/libraries/c-ares/default.nix6
-rw-r--r--pkgs/development/libraries/criterion/default.nix4
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix10
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix1
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix10
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix15
-rw-r--r--pkgs/development/libraries/glew/default.nix3
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/2.33-master.patch.gzbin56984 -> 58508 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
-rw-r--r--pkgs/development/libraries/gpgme/default.nix20
-rw-r--r--pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff12
-rw-r--r--pkgs/development/libraries/gpgme/test_t-edit-sign.diff125
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix1
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix7
-rw-r--r--pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch34
-rw-r--r--pkgs/development/libraries/libaom/default.nix2
-rw-r--r--pkgs/development/libraries/libbfd/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix45
-rw-r--r--pkgs/development/libraries/liblqr-1/default.nix3
-rw-r--r--pkgs/development/libraries/libmbim/default.nix11
-rw-r--r--pkgs/development/libraries/libqmi/default.nix5
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix6
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/lzo/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix14
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix34
-rw-r--r--pkgs/development/libraries/newt/default.nix9
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix32
-rw-r--r--pkgs/development/libraries/openal-soft/search-out.patch18
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix20
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix4
-rw-r--r--pkgs/development/libraries/zlib/default.nix10
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix57
-rw-r--r--pkgs/development/ocaml-modules/bolt/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/erm_xmpp/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/gen/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/hacl-star/raw.nix2
-rw-r--r--pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix2
-rw-r--r--pkgs/development/ocaml-modules/janestreet/js-build-tools.nix2
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/labltk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/process/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/seq/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/syslog/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/wasm/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix6
-rw-r--r--pkgs/development/python-modules/Cython/default.nix13
-rw-r--r--pkgs/development/python-modules/Fabric/default.nix23
-rw-r--r--pkgs/development/python-modules/Mako/default.nix4
-rw-r--r--pkgs/development/python-modules/Pygments/default.nix4
-rw-r--r--pkgs/development/python-modules/ROPGadget/default.nix4
-rw-r--r--pkgs/development/python-modules/acme-tiny/default.nix20
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix47
-rw-r--r--pkgs/development/python-modules/agate-excel/default.nix8
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/aioprocessing/default.nix2
-rw-r--r--pkgs/development/python-modules/aioredis/default.nix17
-rw-r--r--pkgs/development/python-modules/ajsonrpc/default.nix4
-rw-r--r--pkgs/development/python-modules/alembic/default.nix48
-rw-r--r--pkgs/development/python-modules/ansi2html/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/asn1/default.nix45
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/asttokens/default.nix34
-rw-r--r--pkgs/development/python-modules/auth0-python/default.nix4
-rw-r--r--pkgs/development/python-modules/authcaptureproxy/default.nix4
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix4
-rw-r--r--pkgs/development/python-modules/backports-entry-points-selectable/default.nix32
-rw-r--r--pkgs/development/python-modules/backports_functools_lru_cache/default.nix2
-rw-r--r--pkgs/development/python-modules/bellows/default.nix7
-rw-r--r--pkgs/development/python-modules/beniget/default.nix4
-rw-r--r--pkgs/development/python-modules/block-io/default.nix4
-rw-r--r--pkgs/development/python-modules/bokeh/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--pkgs/development/python-modules/brotli/default.nix20
-rw-r--r--pkgs/development/python-modules/canonicaljson/default.nix20
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix4
-rw-r--r--pkgs/development/python-modules/charset-normalizer/default.nix35
-rw-r--r--pkgs/development/python-modules/chart-studio/default.nix4
-rw-r--r--pkgs/development/python-modules/cliff/default.nix4
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix79
-rw-r--r--pkgs/development/python-modules/colorlog/default.nix4
-rw-r--r--pkgs/development/python-modules/commoncode/default.nix4
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix6
-rw-r--r--pkgs/development/python-modules/configparser/default.nix6
-rw-r--r--pkgs/development/python-modules/contextlib2/0.nix23
-rw-r--r--pkgs/development/python-modules/contextlib2/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptacular/default.nix4
-rw-r--r--pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cxxfilt/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-jobqueue/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-xgboost/default.nix4
-rw-r--r--pkgs/development/python-modules/dask/default.nix54
-rw-r--r--pkgs/development/python-modules/dateutils/default.nix25
-rw-r--r--pkgs/development/python-modules/debugpy/default.nix2
-rw-r--r--pkgs/development/python-modules/decorator/4.nix21
-rw-r--r--pkgs/development/python-modules/decorator/default.nix4
-rw-r--r--pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--pkgs/development/python-modules/distro/default.nix4
-rw-r--r--pkgs/development/python-modules/django-cacheops/default.nix4
-rw-r--r--pkgs/development/python-modules/django_environ/default.nix4
-rw-r--r--pkgs/development/python-modules/django_taggit/default.nix4
-rw-r--r--pkgs/development/python-modules/djangorestframework-simplejwt/default.nix4
-rw-r--r--pkgs/development/python-modules/dpkt/default.nix4
-rw-r--r--pkgs/development/python-modules/elmax/default.nix4
-rw-r--r--pkgs/development/python-modules/executing/default.nix5
-rw-r--r--pkgs/development/python-modules/extractcode/default.nix4
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix14
-rw-r--r--pkgs/development/python-modules/fastdiff/default.nix13
-rw-r--r--pkgs/development/python-modules/fastimport/default.nix4
-rw-r--r--pkgs/development/python-modules/fastparquet/default.nix15
-rw-r--r--pkgs/development/python-modules/ffmpeg-progress-yield/default.nix4
-rw-r--r--pkgs/development/python-modules/fiona/default.nix12
-rw-r--r--pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-migrate/default.nix4
-rw-r--r--pkgs/development/python-modules/flit-core/default.nix25
-rw-r--r--pkgs/development/python-modules/flit-core/tests.nix22
-rw-r--r--pkgs/development/python-modules/freetype-py/default.nix18
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix41
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix4
-rw-r--r--pkgs/development/python-modules/geoalchemy2/default.nix42
-rw-r--r--pkgs/development/python-modules/gevent-websocket/default.nix6
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix45
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-testutils/default.nix4
-rw-r--r--pkgs/development/python-modules/google-crc32c/default.nix4
-rw-r--r--pkgs/development/python-modules/gradient/default.nix4
-rw-r--r--pkgs/development/python-modules/graphql-core/default.nix4
-rw-r--r--pkgs/development/python-modules/green/default.nix4
-rw-r--r--pkgs/development/python-modules/greenlet/default.nix4
-rw-r--r--pkgs/development/python-modules/h5py/default.nix4
-rw-r--r--pkgs/development/python-modules/hdbscan/default.nix2
-rw-r--r--pkgs/development/python-modules/hstspreload/default.nix4
-rw-r--r--pkgs/development/python-modules/httpretty/default.nix4
-rw-r--r--pkgs/development/python-modules/httptools/default.nix4
-rw-r--r--pkgs/development/python-modules/httpx/default.nix6
-rw-r--r--pkgs/development/python-modules/humanize/default.nix4
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix4
-rw-r--r--pkgs/development/python-modules/hypothesmith/default.nix4
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix30
-rw-r--r--pkgs/development/python-modules/ibm-watson/default.nix4
-rw-r--r--pkgs/development/python-modules/imageio-ffmpeg/default.nix4
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/imdbpy/default.nix4
-rw-r--r--pkgs/development/python-modules/iminuit/default.nix4
-rw-r--r--pkgs/development/python-modules/immutabledict/default.nix10
-rw-r--r--pkgs/development/python-modules/importlib-metadata/default.nix4
-rw-r--r--pkgs/development/python-modules/importlib-resources/default.nix4
-rw-r--r--pkgs/development/python-modules/inflect/default.nix3
-rw-r--r--pkgs/development/python-modules/inform/default.nix4
-rw-r--r--pkgs/development/python-modules/intake/default.nix4
-rw-r--r--pkgs/development/python-modules/invoke/default.nix4
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix51
-rw-r--r--pkgs/development/python-modules/ipykernel/tests.nix57
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/irc/default.nix3
-rw-r--r--pkgs/development/python-modules/islpy/default.nix4
-rw-r--r--pkgs/development/python-modules/isort/default.nix9
-rw-r--r--pkgs/development/python-modules/iterm2/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_classes/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_collections/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_functools/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_text/default.nix4
-rw-r--r--pkgs/development/python-modules/jeepney/default.nix6
-rw-r--r--pkgs/development/python-modules/jira/default.nix56
-rw-r--r--pkgs/development/python-modules/jira/sphinx-fix.patch11
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_client/default.nix18
-rw-r--r--pkgs/development/python-modules/jupyter_server/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab-git/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab_server/default.nix4
-rw-r--r--pkgs/development/python-modules/k5test/default.nix16
-rw-r--r--pkgs/development/python-modules/k5test/fix-paths.patch88
-rw-r--r--pkgs/development/python-modules/keyring/default.nix7
-rw-r--r--pkgs/development/python-modules/keyrings-alt/default.nix8
-rw-r--r--pkgs/development/python-modules/kiwisolver/default.nix4
-rw-r--r--pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--pkgs/development/python-modules/ldap3/default.nix4
-rw-r--r--pkgs/development/python-modules/lexid/default.nix10
-rw-r--r--pkgs/development/python-modules/libarchive-c/default.nix42
-rw-r--r--pkgs/development/python-modules/libcst/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix8
-rw-r--r--pkgs/development/python-modules/marisa-trie/default.nix4
-rw-r--r--pkgs/development/python-modules/markdown-it-py/default.nix14
-rw-r--r--pkgs/development/python-modules/marshmallow-oneofschema/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/mattermostdriver/default.nix4
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--pkgs/development/python-modules/minidump/default.nix4
-rw-r--r--pkgs/development/python-modules/mkl-service/default.nix4
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--pkgs/development/python-modules/mne-python/default.nix4
-rw-r--r--pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--pkgs/development/python-modules/monotonic/default.nix4
-rw-r--r--pkgs/development/python-modules/monty/default.nix17
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix48
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nbdime/default.nix4
-rw-r--r--pkgs/development/python-modules/numba/default.nix19
-rw-r--r--pkgs/development/python-modules/numpy/default.nix8
-rw-r--r--pkgs/development/python-modules/nunavut/default.nix4
-rw-r--r--pkgs/development/python-modules/openshift/default.nix4
-rw-r--r--pkgs/development/python-modules/optuna/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/panel/default.nix11
-rw-r--r--pkgs/development/python-modules/panel/node/node-env.nix10
-rw-r--r--pkgs/development/python-modules/panel/node/node-packages.nix172
-rw-r--r--pkgs/development/python-modules/panel/node/package.json4
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix20
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix4
-rw-r--r--pkgs/development/python-modules/pathy/default.nix4
-rw-r--r--pkgs/development/python-modules/pbr/default.nix5
-rw-r--r--pkgs/development/python-modules/pdoc3/default.nix4
-rw-r--r--pkgs/development/python-modules/phik/default.nix4
-rw-r--r--pkgs/development/python-modules/pkgconfig/default.nix4
-rw-r--r--pkgs/development/python-modules/pkginfo/default.nix4
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/platformdirs/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix17
-rw-r--r--pkgs/development/python-modules/pluggy/0.nix34
-rw-r--r--pkgs/development/python-modules/pluggy/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry-core/default.nix5
-rw-r--r--pkgs/development/python-modules/poetry/default.nix4
-rw-r--r--pkgs/development/python-modules/prance/default.nix32
-rw-r--r--pkgs/development/python-modules/prettytable/default.nix4
-rw-r--r--pkgs/development/python-modules/priority/default.nix4
-rw-r--r--pkgs/development/python-modules/psd-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--pkgs/development/python-modules/pybids/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix4
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix4
-rw-r--r--pkgs/development/python-modules/pykka/default.nix34
-rw-r--r--pkgs/development/python-modules/pylint/default.nix20
-rw-r--r--pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix4
-rw-r--r--pkgs/development/python-modules/pymc3/default.nix4
-rw-r--r--pkgs/development/python-modules/pynndescent/default.nix27
-rw-r--r--pkgs/development/python-modules/pyocr/default.nix37
-rw-r--r--pkgs/development/python-modules/pyosmium/default.nix7
-rw-r--r--pkgs/development/python-modules/pyphen/default.nix20
-rw-r--r--pkgs/development/python-modules/pyramid/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroma/default.nix19
-rw-r--r--pkgs/development/python-modules/pyrsistent/default.nix4
-rw-r--r--pkgs/development/python-modules/pysatochip/default.nix28
-rw-r--r--pkgs/development/python-modules/pysdl2/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-doctestplus/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest-httpx/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-isort/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-randomly/default.nix10
-rw-r--r--pkgs/development/python-modules/pytest-relaxed/default.nix20
-rw-r--r--pkgs/development/python-modules/pytest-xprocess/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/4.nix5
-rw-r--r--pkgs/development/python-modules/pytest/5.nix5
-rw-r--r--pkgs/development/python-modules/pytest/default.nix9
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix39
-rw-r--r--pkgs/development/python-modules/python-dotenv/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ethtool/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix33
-rw-r--r--pkgs/development/python-modules/python-rapidjson/default.nix4
-rw-r--r--pkgs/development/python-modules/pythran/default.nix3
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyusb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix4
-rw-r--r--pkgs/development/python-modules/pyzmq/default.nix4
-rw-r--r--pkgs/development/python-modules/qtpy/default.nix4
-rw-r--r--pkgs/development/python-modules/quantities/default.nix28
-rw-r--r--pkgs/development/python-modules/queuelib/default.nix4
-rw-r--r--pkgs/development/python-modules/r2pipe/default.nix4
-rw-r--r--pkgs/development/python-modules/rdflib-jsonld/default.nix2
-rw-r--r--pkgs/development/python-modules/rdflib/default.nix4
-rw-r--r--pkgs/development/python-modules/regex/default.nix4
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/requests/default.nix22
-rw-r--r--pkgs/development/python-modules/rich/default.nix4
-rw-r--r--pkgs/development/python-modules/robotframework-sshlibrary/default.nix4
-rw-r--r--pkgs/development/python-modules/ruamel_yaml/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic-testing/default.nix13
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix4
-rw-r--r--pkgs/development/python-modules/schema-salad/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-image/default.nix4
-rw-r--r--pkgs/development/python-modules/scipy/default.nix14
-rw-r--r--pkgs/development/python-modules/screeninfo/default.nix52
-rw-r--r--pkgs/development/python-modules/setuptools-scm/default.nix20
-rw-r--r--pkgs/development/python-modules/simple-salesforce/default.nix4
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix4
-rw-r--r--pkgs/development/python-modules/singledispatch/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/slowapi/default.nix6
-rw-r--r--pkgs/development/python-modules/smart-meter-texas/default.nix6
-rw-r--r--pkgs/development/python-modules/smart-open/default.nix4
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--pkgs/development/python-modules/snscrape/default.nix41
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix9
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-autoapi/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch22
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-tikz/default.nix15
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix17
-rw-r--r--pkgs/development/python-modules/ssdp/default.nix48
-rw-r--r--pkgs/development/python-modules/starlette/default.nix30
-rw-r--r--pkgs/development/python-modules/sure/default.nix4
-rw-r--r--pkgs/development/python-modules/tableaudocumentapi/default.nix4
-rw-r--r--pkgs/development/python-modules/tempora/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorboard-plugin-profile/default.nix5
-rw-r--r--pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--pkgs/development/python-modules/termplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/tern/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/testtools/default.nix4
-rw-r--r--pkgs/development/python-modules/texttable/default.nix4
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/tomli/default.nix25
-rw-r--r--pkgs/development/python-modules/tomli/tests.nix21
-rw-r--r--pkgs/development/python-modules/towncrier/default.nix12
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix4
-rw-r--r--pkgs/development/python-modules/traitlets/default.nix4
-rw-r--r--pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--pkgs/development/python-modules/twine/default.nix5
-rw-r--r--pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/typing-extensions/default.nix4
-rw-r--r--pkgs/development/python-modules/tzlocal/default.nix2
-rw-r--r--pkgs/development/python-modules/uvloop/default.nix4
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix25
-rw-r--r--pkgs/development/python-modules/vispy/default.nix51
-rw-r--r--pkgs/development/python-modules/vivisect/default.nix4
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix110
-rw-r--r--pkgs/development/python-modules/wasmer/tests.nix25
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix4
-rw-r--r--pkgs/development/python-modules/webargs/default.nix4
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix7
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xmlsec/default.nix3
-rw-r--r--pkgs/development/python-modules/yamlloader/default.nix4
-rw-r--r--pkgs/development/python-modules/yt/default.nix4
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--pkgs/development/python-modules/zconfig/default.nix19
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix13
-rw-r--r--pkgs/development/python-modules/zigpy-znp/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/development/python-modules/zipp/default.nix16
-rw-r--r--pkgs/development/python-modules/zodb/default.nix82
-rw-r--r--pkgs/development/python-modules/zope_component/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb1
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix2
-rw-r--r--pkgs/development/tools/boost-build/default.nix35
-rw-r--r--pkgs/development/tools/build-managers/cmake/application-services.patch26
-rw-r--r--pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch14
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix54
-rw-r--r--pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch89
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix17
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.16.x.nix13
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix16
-rw-r--r--pkgs/development/tools/misc/binutils/gold-Update-GNU_PROPERTY_X86_XXX-macros.patch292
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/dune/1.nix8
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix5
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix27
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix18
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix10
-rw-r--r--pkgs/development/tools/ocaml/opaline/default.nix3
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix18
-rw-r--r--pkgs/development/tools/rust/cargo-c/default.nix25
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix6
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--pkgs/games/portmod/default.nix27
-rw-r--r--pkgs/misc/pylode/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix6
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix6
-rw-r--r--pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix16
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix15
-rw-r--r--pkgs/os-specific/linux/lvm2/fix-stdio-usage.patch53
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix118
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix4
-rw-r--r--pkgs/servers/calibre-web/default.nix6
-rw-r--r--pkgs/servers/gerbera/default.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix23
-rw-r--r--pkgs/servers/sql/mariadb/connector-c/3_2.nix6
-rw-r--r--pkgs/servers/sql/mariadb/default.nix8
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/default.nix12
-rw-r--r--pkgs/servers/x11/xorg/imake.patch34
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list4
-rw-r--r--pkgs/stdenv/adapters.nix32
-rw-r--r--pkgs/stdenv/cross/default.nix14
-rw-r--r--pkgs/stdenv/generic/setup.sh23
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix8
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/awscli2/default.nix12
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix8
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix5
-rw-r--r--pkgs/tools/archivers/unzip/default.nix7
-rw-r--r--pkgs/tools/archivers/zip/default.nix7
-rw-r--r--pkgs/tools/audio/mpd-mpris/default.nix6
-rw-r--r--pkgs/tools/backup/automysqlbackup/default.nix16
-rw-r--r--pkgs/tools/compression/xz/default.nix5
-rw-r--r--pkgs/tools/compression/zstd/default.nix7
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/moosefs/default.nix4
-rw-r--r--pkgs/tools/misc/apparix/default.nix5
-rw-r--r--pkgs/tools/misc/aws-mturk-clt/default.nix5
-rw-r--r--pkgs/tools/misc/bfr/default.nix2
-rw-r--r--pkgs/tools/misc/bogofilter/default.nix6
-rw-r--r--pkgs/tools/misc/ccze/default.nix5
-rw-r--r--pkgs/tools/misc/convmv/default.nix5
-rw-r--r--pkgs/tools/misc/dbacl/default.nix6
-rw-r--r--pkgs/tools/misc/detox/default.nix7
-rw-r--r--pkgs/tools/misc/dmg2img/default.nix5
-rw-r--r--pkgs/tools/misc/dvtm/default.nix5
-rw-r--r--pkgs/tools/misc/dvtm/dvtm.nix4
-rw-r--r--pkgs/tools/misc/dvtm/unstable.nix3
-rw-r--r--pkgs/tools/misc/ent/default.nix3
-rw-r--r--pkgs/tools/misc/fasd/default.nix2
-rw-r--r--pkgs/tools/misc/figlet/default.nix7
-rw-r--r--pkgs/tools/misc/file/default.nix10
-rw-r--r--pkgs/tools/misc/fileschanged/default.nix5
-rw-r--r--pkgs/tools/misc/fontforge/default.nix6
-rw-r--r--pkgs/tools/misc/git-fire/default.nix3
-rw-r--r--pkgs/tools/misc/grub/default.nix7
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix7
-rw-r--r--pkgs/tools/misc/kermit/default.nix3
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix7
-rw-r--r--pkgs/tools/misc/logtop/default.nix7
-rw-r--r--pkgs/tools/misc/lrzsz/default.nix5
-rw-r--r--pkgs/tools/misc/makebootfat/default.nix5
-rw-r--r--pkgs/tools/misc/man-db/default.nix5
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix7
-rw-r--r--pkgs/tools/misc/odroid-xu3-bootloader/default.nix3
-rw-r--r--pkgs/tools/misc/pal/default.nix5
-rw-r--r--pkgs/tools/misc/parted/default.nix5
-rw-r--r--pkgs/tools/misc/pg_top/default.nix5
-rw-r--r--pkgs/tools/misc/pk2cmd/default.nix7
-rw-r--r--pkgs/tools/misc/proxytunnel/default.nix7
-rw-r--r--pkgs/tools/misc/pv/default.nix5
-rw-r--r--pkgs/tools/misc/qjoypad/default.nix5
-rw-r--r--pkgs/tools/misc/renameutils/default.nix7
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix5
-rw-r--r--pkgs/tools/misc/rkflashtool/default.nix5
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix5
-rw-r--r--pkgs/tools/misc/scfbuild/default.nix12
-rw-r--r--pkgs/tools/misc/scfbuild/python-3.patch46
-rw-r--r--pkgs/tools/misc/sixpair/default.nix3
-rw-r--r--pkgs/tools/misc/slsnif/default.nix7
-rw-r--r--pkgs/tools/misc/smc/default.nix7
-rw-r--r--pkgs/tools/misc/t1utils/default.nix2
-rw-r--r--pkgs/tools/misc/timidity/default.nix7
-rw-r--r--pkgs/tools/misc/tmpwatch/default.nix7
-rw-r--r--pkgs/tools/misc/tmux-cssh/default.nix3
-rw-r--r--pkgs/tools/misc/ttf2pt1/default.nix7
-rw-r--r--pkgs/tools/misc/ttmkfdir/default.nix3
-rw-r--r--pkgs/tools/misc/unclutter/default.nix7
-rw-r--r--pkgs/tools/misc/uucp/default.nix5
-rw-r--r--pkgs/tools/misc/uudeview/default.nix5
-rw-r--r--pkgs/tools/misc/vorbisgain/default.nix5
-rw-r--r--pkgs/tools/misc/wv2/default.nix5
-rw-r--r--pkgs/tools/misc/xdxf2slob/default.nix3
-rw-r--r--pkgs/tools/misc/xflux/default.nix3
-rw-r--r--pkgs/tools/misc/xfstests/default.nix3
-rw-r--r--pkgs/tools/misc/xtitle/default.nix7
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix5
-rw-r--r--pkgs/tools/misc/yubikey-personalization-gui/default.nix5
-rw-r--r--pkgs/tools/misc/zoxide/default.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix23
-rw-r--r--pkgs/tools/networking/gobgp/default.nix4
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix (renamed from pkgs/tools/networking/modem-manager/default.nix)6
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/security/hologram/default.nix5
-rw-r--r--pkgs/tools/security/mbox/default.nix19
-rw-r--r--pkgs/tools/security/meo/default.nix10
-rw-r--r--pkgs/tools/security/wapiti/default.nix2
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix5
-rw-r--r--pkgs/tools/system/loadwatch/default.nix5
-rw-r--r--pkgs/tools/system/localtime/default.nix3
-rw-r--r--pkgs/tools/system/opencl-info/default.nix2
-rw-r--r--pkgs/tools/system/rowhammer-test/default.nix4
-rw-r--r--pkgs/tools/system/which/default.nix5
-rw-r--r--pkgs/tools/text/catdocx/default.nix3
-rw-r--r--pkgs/tools/text/convertlit/default.nix7
-rw-r--r--pkgs/tools/text/diffstat/default.nix7
-rw-r--r--pkgs/tools/text/ebook-tools/default.nix5
-rw-r--r--pkgs/tools/text/gawk/default.nix19
-rw-r--r--pkgs/tools/text/html2text/default.nix7
-rw-r--r--pkgs/tools/text/kakasi/default.nix5
-rw-r--r--pkgs/tools/text/mairix/default.nix5
-rw-r--r--pkgs/tools/text/mawk/default.nix7
-rw-r--r--pkgs/tools/text/mpage/default.nix6
-rw-r--r--pkgs/tools/text/multitran/data/default.nix4
-rw-r--r--pkgs/tools/text/multitran/libbtree/default.nix8
-rw-r--r--pkgs/tools/text/multitran/libfacet/default.nix7
-rw-r--r--pkgs/tools/text/multitran/libmtquery/default.nix8
-rw-r--r--pkgs/tools/text/multitran/libmtsupport/default.nix8
-rw-r--r--pkgs/tools/text/multitran/mtutils/default.nix8
-rw-r--r--pkgs/tools/text/qprint/default.nix5
-rw-r--r--pkgs/tools/text/sgml/openjade/default.nix5
-rw-r--r--pkgs/tools/text/sgml/opensp/default.nix7
-rw-r--r--pkgs/tools/text/uni2ascii/default.nix6
-rw-r--r--pkgs/tools/text/xml/xml2/default.nix7
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/default.nix5
-rw-r--r--pkgs/tools/text/xml/xpf/default.nix7
-rw-r--r--pkgs/tools/text/yaml-merge/default.nix3
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix5
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix5
-rw-r--r--pkgs/tools/typesetting/halibut/default.nix5
-rw-r--r--pkgs/tools/typesetting/hevea/default.nix5
-rw-r--r--pkgs/tools/typesetting/lout/default.nix9
-rw-r--r--pkgs/tools/typesetting/psutils/default.nix7
-rw-r--r--pkgs/tools/typesetting/tex/lkproof/default.nix3
-rw-r--r--pkgs/tools/typesetting/tex/pgfplots/default.nix7
-rw-r--r--pkgs/tools/typesetting/tex/tetex/default.nix9
-rw-r--r--pkgs/top-level/aliases.nix37
-rw-r--r--pkgs/top-level/all-packages.nix631
-rw-r--r--pkgs/top-level/linux-kernels.nix555
-rw-r--r--pkgs/top-level/python-packages.nix39
-rw-r--r--pkgs/top-level/python2-packages.nix6
-rw-r--r--pkgs/top-level/stage.nix1
-rw-r--r--pkgs/top-level/static.nix117
616 files changed, 6177 insertions, 3993 deletions
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 71e7be66b1eb8..89d49f5e62856 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.2.2567";
+  version = "8.2.3337";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-FS3TZX7FKnnNpGYKbng2LIfWA9z2jqg7d2HC6t3xYTU=";
+    sha256 = "sha256-iwSGcLeqXH0bVIXEI5OnotG88Uv8ntycisD9EcHjz/c=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 85830f9a04558..3a86d1d4cc738 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "krita";
-  version = "4.4.5";
+  version = "4.4.7";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-S/1ygIcNEGCgDREj2Db8Gltb+KAoZ2Z58CaM1ef7dWg=";
+    sha256 = "sha256-I6fFxPRCcRU5dyFXZPvGvTb9MuGikrvTaGCXpp4LRRk=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix
index ad94c79e0f3cb..76c4f3f2c5079 100644
--- a/pkgs/applications/kde/akonadi-contacts.nix
+++ b/pkgs/applications/kde/akonadi-contacts.nix
@@ -3,8 +3,8 @@
   extra-cmake-modules,
   qtwebengine,
   grantlee, grantleetheme,
-  kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, prison,
-  akonadi, akonadi-mime, kcontacts, kmime, libkleo,
+  kcmutils, kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets,
+  prison, akonadi, akonadi-mime, kcontacts, kmime, libkleo,
 }:
 
 mkDerivation {
@@ -17,7 +17,7 @@ mkDerivation {
   buildInputs = [
     qtwebengine
     grantlee grantleetheme
-    kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
+    kcmutils kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
     akonadi-mime kcontacts kmime libkleo
   ];
   propagatedBuildInputs = [ akonadi ];
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 3208fce8767a6..73da15cc3c05f 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.kde.org/stable/release-service/21.04.0/src -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/release-service/21.08.0/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix
index 30bd0731a8714..e21a85df01437 100644
--- a/pkgs/applications/kde/kdeconnect-kde.nix
+++ b/pkgs/applications/kde/kdeconnect-kde.nix
@@ -19,12 +19,15 @@
 , makeWrapper
 , pulseaudio-qt
 , qca-qt5
+, qqc2-desktop-style
 , qtgraphicaleffects
 , qtmultimedia
 , qtquickcontrols2
 , qtx11extras
 , breeze-icons
 , sshfs
+, wayland
+, wayland-scanner
 }:
 
 mkDerivation {
@@ -46,10 +49,13 @@ mkDerivation {
     libfakekey
     pulseaudio-qt
     qca-qt5
+    qqc2-desktop-style
     qtgraphicaleffects
     qtmultimedia
     qtquickcontrols2
     qtx11extras
+    wayland
+    wayland-scanner
     # otherwise buttons are blank on non-kde
     breeze-icons
   ];
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index f6dd35c83a380..7ef67e7b03625 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1803 +4,1811 @@
 
 {
   akonadi = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-21.04.0.tar.xz";
-      sha256 = "1ka1cxwqvcdyy9i1p7v7vrcrs9d1kx892wzq1dw3jrq9x57l5drz";
-      name = "akonadi-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-21.08.0.tar.xz";
+      sha256 = "0qjg8q11ir3dnhxgd068pniy4rwl8p2g0wwaf4cyzz4qw4kp8sbs";
+      name = "akonadi-21.08.0.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-calendar-21.04.0.tar.xz";
-      sha256 = "1yf92jx7x19cp95c8nbkgmz5q1cg7096gdwy525df56h3pgbm651";
-      name = "akonadi-calendar-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-calendar-21.08.0.tar.xz";
+      sha256 = "0f3psag09vc7k29z6p091qpb4b8464k6mjc5qf3mcnrfy2s6viw6";
+      name = "akonadi-calendar-21.08.0.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-calendar-tools-21.04.0.tar.xz";
-      sha256 = "1g0k1c11lysk3mi6k83lw70d64x543pcdgc9af1hyckb6clzh2gm";
-      name = "akonadi-calendar-tools-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-calendar-tools-21.08.0.tar.xz";
+      sha256 = "1pzs9bdh7lm7kqyrg6qhjj70rkdycfy4ys35ibrgwjv7r6zdgvfx";
+      name = "akonadi-calendar-tools-21.08.0.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadiconsole-21.04.0.tar.xz";
-      sha256 = "0l6famxpw64w7gmknx4szsg16hjydp3cr2mp0z0dfzi4m1i64gi7";
-      name = "akonadiconsole-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadiconsole-21.08.0.tar.xz";
+      sha256 = "0sq03jrv9i86qw7217s77hfz6105dc7s51fzdhxw15zzv07qd1hb";
+      name = "akonadiconsole-21.08.0.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-contacts-21.04.0.tar.xz";
-      sha256 = "1130dvx8dpfvqsydhx1qy83bqx4drgb762ycf10cqkjvm6sjg3jh";
-      name = "akonadi-contacts-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-contacts-21.08.0.tar.xz";
+      sha256 = "0ay0fsb5rrv88w4azlcvmrhsdf4hx6nw8ahz0ik54j8x7ciabyq1";
+      name = "akonadi-contacts-21.08.0.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-import-wizard-21.04.0.tar.xz";
-      sha256 = "1idxpymfags4zrqlagndrkp9yvr24vvd4rzm7gm2zxwilw90smdh";
-      name = "akonadi-import-wizard-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-import-wizard-21.08.0.tar.xz";
+      sha256 = "1pcnasgl6f8z4hwgp5nnk4c5hvw210f0b89zjw7v18il2s09vr58";
+      name = "akonadi-import-wizard-21.08.0.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-mime-21.04.0.tar.xz";
-      sha256 = "037v29sq0q46i675n177ny3n5rvndvdpvydbika89gkiyag6hh1v";
-      name = "akonadi-mime-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-mime-21.08.0.tar.xz";
+      sha256 = "08c1gn28p3lna8kh33s7ckj37yk5fz26d5n9msrr5497xlf3zyik";
+      name = "akonadi-mime-21.08.0.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-notes-21.04.0.tar.xz";
-      sha256 = "0l0m3qpqj4g6j58kfc2xc48cwhhf0538h5bw5m8z123pcggp3w20";
-      name = "akonadi-notes-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-notes-21.08.0.tar.xz";
+      sha256 = "14d18h3jx761d3zh4m90fmw9fgn4yk22dvgif8ibm3xz8rwjc2v9";
+      name = "akonadi-notes-21.08.0.tar.xz";
     };
   };
   akonadi-search = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akonadi-search-21.04.0.tar.xz";
-      sha256 = "189z9vqn05ph7c6sfr413hywrrqs1yn5sj84563bjf3rdzn4zp67";
-      name = "akonadi-search-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akonadi-search-21.08.0.tar.xz";
+      sha256 = "0sknzn0ks8az27a212mdfymrlybscl5irars3axb3f7r7lg4iw9s";
+      name = "akonadi-search-21.08.0.tar.xz";
     };
   };
   akregator = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/akregator-21.04.0.tar.xz";
-      sha256 = "1px3sxsbhh98822i3yxs9sq019f78njfai07rsyf9wbawa6xj2sm";
-      name = "akregator-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/akregator-21.08.0.tar.xz";
+      sha256 = "067dmvnssgcs5410xwnpr38lcxvqms4h70vxnqwzivj2yidymybd";
+      name = "akregator-21.08.0.tar.xz";
     };
   };
   analitza = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/analitza-21.04.0.tar.xz";
-      sha256 = "1g4sfcdp13xsbfc1c64pgj7ax75z9cpqgy3sri4cm4qk9d2kkj0i";
-      name = "analitza-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/analitza-21.08.0.tar.xz";
+      sha256 = "1nrja7d5kpn1jywld737rx298ykvypb66mi1rxamscr59x2msq4l";
+      name = "analitza-21.08.0.tar.xz";
     };
   };
   ark = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ark-21.04.0.tar.xz";
-      sha256 = "034ywf6favaj7cbfmcgz00yrmvpb8vxsw4yq8a7y6f40b590aphf";
-      name = "ark-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ark-21.08.0.tar.xz";
+      sha256 = "08pm60963fp77wklv3as2c4mg3qrhm7k8hdy7fqdq7l2y64syzfx";
+      name = "ark-21.08.0.tar.xz";
     };
   };
   artikulate = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/artikulate-21.04.0.tar.xz";
-      sha256 = "0pbsbhl1phfzrgb393qf60n8k20f1qkda7a0mk6rxp1zj00pg7zw";
-      name = "artikulate-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/artikulate-21.08.0.tar.xz";
+      sha256 = "0w7f8yrfx57bg765iflpb3wjclncrpbfk0q0kych1pvynbxxam03";
+      name = "artikulate-21.08.0.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/audiocd-kio-21.04.0.tar.xz";
-      sha256 = "1bbdw5gxjzpvvbq28zhazdr2ir1i3diy7rvz77cmw7jlj98x40m0";
-      name = "audiocd-kio-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/audiocd-kio-21.08.0.tar.xz";
+      sha256 = "12yp1k2z1sp785g5zzhq0v72qpc5gkw0cl7bbm9xn36jy4phi99s";
+      name = "audiocd-kio-21.08.0.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/baloo-widgets-21.04.0.tar.xz";
-      sha256 = "08y590n7rrha28pyjmf3liishmfjyx422ryd5viwb21g3isdb5ir";
-      name = "baloo-widgets-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/baloo-widgets-21.08.0.tar.xz";
+      sha256 = "0hf7lrr502xk5154k7889yxxqdnz6k6v70pkwz1s9qq0d58xrwcy";
+      name = "baloo-widgets-21.08.0.tar.xz";
     };
   };
   blinken = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/blinken-21.04.0.tar.xz";
-      sha256 = "00fb1a98f6qs2pjcb2hc4rh2zgnqzhg21dal0rc4ddglm0mvgq27";
-      name = "blinken-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/blinken-21.08.0.tar.xz";
+      sha256 = "0i4qs4bbk3kpi0hg98mbrdrndj687gdnyxnx3riay0vs9myqsa25";
+      name = "blinken-21.08.0.tar.xz";
     };
   };
   bomber = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/bomber-21.04.0.tar.xz";
-      sha256 = "0fkikbyayd5ickhjwgd57kb89698w9ni89218bc47gkqvgm7zdzy";
-      name = "bomber-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/bomber-21.08.0.tar.xz";
+      sha256 = "1rkyxzdcjvzf6m6idjjx4xhqrj7j7cybnjmzyy9i81jnraql58gg";
+      name = "bomber-21.08.0.tar.xz";
     };
   };
   bovo = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/bovo-21.04.0.tar.xz";
-      sha256 = "1k6k9hkzrnz2802k4pq0aabdbkwwdvqi8c669cjhxwqxrpxhlan3";
-      name = "bovo-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/bovo-21.08.0.tar.xz";
+      sha256 = "09gqf0cw23ia10sbqa4szlycihdjmiccvf024vgz8yyy8hi9n2hr";
+      name = "bovo-21.08.0.tar.xz";
     };
   };
   calendarsupport = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/calendarsupport-21.04.0.tar.xz";
-      sha256 = "0m3x1pimy5sldgzkggwxyv3r0vn802bysf73nf6azgqachj1rm4g";
-      name = "calendarsupport-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/calendarsupport-21.08.0.tar.xz";
+      sha256 = "18dy6dhv0z8acvzr47q93rn027pm6dy5r49gagq975jkjw77wncp";
+      name = "calendarsupport-21.08.0.tar.xz";
     };
   };
   cantor = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/cantor-21.04.0.tar.xz";
-      sha256 = "0saz2xapfqmqlh9cmz8vkhsz5ai9fjgzp5y4rg4nc77b6wfwijpp";
-      name = "cantor-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/cantor-21.08.0.tar.xz";
+      sha256 = "0q7l3x5m0s3j9qlhjjvflzfi613638yzi38kcp1ldas1sw48jh7i";
+      name = "cantor-21.08.0.tar.xz";
     };
   };
   cervisia = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/cervisia-21.04.0.tar.xz";
-      sha256 = "1r76mdrq4v8f850kgx6wamhhpnvj5giclnfp8ck0f86lqx228xhz";
-      name = "cervisia-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/cervisia-21.08.0.tar.xz";
+      sha256 = "108wm6r0h2lz29z7g47m0vhg0rmsqrlwgx0is6ymbbaf7kdy8ynm";
+      name = "cervisia-21.08.0.tar.xz";
     };
   };
   dolphin = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/dolphin-21.04.0.tar.xz";
-      sha256 = "1gmxrxs4h9bk1lxs2gn0gv44067wk19p8mq85n6dbpry9sfyb229";
-      name = "dolphin-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/dolphin-21.08.0.tar.xz";
+      sha256 = "18b751bmq1mlq8zw6wkk2jw8qqn8n2n84vb9ga4jl6bi2gjdqrjn";
+      name = "dolphin-21.08.0.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/dolphin-plugins-21.04.0.tar.xz";
-      sha256 = "1ll8yhglncbzdmq6kpzavgd2q9llfbcqjyz8x97nlwibqszrbcwz";
-      name = "dolphin-plugins-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/dolphin-plugins-21.08.0.tar.xz";
+      sha256 = "1d10sbxpgz5fvw7ym8804qkqmrv1w4css5sn96xhd7kb7n23jbh8";
+      name = "dolphin-plugins-21.08.0.tar.xz";
     };
   };
   dragon = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/dragon-21.04.0.tar.xz";
-      sha256 = "00lnrskgvxclf75h89ycgafajkw1ddqg74lv38dv9yc21lh683k9";
-      name = "dragon-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/dragon-21.08.0.tar.xz";
+      sha256 = "0d6kradbq010gmknzi4xf7x7b3cl2lmadhdngijmqw0k66g0gi6m";
+      name = "dragon-21.08.0.tar.xz";
     };
   };
   elisa = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/elisa-21.04.0.tar.xz";
-      sha256 = "152i6748pkgnbpd192wd161w001l13gyinar1gphg46gb0z898sg";
-      name = "elisa-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/elisa-21.08.0.tar.xz";
+      sha256 = "14zlwx97ia7hlzylc0anj57gd2b300hclpjwhzr512sis704cyym";
+      name = "elisa-21.08.0.tar.xz";
     };
   };
   eventviews = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/eventviews-21.04.0.tar.xz";
-      sha256 = "1zq97jfgl0k7k1nhv6zcnbicl1af86rz6hzski9hm387bh60rn5v";
-      name = "eventviews-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/eventviews-21.08.0.tar.xz";
+      sha256 = "06ryds5yc5rb3smdhyc1w94idg0apadfjrv65z7ikh85rw82h62s";
+      name = "eventviews-21.08.0.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ffmpegthumbs-21.04.0.tar.xz";
-      sha256 = "06ycd5q5b4j6xxvrfvvpfdbmzrk8xysv7k8m64yypxnv9r7h1rsa";
-      name = "ffmpegthumbs-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ffmpegthumbs-21.08.0.tar.xz";
+      sha256 = "0cbinfvfxibpigcv2pwa95yiyd0nll7qrhcb7gcaa21vsq6ggf5m";
+      name = "ffmpegthumbs-21.08.0.tar.xz";
     };
   };
   filelight = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/filelight-21.04.0.tar.xz";
-      sha256 = "1bfpqc67mkqz1w7wwv3p28q0n55vc78l94nyg805zs9adk00886v";
-      name = "filelight-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/filelight-21.08.0.tar.xz";
+      sha256 = "1x287k36grk3hn7gl7n7sc89a0ibcciz93bym0znl241fd2ncl3q";
+      name = "filelight-21.08.0.tar.xz";
     };
   };
   granatier = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/granatier-21.04.0.tar.xz";
-      sha256 = "0qcnr7n2401ykgwbz4lcsgp19fkb90lfbblbmrnbcslfc5pz8jz8";
-      name = "granatier-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/granatier-21.08.0.tar.xz";
+      sha256 = "119nfjcmi6fw47700cj4lxczgmc1dv3nxg2mjvzmp9gbr0cfmybb";
+      name = "granatier-21.08.0.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/grantlee-editor-21.04.0.tar.xz";
-      sha256 = "0rfcv63flw5izccqxz7mz43hvlim1cilnmrvk2vxc258vl1a226p";
-      name = "grantlee-editor-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/grantlee-editor-21.08.0.tar.xz";
+      sha256 = "1jf3bzbg9k4xxhq1r22s5r31f5876gihwgipfdpmk7r7hckz2dzr";
+      name = "grantlee-editor-21.08.0.tar.xz";
     };
   };
   grantleetheme = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/grantleetheme-21.04.0.tar.xz";
-      sha256 = "1jxdi7as6c81sy7zs59y6a0gmsjz6xwh6vbcr3r64wx62hj6vyls";
-      name = "grantleetheme-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/grantleetheme-21.08.0.tar.xz";
+      sha256 = "14sl4wnas4xcx0dpdp6bqi0fk6ylmm6k0cwiyhxp3n2mam1v9ia5";
+      name = "grantleetheme-21.08.0.tar.xz";
     };
   };
   gwenview = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/gwenview-21.04.0.tar.xz";
-      sha256 = "06yyf7f49xbcfzbm10rr0xcmyxmlafh188wq8bjc8mp7p6fq7yd5";
-      name = "gwenview-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/gwenview-21.08.0.tar.xz";
+      sha256 = "06bgq01zw5vybp78x543fv0j7yaz75wds0f7s1sbddrjyn8ifqwd";
+      name = "gwenview-21.08.0.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/incidenceeditor-21.04.0.tar.xz";
-      sha256 = "1fch2d5jgh3raf2zqc4vapgwf3gkdfsd71djvd626q3dsbh82qxz";
-      name = "incidenceeditor-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/incidenceeditor-21.08.0.tar.xz";
+      sha256 = "0z1kbwmrwr430ayawcgc9vjnag11gjj3ydbgybs8x0y64cj5v7c0";
+      name = "incidenceeditor-21.08.0.tar.xz";
     };
   };
   itinerary = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/itinerary-21.04.0.tar.xz";
-      sha256 = "132y5v5qy89hfvp1j3x6rr6bg4wdzhd177isrs110w0aizdrbjcn";
-      name = "itinerary-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/itinerary-21.08.0.tar.xz";
+      sha256 = "1zcf6wz263an6lanl0q81f676zzbnznrrx8lsadbxacm7dvz47a8";
+      name = "itinerary-21.08.0.tar.xz";
     };
   };
   juk = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/juk-21.04.0.tar.xz";
-      sha256 = "11plw0h56n4fmhi47rmjw8qdki3r5yf3v7zfc0svwkb12lrvcp6z";
-      name = "juk-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/juk-21.08.0.tar.xz";
+      sha256 = "13q9agy9sc7r3cpfc1ip0697jys5v665ih745l2kv6b7sm77w0f5";
+      name = "juk-21.08.0.tar.xz";
     };
   };
   k3b = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/k3b-21.04.0.tar.xz";
-      sha256 = "1a6gm7bk486fr2haap6212vzx8hhrwkgjplyyq1nb27v61rpir2n";
-      name = "k3b-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/k3b-21.08.0.tar.xz";
+      sha256 = "0289g6dk03k7qab8wrj19kv4gz4b9d25ni9kii48ny5169whnk40";
+      name = "k3b-21.08.0.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kaccounts-integration-21.04.0.tar.xz";
-      sha256 = "1znfyslk4w45923xfxflipf0zwxf91k949carnbhzfiplab30gpy";
-      name = "kaccounts-integration-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kaccounts-integration-21.08.0.tar.xz";
+      sha256 = "0kq3pi3lr4bwz0dv8nzdrf8q0dl9mqyj697x2dcmlhydg6vkcyp6";
+      name = "kaccounts-integration-21.08.0.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kaccounts-providers-21.04.0.tar.xz";
-      sha256 = "17rnqsagg60zd5nf7hag74kc9s7nj01ps3z411j8zwa1vlbqidg0";
-      name = "kaccounts-providers-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kaccounts-providers-21.08.0.tar.xz";
+      sha256 = "0xflvms3y02z52yh9grl4304g8m302k7qw07mlcvfvsma44db1mg";
+      name = "kaccounts-providers-21.08.0.tar.xz";
     };
   };
   kaddressbook = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kaddressbook-21.04.0.tar.xz";
-      sha256 = "1p9lcs4jd8n52hd0mpckwiv23zivzflkih2lpdbqcw55s75g03bl";
-      name = "kaddressbook-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kaddressbook-21.08.0.tar.xz";
+      sha256 = "1yhilvq14cx1g6wa21zccm9cfjm7nkfwg297b3iaympwnjb9bny2";
+      name = "kaddressbook-21.08.0.tar.xz";
     };
   };
   kajongg = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kajongg-21.04.0.tar.xz";
-      sha256 = "11hxc0scc700zmw5736z3vcign09g5rgnfmg98z3j34bms7iff5n";
-      name = "kajongg-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kajongg-21.08.0.tar.xz";
+      sha256 = "12l3ls1v4ldmmdmrky7d4ihymyr75jvm89zrz7mi44nkh5p1s7c2";
+      name = "kajongg-21.08.0.tar.xz";
     };
   };
   kalarm = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kalarm-21.04.0.tar.xz";
-      sha256 = "1zcyc6nlsdh9ixl10n6xlnfj78z6j218a9aipj1vws0jx7zahl12";
-      name = "kalarm-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kalarm-21.08.0.tar.xz";
+      sha256 = "1mmjj3dyza9xq8c5aqivhryvd1vj4z74zw8nmdfscwnzb72gn9xh";
+      name = "kalarm-21.08.0.tar.xz";
     };
   };
   kalarmcal = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kalarmcal-21.04.0.tar.xz";
-      sha256 = "0cp5mian3zkyb51l6h2j7dkdhhmhk9vh33yvfa9x5q998sknr1m3";
-      name = "kalarmcal-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kalarmcal-21.08.0.tar.xz";
+      sha256 = "1v4aqgs2387jnjj5lf7jb03if1p2clxk433jrsyzi2zici7qcd07";
+      name = "kalarmcal-21.08.0.tar.xz";
     };
   };
   kalgebra = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kalgebra-21.04.0.tar.xz";
-      sha256 = "1w9vy3130kxw68fnpvzvq2k40dyain0ncsflf24fmn7dzjl4wpxn";
-      name = "kalgebra-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kalgebra-21.08.0.tar.xz";
+      sha256 = "0dl1yjh572mcnr71p2ivm2g5w785nq2frqskpydnng1bglrjcf4w";
+      name = "kalgebra-21.08.0.tar.xz";
     };
   };
   kalzium = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kalzium-21.04.0.tar.xz";
-      sha256 = "0fnqj1xnlgkb5wfx7j2zzbypyyql44srd555bdb1w0q37w1zxxgm";
-      name = "kalzium-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kalzium-21.08.0.tar.xz";
+      sha256 = "130xcqa5kmwg369s22bp9nvzdz3gb553n5awj5rg5gm1fs1xkwnr";
+      name = "kalzium-21.08.0.tar.xz";
     };
   };
   kamera = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kamera-21.04.0.tar.xz";
-      sha256 = "068ic1nf15x4h7h877q7by3hkd5dap9a2kdm7x2jwcqhwriiirw2";
-      name = "kamera-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kamera-21.08.0.tar.xz";
+      sha256 = "1zwwc1kaky7cnb4xmwh05w6n3yhqwz2blc1x7s427ismfxsjvsys";
+      name = "kamera-21.08.0.tar.xz";
     };
   };
   kamoso = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kamoso-21.04.0.tar.xz";
-      sha256 = "0npabci0x04g7v56x3pb5ps560d0xdshaznlci05bn3czxdas93h";
-      name = "kamoso-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kamoso-21.08.0.tar.xz";
+      sha256 = "00l655hx15h1axxad4bk3v5smfv7zvg45w08hign6n30wb3jhz7f";
+      name = "kamoso-21.08.0.tar.xz";
     };
   };
   kanagram = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kanagram-21.04.0.tar.xz";
-      sha256 = "0ccnzrra54hqx7acsaiz8fk5gnax9y4j195hsbix7mghgb5ylz8r";
-      name = "kanagram-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kanagram-21.08.0.tar.xz";
+      sha256 = "1ak7r1rsq1bxb9696a50dim5kicy4pi8rg199pwh0f7gy0b14wiz";
+      name = "kanagram-21.08.0.tar.xz";
     };
   };
   kapman = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kapman-21.04.0.tar.xz";
-      sha256 = "1i7jr8xlh3v4wz9bbc335q79zx96nfp15hhqnhkgxsqc216zn8qm";
-      name = "kapman-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kapman-21.08.0.tar.xz";
+      sha256 = "11r4q66ii48g5mr9sa2c0ilas5441sdxlrd0053psksl3f0j8lv5";
+      name = "kapman-21.08.0.tar.xz";
     };
   };
   kapptemplate = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kapptemplate-21.04.0.tar.xz";
-      sha256 = "0l2y562s7rk99zr5vbp03gbv0fwbd211j4n51g3yry7vbk433aiw";
-      name = "kapptemplate-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kapptemplate-21.08.0.tar.xz";
+      sha256 = "09pi0s09jiqmmp0gv017m18w0y8y06gqcp60j6gawlcsl4kppykx";
+      name = "kapptemplate-21.08.0.tar.xz";
     };
   };
   kate = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kate-21.04.0.tar.xz";
-      sha256 = "1m11fh5c527d6b8a5wmglj9z0d2caak5bqh1g7fql1ygw06wr01p";
-      name = "kate-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kate-21.08.0.tar.xz";
+      sha256 = "1s37smn2pk3lglwm8xh0fmq81jd7j6w10pmxb32lm734igdjw9s9";
+      name = "kate-21.08.0.tar.xz";
     };
   };
   katomic = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/katomic-21.04.0.tar.xz";
-      sha256 = "0hrlmzqnw03nv334q680zwk700c8pvnaw57gh1ixphzsbx871yrk";
-      name = "katomic-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/katomic-21.08.0.tar.xz";
+      sha256 = "0z5w4zibczkdr8qv45l094lq1xh398rmhhdbs5k7pglj8pkywyww";
+      name = "katomic-21.08.0.tar.xz";
     };
   };
   kbackup = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kbackup-21.04.0.tar.xz";
-      sha256 = "1l3bk7dj2grbki41fhxawrwn4vpncf3m2b5bq5ivj4vj4jc6vlyz";
-      name = "kbackup-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kbackup-21.08.0.tar.xz";
+      sha256 = "1x8l0fw6p6ynsgp7fyzb1klmm2g78fyd06zn5b7jizm4wb7y47m0";
+      name = "kbackup-21.08.0.tar.xz";
     };
   };
   kblackbox = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kblackbox-21.04.0.tar.xz";
-      sha256 = "17ba03qmyaiqda064dhxl0kwvncll7fznjvnfvby9lgdpzfjj8j9";
-      name = "kblackbox-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kblackbox-21.08.0.tar.xz";
+      sha256 = "0qrhc8zp6pggk103p19kkijz206l99dkdw5whrqa5awl9vi2661y";
+      name = "kblackbox-21.08.0.tar.xz";
     };
   };
   kblocks = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kblocks-21.04.0.tar.xz";
-      sha256 = "01i24fizs8d6yvyldln905vnww8ajy3aswn55xhxinjwhx9dcy7n";
-      name = "kblocks-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kblocks-21.08.0.tar.xz";
+      sha256 = "1if3s2dgfd083ql5sgcijccxbdnab5gn6pqcdc8swwgpvvs98f08";
+      name = "kblocks-21.08.0.tar.xz";
     };
   };
   kbounce = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kbounce-21.04.0.tar.xz";
-      sha256 = "05wy4my4hil72cmj3p2hf9bshpknyps8xmp0mrbigyrzg505zjj2";
-      name = "kbounce-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kbounce-21.08.0.tar.xz";
+      sha256 = "0b8242kf0z9b6bi2k07rvyhyh2r5pqpykxn8gchrklg1a39i2748";
+      name = "kbounce-21.08.0.tar.xz";
     };
   };
   kbreakout = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kbreakout-21.04.0.tar.xz";
-      sha256 = "0084id4wwk31m7wjkl5grcpbyqyzqx6cxixhdy48v7djdnn43jfj";
-      name = "kbreakout-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kbreakout-21.08.0.tar.xz";
+      sha256 = "1ps8jdyjv5l7iifps0h8v9mfssqrq2wzk9l6ic5l2lri4i941svn";
+      name = "kbreakout-21.08.0.tar.xz";
     };
   };
   kbruch = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kbruch-21.04.0.tar.xz";
-      sha256 = "0qygd4zx039qckv4zzkgvz70wm8hg156bmb70g9g0nv5bzh4y02g";
-      name = "kbruch-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kbruch-21.08.0.tar.xz";
+      sha256 = "08mafsyr0d2qrpv213rssz9h9qk58miyvlmjbk9p4ryf81qhcbxs";
+      name = "kbruch-21.08.0.tar.xz";
     };
   };
   kcachegrind = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcachegrind-21.04.0.tar.xz";
-      sha256 = "1bdlzp35914nvbzcf4n6qrjmg7c0dc7c13kwq9gr5q6i4lvf275r";
-      name = "kcachegrind-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcachegrind-21.08.0.tar.xz";
+      sha256 = "1br5f54ym1b2ra20lk2giqijir9q35al0vwm8m7fa7z9s9z002bx";
+      name = "kcachegrind-21.08.0.tar.xz";
     };
   };
   kcalc = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcalc-21.04.0.tar.xz";
-      sha256 = "0x0b19yaif6mjh20lbvl87phna781ya3l9hpwj2941vgvffwwpsh";
-      name = "kcalc-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcalc-21.08.0.tar.xz";
+      sha256 = "14f3p10sg41az5qiccdmdavqi62m9i7ijv27hibi6z162ly15nh3";
+      name = "kcalc-21.08.0.tar.xz";
     };
   };
   kcalutils = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcalutils-21.04.0.tar.xz";
-      sha256 = "0kvl8ghwcamxayvwbsyjzib5b19v3k5hch17lj2pjsj20dgfl4qv";
-      name = "kcalutils-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcalutils-21.08.0.tar.xz";
+      sha256 = "1yg8vdlcl79f42k2j100ikm8r1bhrrwmqdrzin7qnvsqyx8dhw1i";
+      name = "kcalutils-21.08.0.tar.xz";
     };
   };
   kcharselect = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcharselect-21.04.0.tar.xz";
-      sha256 = "1gp75qkwphgxpjkc1fwqkrbkkmc45l55ck8mqvbpz4aq8bscc0nx";
-      name = "kcharselect-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcharselect-21.08.0.tar.xz";
+      sha256 = "16z657is57yrag7ydc2cxzsb438kl7bxdnbn68qq2x14n011fzah";
+      name = "kcharselect-21.08.0.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcolorchooser-21.04.0.tar.xz";
-      sha256 = "0cgzclfmcn7l98ycm313sp8fhmx46fbn88l9cykywi27idymmb9v";
-      name = "kcolorchooser-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcolorchooser-21.08.0.tar.xz";
+      sha256 = "1lpskfa6nfw6ymbw8rqqi6gr1f4grdsgmxh2s5w4r2n9i9limb17";
+      name = "kcolorchooser-21.08.0.tar.xz";
     };
   };
   kcron = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kcron-21.04.0.tar.xz";
-      sha256 = "144y4cn8xpkmn1gsab8wpvhqrnfidcjrbp2cy9xhx18as5ckpjn3";
-      name = "kcron-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kcron-21.08.0.tar.xz";
+      sha256 = "1972l12291mzrcdndr5385qh8sx2alsxjfqpsk9lj1gkcqh13yyk";
+      name = "kcron-21.08.0.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdebugsettings-21.04.0.tar.xz";
-      sha256 = "1xpbw9v9ws9i7a6ag5f6z7d15svyyx34p5vibm4p4j70vd7q5rwk";
-      name = "kdebugsettings-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdebugsettings-21.08.0.tar.xz";
+      sha256 = "0a1wp3hnxvzpa6mhf0p6yj144sv3pvhl1dffck9avaz543zrxy36";
+      name = "kdebugsettings-21.08.0.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdeconnect-kde-21.04.0.tar.xz";
-      sha256 = "1zbn2hi245934ljxgrzc3s2rpyapwrrkzx5vcjhnf8ri9v6sxhgp";
-      name = "kdeconnect-kde-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdeconnect-kde-21.08.0.tar.xz";
+      sha256 = "1qmic0016ybldsfagbqj3yrvfhja3zhygkq6pgnkb1zq3bfk22ls";
+      name = "kdeconnect-kde-21.08.0.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kde-dev-scripts-21.04.0.tar.xz";
-      sha256 = "0plg145hp3bpxb2x3j8hja6fjn7yzmvx8j7zw123xnmqbzi25f6s";
-      name = "kde-dev-scripts-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kde-dev-scripts-21.08.0.tar.xz";
+      sha256 = "1v8h3fp8lv6d0qdwbwwwcz9ncj5r8b3l3dbc56r9x07i1pkxxmrr";
+      name = "kde-dev-scripts-21.08.0.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kde-dev-utils-21.04.0.tar.xz";
-      sha256 = "1cgzkhpb81s1zbx4rsfprmjn3cwqykyaaymg4bm7nqwnq97bbmc5";
-      name = "kde-dev-utils-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kde-dev-utils-21.08.0.tar.xz";
+      sha256 = "17ccgwifx7sq3dzhicclaxa9xlnxc4qic37kf5f391y99d7kj9cm";
+      name = "kde-dev-utils-21.08.0.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdeedu-data-21.04.0.tar.xz";
-      sha256 = "0s4x0n8skwn117iiffi8rp4l5ddizfdqlc9lm49ijlvzkvhz3g3p";
-      name = "kdeedu-data-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdeedu-data-21.08.0.tar.xz";
+      sha256 = "1szkqcn64z4qrfrbfwnlzp4prv84nl361dnr6m0nr72nk0421w4g";
+      name = "kdeedu-data-21.08.0.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdegraphics-mobipocket-21.04.0.tar.xz";
-      sha256 = "00pxfffc2xb7mszzgq6b3kp1h3m870k81rqarsy2igxxpbr3dr2p";
-      name = "kdegraphics-mobipocket-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdegraphics-mobipocket-21.08.0.tar.xz";
+      sha256 = "0lg92zz122b0ia3qyg7c00ymqlh9pvpja9fyjqa0rvqy1ampb848";
+      name = "kdegraphics-mobipocket-21.08.0.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdegraphics-thumbnailers-21.04.0.tar.xz";
-      sha256 = "0yga4pa37zpgawq2hhc5w3scw40fwyp7901vbh6zspbdzya9lb50";
-      name = "kdegraphics-thumbnailers-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdegraphics-thumbnailers-21.08.0.tar.xz";
+      sha256 = "1asgh1zag5pv56zhbgjax6pba5vpywhxsd3lmpa2fd6yqvrnqflw";
+      name = "kdegraphics-thumbnailers-21.08.0.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdenetwork-filesharing-21.04.0.tar.xz";
-      sha256 = "07a9pflvjf7ffi9jqx43f43wykl7z92z3pr1ca9q36fxw7cdixad";
-      name = "kdenetwork-filesharing-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdenetwork-filesharing-21.08.0.tar.xz";
+      sha256 = "1pnn27cfkn209vp6mapfv8p2lbbyjrkha41qfza5cgbsmnbw8vag";
+      name = "kdenetwork-filesharing-21.08.0.tar.xz";
     };
   };
   kdenlive = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdenlive-21.04.0.tar.xz";
-      sha256 = "1psb7mvffiqnv5n4b0wwa6s2ykcfkc4dxsvbxh2k67gmvq58zgmh";
-      name = "kdenlive-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdenlive-21.08.0.tar.xz";
+      sha256 = "08nfjslkm0xdfkq15nma9c6rajgi2d1qf6sb5wscnr5bvqkxyhg4";
+      name = "kdenlive-21.08.0.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdepim-addons-21.04.0.tar.xz";
-      sha256 = "02xlp9xm15462y02wz05kn5vkg11lkiblz0cx43i8rcyiqnxbldz";
-      name = "kdepim-addons-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdepim-addons-21.08.0.tar.xz";
+      sha256 = "0fbf11zxn6zf6g9l1m3faiprbkppvi4ha1q8v6khxq92nkidq962";
+      name = "kdepim-addons-21.08.0.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdepim-runtime-21.04.0.tar.xz";
-      sha256 = "1m1fshyivm1mz4hj9qaq33wdjkqxpjjbr0rkscb2b56a6jg4glza";
-      name = "kdepim-runtime-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdepim-runtime-21.08.0.tar.xz";
+      sha256 = "1nzc8av8yai8pjbjwz0kx6jm9kl847ddx6v913xx4y58y9w2d3xs";
+      name = "kdepim-runtime-21.08.0.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdesdk-kioslaves-21.04.0.tar.xz";
-      sha256 = "068hqm1f2wllq3gcpmsib8cky6fhgpmqvmzvymcfc19ccyzwayhf";
-      name = "kdesdk-kioslaves-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdesdk-kioslaves-21.08.0.tar.xz";
+      sha256 = "08vvkcyzlaq4l4v8rwlxxpdqdmxv5ylkrf10cbg8bjkgrwqyalrc";
+      name = "kdesdk-kioslaves-21.08.0.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdesdk-thumbnailers-21.04.0.tar.xz";
-      sha256 = "0cj6xsazqv94l02bp1pr5kny5id0kr5kqv3xkwv4jvmq317vfi3i";
-      name = "kdesdk-thumbnailers-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdesdk-thumbnailers-21.08.0.tar.xz";
+      sha256 = "0n5nmixnw92mkx8vwzyixgvnjk941q6p43i6j5h272j3w98p10lg";
+      name = "kdesdk-thumbnailers-21.08.0.tar.xz";
     };
   };
   kdf = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdf-21.04.0.tar.xz";
-      sha256 = "1vbc75z33gx8pvy0kbmrhcg209qxxnvw7ccw83wk9hhzqg7mj5gf";
-      name = "kdf-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdf-21.08.0.tar.xz";
+      sha256 = "0s3a4chj1hx3s4nw56ddcl8nvk1rannj14zzfq31r2yg3pahy1hm";
+      name = "kdf-21.08.0.tar.xz";
     };
   };
   kdialog = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdialog-21.04.0.tar.xz";
-      sha256 = "0damdppa2hm18nd99nzx23nac3k5ps0f5kc04cgfip4cr34rpg5s";
-      name = "kdialog-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdialog-21.08.0.tar.xz";
+      sha256 = "1pki0hdwxrjlcfzyvhk2ag77050zg7wkhcpj7qzxr91l3ga3rbyl";
+      name = "kdialog-21.08.0.tar.xz";
     };
   };
   kdiamond = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kdiamond-21.04.0.tar.xz";
-      sha256 = "1lpwghy8v4242rm2vzm3wng43h5ys6r7spzlv53h329kpzd2259v";
-      name = "kdiamond-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kdiamond-21.08.0.tar.xz";
+      sha256 = "054kjwscdw8ap2123lrrhpaw2mvd1ly1cwf22zjz41k4hq533kmm";
+      name = "kdiamond-21.08.0.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/keditbookmarks-21.04.0.tar.xz";
-      sha256 = "1adk2g9hg7mls2vrrslmmy0nfvpgri9jlmii4pqfwl9kilcnk7lc";
-      name = "keditbookmarks-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/keditbookmarks-21.08.0.tar.xz";
+      sha256 = "1z0n0d0wgvr4v97lkvkx7lkj3d1ncp2vi7chvvq9ja0kxyd67r8f";
+      name = "keditbookmarks-21.08.0.tar.xz";
     };
   };
   kfind = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kfind-21.04.0.tar.xz";
-      sha256 = "1122h7jmsf49j7388py6pp72gfkqqzv971n7dkzpyqhfirqaigvj";
-      name = "kfind-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kfind-21.08.0.tar.xz";
+      sha256 = "0qa462fsfdzk1m8jasm5zcyhx2851r42gi5jkki35gnny84ic2lg";
+      name = "kfind-21.08.0.tar.xz";
     };
   };
   kfloppy = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kfloppy-21.04.0.tar.xz";
-      sha256 = "19maj0a469wnyindbrmqby8qikxcz38czagfygpq16y9bnkbvp3s";
-      name = "kfloppy-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kfloppy-21.08.0.tar.xz";
+      sha256 = "03kgypngvalzzraf58g7l266naal0v7781lyh9ibi78frf6j7qw3";
+      name = "kfloppy-21.08.0.tar.xz";
     };
   };
   kfourinline = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kfourinline-21.04.0.tar.xz";
-      sha256 = "0yna3lydp0gii1rasij5593gaf4w9pbv7y5l6hz5qddb5y6r82ds";
-      name = "kfourinline-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kfourinline-21.08.0.tar.xz";
+      sha256 = "1g663kkjhpfi0f6q23rmfqgwi976i46fs8qr4nqw55v7l09qrkwq";
+      name = "kfourinline-21.08.0.tar.xz";
     };
   };
   kgeography = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kgeography-21.04.0.tar.xz";
-      sha256 = "1hcjp34jzz9qx8jp065gisnr9gn1v1ifnajfnaa3vc6sq1m1bvvi";
-      name = "kgeography-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kgeography-21.08.0.tar.xz";
+      sha256 = "01y0phdfymn8k14riiy15f58b0148rl2jidxnbl9if1jpn90dkai";
+      name = "kgeography-21.08.0.tar.xz";
     };
   };
   kget = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kget-21.04.0.tar.xz";
-      sha256 = "0lws94g3780kdnxw2wf8vl41fq8ffxwaafma3r7p15rs05cyl1rv";
-      name = "kget-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kget-21.08.0.tar.xz";
+      sha256 = "0k406isgg3lgnbl4c6l9wqgwjiv0hp5pg07na94vm03j0qg015q5";
+      name = "kget-21.08.0.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kgoldrunner-21.04.0.tar.xz";
-      sha256 = "02gldv7l8igzzmmyrkyixgzncsh0ysmfhx0lfc27pdj0mvfpm3m2";
-      name = "kgoldrunner-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kgoldrunner-21.08.0.tar.xz";
+      sha256 = "1d2z76xv3v7sg9bad6gwc5p9dbb00ljkhd9jq8bn3lrqiya5vn1l";
+      name = "kgoldrunner-21.08.0.tar.xz";
     };
   };
   kgpg = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kgpg-21.04.0.tar.xz";
-      sha256 = "0a5xik5wb0b15p612lxzwqr5b58d4d7v3c7ghxmm8g27k36igqff";
-      name = "kgpg-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kgpg-21.08.0.tar.xz";
+      sha256 = "0hkhnf1n72w4ccnh3mrvzg22nfv6vpjkh8i9a5496yrzkch862g8";
+      name = "kgpg-21.08.0.tar.xz";
     };
   };
   khangman = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/khangman-21.04.0.tar.xz";
-      sha256 = "0pkqhbvw375v3cwn7ilfn7x93nadnxl07swcj5dbxn84gs33aj7c";
-      name = "khangman-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/khangman-21.08.0.tar.xz";
+      sha256 = "03bazg4bd23q90pi8z5gab91j4md7ya9ahvyla5523r671pcfwhh";
+      name = "khangman-21.08.0.tar.xz";
     };
   };
   khelpcenter = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/khelpcenter-21.04.0.tar.xz";
-      sha256 = "04fvipc3dzjl2fsgbla8w7kmv239ch86da8539gwg7l54bdmb5pv";
-      name = "khelpcenter-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/khelpcenter-21.08.0.tar.xz";
+      sha256 = "15if3awpx514prhsaznvw7acxy4zihgf36pxjgd1rzsg6f0gcj5i";
+      name = "khelpcenter-21.08.0.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kidentitymanagement-21.04.0.tar.xz";
-      sha256 = "1y83k7lzyzc5r6f7pqkbzqm1xnjv0z11vg8yazqwmfcv1whbzxda";
-      name = "kidentitymanagement-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kidentitymanagement-21.08.0.tar.xz";
+      sha256 = "1jqn973dccdynqinyi698wkm92nqvhyy8z6nihh82rcfzkj16xcf";
+      name = "kidentitymanagement-21.08.0.tar.xz";
     };
   };
   kig = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kig-21.04.0.tar.xz";
-      sha256 = "0d4p7py3lf05dsfy9x98aq6fwk6fsvf97jwxsdz4z3r49qvcp3hp";
-      name = "kig-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kig-21.08.0.tar.xz";
+      sha256 = "1m2wx1cpv5821438hlzhpis88r8dspsrh8snr1a1sgnmpgpjjla9";
+      name = "kig-21.08.0.tar.xz";
     };
   };
   kigo = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kigo-21.04.0.tar.xz";
-      sha256 = "0ans0mj9ql6vdmnc130sw0wkkm8rc1bpiww36a76nw8n28cfcyzi";
-      name = "kigo-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kigo-21.08.0.tar.xz";
+      sha256 = "1kym2bl0xh8mih13ykxw3g6xkl1lyh7vpyvyn2zprgnqjhs4699v";
+      name = "kigo-21.08.0.tar.xz";
     };
   };
   killbots = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/killbots-21.04.0.tar.xz";
-      sha256 = "1qf2lahvi5g9cgvbgp6sj9vw1g8fcvcwaxgaqnc5akl03p51gz2k";
-      name = "killbots-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/killbots-21.08.0.tar.xz";
+      sha256 = "0agqd8ww6l5i1absv6wxzraavdjlwvdp831xk18vr7gfdqq5rqzw";
+      name = "killbots-21.08.0.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kimagemapeditor-21.04.0.tar.xz";
-      sha256 = "1f3y10bk5541sgi2qfww56mfq245a9wg38vpw2c8ygf4lc5rh67s";
-      name = "kimagemapeditor-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kimagemapeditor-21.08.0.tar.xz";
+      sha256 = "0lpzf2wcn6ifbh3jin7z55bryb2gzq1yki2yl6v5fgabq0kg0pb9";
+      name = "kimagemapeditor-21.08.0.tar.xz";
     };
   };
   kimap = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kimap-21.04.0.tar.xz";
-      sha256 = "0fbcwsiz1q5s9d70zn7y183p477ykyjpw27i3k2mxb9ggk0h8bnx";
-      name = "kimap-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kimap-21.08.0.tar.xz";
+      sha256 = "0qyixdxy0d56a9r8gw2asm4230bcmwmj88wlhcgzd6n5q198xh49";
+      name = "kimap-21.08.0.tar.xz";
     };
   };
   kio-extras = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kio-extras-21.04.0.tar.xz";
-      sha256 = "1p5kd5c4p5yc9fmppa6sivgv5kn1l9krzzw5h5y8xmi9g896yjjg";
-      name = "kio-extras-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kio-extras-21.08.0.tar.xz";
+      sha256 = "0va8ankd2hp1c5c0fdmhnx6p8rhar6xicdalck6z8gw8q94dg4xx";
+      name = "kio-extras-21.08.0.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kio-gdrive-21.04.0.tar.xz";
-      sha256 = "0p1y30syzbj7lg8hpxb5r255ba0v93gc219r1v7gb1ja5p7pjvsh";
-      name = "kio-gdrive-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kio-gdrive-21.08.0.tar.xz";
+      sha256 = "1akjmd9l4ydvrjh4r2rxrhfzngvbv487wmdgq2fvy9y926vzvvlz";
+      name = "kio-gdrive-21.08.0.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kipi-plugins-21.04.0.tar.xz";
-      sha256 = "1x26yw1f47pylly2211kdld17m0p42a5miygwc7rnvasvh0dngwf";
-      name = "kipi-plugins-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kipi-plugins-21.08.0.tar.xz";
+      sha256 = "0xfn0sx9xxl2fasj89iyyhqn6b7czkmrqxssmahi67dfnazqdnvg";
+      name = "kipi-plugins-21.08.0.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kirigami-gallery-21.04.0.tar.xz";
-      sha256 = "04hq0hikx692glb83xs8fg97dv53ayzd8lp776zv4p3sd6dpaysf";
-      name = "kirigami-gallery-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kirigami-gallery-21.08.0.tar.xz";
+      sha256 = "1q64blarbm82pwpch9r16my3zidvifmbzx2hj1wm6nan57k56xs8";
+      name = "kirigami-gallery-21.08.0.tar.xz";
     };
   };
   kiriki = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kiriki-21.04.0.tar.xz";
-      sha256 = "0dlimwhw6ii9x4m7166hbl3n6zi5pcvbsg303jm8pjc2bj83izis";
-      name = "kiriki-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kiriki-21.08.0.tar.xz";
+      sha256 = "0cvhc14syhzkgf7k04m1wpb9l8lrph2lk0mb47xyj2qlw4vyn31a";
+      name = "kiriki-21.08.0.tar.xz";
     };
   };
   kiten = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kiten-21.04.0.tar.xz";
-      sha256 = "0vvq75q7j4j2hzzwnsr5zafphqvhwggb0mbs6y1ccb6yfm5vy3a4";
-      name = "kiten-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kiten-21.08.0.tar.xz";
+      sha256 = "1n961yhiiw6vsfqnfb9k1w8rdfdcrzawimvk4z6990bli6caj432";
+      name = "kiten-21.08.0.tar.xz";
     };
   };
   kitinerary = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kitinerary-21.04.0.tar.xz";
-      sha256 = "0sxzc2c0i1qjn5302a3cg7inx020r3n1pzjif6bhw4phynbzxliy";
-      name = "kitinerary-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kitinerary-21.08.0.tar.xz";
+      sha256 = "0hd28l6a2p3q6rrdn80l46fznswwy645krfcfpyasaf917710kkm";
+      name = "kitinerary-21.08.0.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kjumpingcube-21.04.0.tar.xz";
-      sha256 = "12khypxl87725zs5ykwcp1ag27v5q89n9cvn879d6lp7qqs7mjx8";
-      name = "kjumpingcube-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kjumpingcube-21.08.0.tar.xz";
+      sha256 = "0wvfn1a2wa6bwpsgk3b4i6jfza106f4j0mpqvqcck2bdyjpcqrc6";
+      name = "kjumpingcube-21.08.0.tar.xz";
     };
   };
   kldap = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kldap-21.04.0.tar.xz";
-      sha256 = "1mqqpzqpz0hlldb0nz3dnm33d1hwpxcwj9hdqik5bzbfnr7ww04g";
-      name = "kldap-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kldap-21.08.0.tar.xz";
+      sha256 = "0ng64lrcp0av31i2rp0jpag4kvikfmmxap4z1wzb21br3wr6zfcr";
+      name = "kldap-21.08.0.tar.xz";
     };
   };
   kleopatra = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kleopatra-21.04.0.tar.xz";
-      sha256 = "0w58nsklvc63ps0m92knf0n2wkmksq432ckx1959klimgqacffy0";
-      name = "kleopatra-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kleopatra-21.08.0.tar.xz";
+      sha256 = "0l83x3cpfi9b1pbf00fbbynk5g9ffryasmapxdr1qqsavk2wlybr";
+      name = "kleopatra-21.08.0.tar.xz";
     };
   };
   klettres = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/klettres-21.04.0.tar.xz";
-      sha256 = "1kxyisvmpgf4m5qzi7w6lfmnnpp96f4v72pls5k68q01ygf7mlrg";
-      name = "klettres-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/klettres-21.08.0.tar.xz";
+      sha256 = "16fc71s9nksd47xhphqw4zdw8inb47m5zn5m6xpmvvf98bs42ia1";
+      name = "klettres-21.08.0.tar.xz";
     };
   };
   klickety = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/klickety-21.04.0.tar.xz";
-      sha256 = "0jiaxfzvdbygmfd6d0bsakzsvzkjvlhhidjz1wmvxq0jla4qna6b";
-      name = "klickety-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/klickety-21.08.0.tar.xz";
+      sha256 = "172ajlmnw6hwg8lr7kdiixd43iv2ldg5bwnh1jaddrpn29zfdj9g";
+      name = "klickety-21.08.0.tar.xz";
     };
   };
   klines = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/klines-21.04.0.tar.xz";
-      sha256 = "1ay26by2hwn7b0i48xgsxdysqpwzkvsz6g974c93103f5ygn8wjl";
-      name = "klines-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/klines-21.08.0.tar.xz";
+      sha256 = "0f4281cynn1zacfpq5i6n5vwps9d1k7i6mqpzwx8jrxmwka39r1y";
+      name = "klines-21.08.0.tar.xz";
     };
   };
   kmag = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmag-21.04.0.tar.xz";
-      sha256 = "06yw7397v5wcdx4jxpyc2mxgbxr744wgnqm7w2xb4771izlwq3qy";
-      name = "kmag-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmag-21.08.0.tar.xz";
+      sha256 = "148frh2qq1yxixcpr0s8kvcviz8qh7vjvyp2w0v30m9lr01asm0s";
+      name = "kmag-21.08.0.tar.xz";
     };
   };
   kmahjongg = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmahjongg-21.04.0.tar.xz";
-      sha256 = "0w4fpnafn9vir8c6ha6kl1x8vbmvmjax0p1qzxa7596hf3lvcncq";
-      name = "kmahjongg-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmahjongg-21.08.0.tar.xz";
+      sha256 = "04mr9i0dwy1rypr22wlv3lcg73zz1yy373pb1vv914b3spps9pip";
+      name = "kmahjongg-21.08.0.tar.xz";
     };
   };
   kmail = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmail-21.04.0.tar.xz";
-      sha256 = "11ghi1bqc8ldsb04z7fs5ba9b9fvsmcxxjp8j837iv0qz5rwh0fw";
-      name = "kmail-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmail-21.08.0.tar.xz";
+      sha256 = "1jnlgl5hdw4dx36wd5642x484dka1094d9xq0wn7iqpzlyh8d519";
+      name = "kmail-21.08.0.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmail-account-wizard-21.04.0.tar.xz";
-      sha256 = "0jalwjk5jyih765i7cpa0qidw3di17cz1fygmzgdz1v6kasg3h0c";
-      name = "kmail-account-wizard-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmail-account-wizard-21.08.0.tar.xz";
+      sha256 = "14sxx25xijp9r53001kywbbaidsni1sslk4mi1pi71rwi4mvmm2w";
+      name = "kmail-account-wizard-21.08.0.tar.xz";
     };
   };
   kmailtransport = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmailtransport-21.04.0.tar.xz";
-      sha256 = "1jgw93q8jpgkg8ms7pjral1wz1ycs12ikjnsw2fiybd67syd2dns";
-      name = "kmailtransport-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmailtransport-21.08.0.tar.xz";
+      sha256 = "1xijhf37djscjm86r3m1f64w97q24plpv06h55mqq4pgxkm6v0a9";
+      name = "kmailtransport-21.08.0.tar.xz";
     };
   };
   kmbox = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmbox-21.04.0.tar.xz";
-      sha256 = "01p1ihr08dnmzsq22ipy06grnz59nxyc2vfqbh6hc949mhl3kwx4";
-      name = "kmbox-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmbox-21.08.0.tar.xz";
+      sha256 = "1xa4g2cj5chmmhsw6larbmwr0k0n07mj7953w1qm5wi1jfr2ivca";
+      name = "kmbox-21.08.0.tar.xz";
     };
   };
   kmime = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmime-21.04.0.tar.xz";
-      sha256 = "096vbbr8qnwcws7c6llxwk0klbfrhh4k83384bkhw5m5xawnqaq4";
-      name = "kmime-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmime-21.08.0.tar.xz";
+      sha256 = "19g9l5bl6gm4rx133nlsv6p4kpa1pifk24rqx7f2rv5j7by8jmxh";
+      name = "kmime-21.08.0.tar.xz";
     };
   };
   kmines = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmines-21.04.0.tar.xz";
-      sha256 = "08dynl219n0jd58i01ccmgphc03z2x143l0a8v11x0m5cfazvzpp";
-      name = "kmines-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmines-21.08.0.tar.xz";
+      sha256 = "1v4hl4kqwgrdkjj1lsa5z6bvlq8xhldp2pwldzvg05c1r7lbvnw1";
+      name = "kmines-21.08.0.tar.xz";
     };
   };
   kmix = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmix-21.04.0.tar.xz";
-      sha256 = "1s2cnbmpkchp1wc5217r17ramj7a8xrm4l9hb74lyw4fc78455z2";
-      name = "kmix-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmix-21.08.0.tar.xz";
+      sha256 = "1bdp2vasbw2qrsajqlpd5w1403n291w43dfms46fgw8vw5wpi5qq";
+      name = "kmix-21.08.0.tar.xz";
     };
   };
   kmousetool = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmousetool-21.04.0.tar.xz";
-      sha256 = "0iaqgflnyl62ynxcip8zbxm25hgr82yc9d3z5v36mv0q3lq4bi92";
-      name = "kmousetool-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmousetool-21.08.0.tar.xz";
+      sha256 = "1rz44gwjikckpjms4v4hsakll2dy0imrsgdvk2zsr9nr00lgbn0v";
+      name = "kmousetool-21.08.0.tar.xz";
     };
   };
   kmouth = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmouth-21.04.0.tar.xz";
-      sha256 = "0sza7arw0nfga6g9fv7rbkgkxmn694awzhkjbklafdvcjyn3dw2v";
-      name = "kmouth-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmouth-21.08.0.tar.xz";
+      sha256 = "0i8bg49y4x9bwacmq0hk8az88r2q54bgnzxbd1rscd5nkqs21fr1";
+      name = "kmouth-21.08.0.tar.xz";
     };
   };
   kmplot = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kmplot-21.04.0.tar.xz";
-      sha256 = "1wpz5kb06ym920ghmrfb0jh6z4nadlb7d9z0l85vkm3y1rz0iisy";
-      name = "kmplot-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kmplot-21.08.0.tar.xz";
+      sha256 = "1szskpbql3s10b64na55rnys2gz05gssvydbsiqxkwyj4igs91yv";
+      name = "kmplot-21.08.0.tar.xz";
     };
   };
   knavalbattle = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/knavalbattle-21.04.0.tar.xz";
-      sha256 = "0xn7mkmcr4p6c8kdcdxk7k9ifv12l0fflg2nkgmr1gbjxkpyy435";
-      name = "knavalbattle-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/knavalbattle-21.08.0.tar.xz";
+      sha256 = "1f8byp909306ksvbdjs662k7ahyf5sjg3gsv3qay0d36kzlp8274";
+      name = "knavalbattle-21.08.0.tar.xz";
     };
   };
   knetwalk = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/knetwalk-21.04.0.tar.xz";
-      sha256 = "127s5fgjpcndgbg30wd9sv3jrskq7ib4rnrw5qdfsxv8c77kv74m";
-      name = "knetwalk-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/knetwalk-21.08.0.tar.xz";
+      sha256 = "0djdshqq35mpbdqn10acaxn3irwagh3q6zvc6sfsc2cs7nihaff2";
+      name = "knetwalk-21.08.0.tar.xz";
     };
   };
   knights = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/knights-21.04.0.tar.xz";
-      sha256 = "09w3qqvp5k8z3bfwz6zlclagn11j1nar0bp2sgnjmi9cy2rs74n3";
-      name = "knights-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/knights-21.08.0.tar.xz";
+      sha256 = "1hq9vm67cgdjqmy41hk2hf6x0z4gqmrzyz8sfd1ja5j03yisjv4h";
+      name = "knights-21.08.0.tar.xz";
     };
   };
   knotes = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/knotes-21.04.0.tar.xz";
-      sha256 = "0zy10amznrkbj663h0b5a410ry65kh1sw2k9ra43zx45bpamh62q";
-      name = "knotes-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/knotes-21.08.0.tar.xz";
+      sha256 = "0p2jvvm2i66aib0ajlr2jynsyf7gzqhn18rxpp4mg95lqzsmvdlf";
+      name = "knotes-21.08.0.tar.xz";
     };
   };
   kolf = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kolf-21.04.0.tar.xz";
-      sha256 = "0220b4mbphb7c7p3szhi976dx8ln0f64ghika7b9x2cmdxcizfcq";
-      name = "kolf-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kolf-21.08.0.tar.xz";
+      sha256 = "1p2sgfkrlcm125y461kdf5rf5i6x89z3i3kad375agl6wnlnkvr7";
+      name = "kolf-21.08.0.tar.xz";
     };
   };
   kollision = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kollision-21.04.0.tar.xz";
-      sha256 = "0cfn7l4ccl26rqm9i8rqp07yx6jc12xqhm16pgamrf8qv40vch9f";
-      name = "kollision-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kollision-21.08.0.tar.xz";
+      sha256 = "1vs298nigl6rnp14xrlsp50gmca77bah149k94mxqq86f0gfin7s";
+      name = "kollision-21.08.0.tar.xz";
     };
   };
   kolourpaint = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kolourpaint-21.04.0.tar.xz";
-      sha256 = "0xp1kas6hk279aqm5g36qlsylpd43p9pv6vdk2dy4cilds4fc3vw";
-      name = "kolourpaint-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kolourpaint-21.08.0.tar.xz";
+      sha256 = "0n6fid327m864sp8sa7ms0l559fhxj7ikp5yn6pfm86xl6ks8bfz";
+      name = "kolourpaint-21.08.0.tar.xz";
     };
   };
   kompare = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kompare-21.04.0.tar.xz";
-      sha256 = "17p1i4gfgzbps60zq3svicp6yz6w33wvcp145lq1iqkj80pf5qyf";
-      name = "kompare-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kompare-21.08.0.tar.xz";
+      sha256 = "1m079gqqzfsawixsq0spi7lyg0ad9vm3mhddzbmnbg2mn250nbkb";
+      name = "kompare-21.08.0.tar.xz";
     };
   };
   konqueror = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/konqueror-21.04.0.tar.xz";
-      sha256 = "04mli5dv05v7fin58zrhm7jmddj8qa2qz7w3qdbjd3a4iz7y7z71";
-      name = "konqueror-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/konqueror-21.08.0.tar.xz";
+      sha256 = "0jlnw7j6p1svx3af95drdfrczqvikz4krq3gmmq3r62gp5bk3yyf";
+      name = "konqueror-21.08.0.tar.xz";
     };
   };
   konquest = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/konquest-21.04.0.tar.xz";
-      sha256 = "1ryh7d3ndvrw8vjaraxyzyw08sx9w4yny7hdj1ss7319y041a07s";
-      name = "konquest-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/konquest-21.08.0.tar.xz";
+      sha256 = "0l128pr04qq6jdja6p0bbzc6y1233gd2h3wvbwh7hml4vxl8fsbh";
+      name = "konquest-21.08.0.tar.xz";
     };
   };
   konsole = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/konsole-21.04.0.tar.xz";
-      sha256 = "1dlr0w77sccibhp37xi49bi6g4679fymgziznqxjvhk5l141f2i6";
-      name = "konsole-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/konsole-21.08.0.tar.xz";
+      sha256 = "1gxy98wg2qfylqslg3ga3prk54knrik1rhzs7lsmmr73vym1dpav";
+      name = "konsole-21.08.0.tar.xz";
     };
   };
   kontact = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kontact-21.04.0.tar.xz";
-      sha256 = "08d1837kkcqc8gp9hmd351yymjdl31vg6nk1vcrlb7xsndqcsb79";
-      name = "kontact-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kontact-21.08.0.tar.xz";
+      sha256 = "1bdvji09nimgpdlz6nk7dbr22agnsrpra7r8jz81a0cjqspcmmsi";
+      name = "kontact-21.08.0.tar.xz";
     };
   };
   kontactinterface = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kontactinterface-21.04.0.tar.xz";
-      sha256 = "1h4v7jz4d5nl23fyjz946qszmidvdkayhsb1ffzk53bv8wpjh76m";
-      name = "kontactinterface-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kontactinterface-21.08.0.tar.xz";
+      sha256 = "1gl99624yhafwc1nw5if0a2k2v25s3rl4ak35c8af8mba54niy5z";
+      name = "kontactinterface-21.08.0.tar.xz";
     };
   };
   kontrast = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kontrast-21.04.0.tar.xz";
-      sha256 = "1bjkmhal9prizv1dlz8gdlki096a8d09bwksc0xxq3kml1r5gmfm";
-      name = "kontrast-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kontrast-21.08.0.tar.xz";
+      sha256 = "000bmbgp43znmqxxb33ik11lri1x44jcdyzd8cxlh8frwv96hd9x";
+      name = "kontrast-21.08.0.tar.xz";
     };
   };
   konversation = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/konversation-21.04.0.tar.xz";
-      sha256 = "1fq4w0awg2xj6f7ivvpqrcch68ss01vnh0diwagryhrb0g0a37n7";
-      name = "konversation-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/konversation-21.08.0.tar.xz";
+      sha256 = "162rdh9cz417b6zc5217gp53vwsny3i7r0s14cpvrmfl141isrg8";
+      name = "konversation-21.08.0.tar.xz";
     };
   };
   kopeninghours = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kopeninghours-21.04.0.tar.xz";
-      sha256 = "11gkri2sk1dz4hndpid4c84pxkdzc1fdpzw8h2x0141njl62421c";
-      name = "kopeninghours-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kopeninghours-21.08.0.tar.xz";
+      sha256 = "1abyq50pa8qzsvgawbas4mn64g3p8jz7cbz5fb6mzy8546sm11yv";
+      name = "kopeninghours-21.08.0.tar.xz";
     };
   };
   kopete = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kopete-21.04.0.tar.xz";
-      sha256 = "14ypdl4xy4izg14nbdczif5i8q5kjly5gnyz032iy0cgnkarhi4q";
-      name = "kopete-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kopete-21.08.0.tar.xz";
+      sha256 = "11zngca7wyfzbv0bw1f3qw1gvi5234m2ybkh5sznhrd3w1jadqgl";
+      name = "kopete-21.08.0.tar.xz";
     };
   };
   korganizer = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/korganizer-21.04.0.tar.xz";
-      sha256 = "0znbwnzn35q4fdlj9n7hdqvq9rz3g8dyan9v1z9rh11cmdn4pc6h";
-      name = "korganizer-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/korganizer-21.08.0.tar.xz";
+      sha256 = "1d5zilr1qsgfwvzc61pmbn8w8gv4a6i5i1slbdaps6wkr4bb0z7m";
+      name = "korganizer-21.08.0.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kosmindoormap-21.04.0.tar.xz";
-      sha256 = "1c31f7b79xq9sxmfqxfs3082yrbqwkmw02brja8dg1h2avn0r3cy";
-      name = "kosmindoormap-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kosmindoormap-21.08.0.tar.xz";
+      sha256 = "1lbywi76mwvljxp7n6gyhgfl4772cdfa5sphxhbf1klyvhryl797";
+      name = "kosmindoormap-21.08.0.tar.xz";
     };
   };
   kpat = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kpat-21.04.0.tar.xz";
-      sha256 = "043apdv55kc8d2dih65vb4fkwmaqybz167z0g5nfrrg0ilnqhifn";
-      name = "kpat-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kpat-21.08.0.tar.xz";
+      sha256 = "1wpsxz2fwjl92yl4a0npksdbhd9b3gfvh9giyr2p0gwfxrwwdq3z";
+      name = "kpat-21.08.0.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kpimtextedit-21.04.0.tar.xz";
-      sha256 = "1acj6w164xg3v1svzlf4qa10kkzbhlnzrl4cp0brak81gal7bnrp";
-      name = "kpimtextedit-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kpimtextedit-21.08.0.tar.xz";
+      sha256 = "1s20s5njmrbn5sa4vx74aivrphnypzd133j6n58xqbjza7zm0sgj";
+      name = "kpimtextedit-21.08.0.tar.xz";
     };
   };
   kpkpass = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kpkpass-21.04.0.tar.xz";
-      sha256 = "0s1f9j3n3ki71kzi8zw95q4v8y3dcgi5cnpq5rk03qb69yqf45xi";
-      name = "kpkpass-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kpkpass-21.08.0.tar.xz";
+      sha256 = "058kk3rfklfmw949wix0rv10q8094xq30vxyrglll96pxk2rj22h";
+      name = "kpkpass-21.08.0.tar.xz";
     };
   };
   kpmcore = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kpmcore-21.04.0.tar.xz";
-      sha256 = "0cb71d0w2jhbpm0da9rzn484930c022gxn2m4y9bgimaz0cgzcp7";
-      name = "kpmcore-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kpmcore-21.08.0.tar.xz";
+      sha256 = "0l9aqm07203r2q74g6pnzhgwqhccr38qn89zb80p683bqi3chdd1";
+      name = "kpmcore-21.08.0.tar.xz";
     };
   };
   kpublictransport = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kpublictransport-21.04.0.tar.xz";
-      sha256 = "18zmsq9585d8sx6qvcfw6wb183nzga9l0b6mm06cl89bwpr2bdbb";
-      name = "kpublictransport-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kpublictransport-21.08.0.tar.xz";
+      sha256 = "1bfyr509z27gz59ykar0png1gghbna6minl987hxyiys76pchrd2";
+      name = "kpublictransport-21.08.0.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kqtquickcharts-21.04.0.tar.xz";
-      sha256 = "09lw31sx93gw3s6hmwi0xaxyjnfx2nhij8iayam1sg644vx9a7ws";
-      name = "kqtquickcharts-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kqtquickcharts-21.08.0.tar.xz";
+      sha256 = "1x4bxqpnmyq6cvg7j6dbk0y7nbhjkrrldw9spxa72lx914bpd6np";
+      name = "kqtquickcharts-21.08.0.tar.xz";
     };
   };
   krdc = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/krdc-21.04.0.tar.xz";
-      sha256 = "08iqydss6lyc6823762fq1p5c1hs7hv2crwv609gw97cvxvc8ww1";
-      name = "krdc-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/krdc-21.08.0.tar.xz";
+      sha256 = "0ja1x3i91wiw0v8qfd6fig56bqhpbfg2hhhl1bh8bqxm77q3qq9h";
+      name = "krdc-21.08.0.tar.xz";
     };
   };
   kreversi = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kreversi-21.04.0.tar.xz";
-      sha256 = "02zk0bwjmhgpk7fbvzwxap0xda2vxfyfjy38zagm5wgpgd4acsj4";
-      name = "kreversi-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kreversi-21.08.0.tar.xz";
+      sha256 = "1122ybggnmkhb0lx934a2dka24gbfif0dmcg5qgzsbhvmc3am0cp";
+      name = "kreversi-21.08.0.tar.xz";
     };
   };
   krfb = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/krfb-21.04.0.tar.xz";
-      sha256 = "0vjf10fg8nqbc7dr19i1hlqpgi1z2bcm1zrpf2rs85fi4pxrw7lg";
-      name = "krfb-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/krfb-21.08.0.tar.xz";
+      sha256 = "14l5h04g3k51jsphzl4yq4kd8d2s3wfh7dq4i099gw6r04divipb";
+      name = "krfb-21.08.0.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kross-interpreters-21.04.0.tar.xz";
-      sha256 = "1203gmm6pcv37k2m3yah1qgazja8qxkn18dqxmnw7fj3903mqxjw";
-      name = "kross-interpreters-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kross-interpreters-21.08.0.tar.xz";
+      sha256 = "1vnfd96sjb20jifh5pvnd752ycq3m8p8kl7rmwv5s9lvmdiw14s2";
+      name = "kross-interpreters-21.08.0.tar.xz";
     };
   };
   kruler = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kruler-21.04.0.tar.xz";
-      sha256 = "0yrpkb755g2xy329336dl9yarl6dhcj5cwgv1sy75w1k3gibsz5y";
-      name = "kruler-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kruler-21.08.0.tar.xz";
+      sha256 = "1bz7b3m46mlibf2gai6is68119w8gphal7idz4wi3rlwl2lfbmm4";
+      name = "kruler-21.08.0.tar.xz";
     };
   };
   kshisen = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kshisen-21.04.0.tar.xz";
-      sha256 = "087vynb6gr3l2291nvxcdk27ib10063fyhhxa7ibvfw68j612fri";
-      name = "kshisen-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kshisen-21.08.0.tar.xz";
+      sha256 = "1m9fhd2hk9pi5297hj1a36m1sl8c959a3mx1fc36va7yi0m8vxly";
+      name = "kshisen-21.08.0.tar.xz";
     };
   };
   ksirk = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksirk-21.04.0.tar.xz";
-      sha256 = "1qrgkzgm7vnjz6mk7gqkxkx6i7p1dfnlw8fhxa6h1ihvgfmxr6kr";
-      name = "ksirk-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksirk-21.08.0.tar.xz";
+      sha256 = "0vqg4gz67p00p3rrrv7mw2aiy9lcahkzrhz69xki96vfzcbpxw4r";
+      name = "ksirk-21.08.0.tar.xz";
     };
   };
   ksmtp = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksmtp-21.04.0.tar.xz";
-      sha256 = "0mn4ciyg0c8rxbcc3d99slm03jbca7b6gaplh8zz54p2krf86my5";
-      name = "ksmtp-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksmtp-21.08.0.tar.xz";
+      sha256 = "1imm692nkgxa5bhhxqvd4mc6n8ajigjbmm6crpsciwi1gm84fx0b";
+      name = "ksmtp-21.08.0.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksnakeduel-21.04.0.tar.xz";
-      sha256 = "1s3k4k2a27rfp300bgxm1qhsg0dnlz72ip3csdixkidwcig7v017";
-      name = "ksnakeduel-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksnakeduel-21.08.0.tar.xz";
+      sha256 = "14hp1vqw9bk3lavv02y9xxmpgv1g9cvz113900j924c5xsjkp4mi";
+      name = "ksnakeduel-21.08.0.tar.xz";
     };
   };
   kspaceduel = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kspaceduel-21.04.0.tar.xz";
-      sha256 = "0acgmh4blmp2vmzqnxvphixbjmfv12al99hxwv1iavdfyl88yfqz";
-      name = "kspaceduel-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kspaceduel-21.08.0.tar.xz";
+      sha256 = "1aa2cx06x5kq3ni5ikgjvar0rmz4csi231hvhgjhsnj18ilk0bxh";
+      name = "kspaceduel-21.08.0.tar.xz";
     };
   };
   ksquares = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksquares-21.04.0.tar.xz";
-      sha256 = "1y23c86qz1qcmjzfsrj974c4ccai4rrp7ajmwxi7wgzgzwypflir";
-      name = "ksquares-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksquares-21.08.0.tar.xz";
+      sha256 = "1715l0j79n6nrjgg0fib17yv8rhjbnivmcgs8fg4iw49c3k5s7nc";
+      name = "ksquares-21.08.0.tar.xz";
     };
   };
   ksudoku = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksudoku-21.04.0.tar.xz";
-      sha256 = "0r6m6jpjpz759gq40bxh5n7lg89gn2kfmiik2i06d1slz9v54iv0";
-      name = "ksudoku-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksudoku-21.08.0.tar.xz";
+      sha256 = "1p878yglczah0fdmmmcys46x07r2d78fx5f54z1yd8vhaf8bxmxj";
+      name = "ksudoku-21.08.0.tar.xz";
     };
   };
   ksystemlog = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ksystemlog-21.04.0.tar.xz";
-      sha256 = "06az8kfsp468hr3xzcfbra81xbfv12w2jzhd4n2cirsi6k8vhx14";
-      name = "ksystemlog-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ksystemlog-21.08.0.tar.xz";
+      sha256 = "18jlwmk9aynhcnkgflky20b6mphzaxxvcicmpv58sp4q92fgwgab";
+      name = "ksystemlog-21.08.0.tar.xz";
     };
   };
   kteatime = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kteatime-21.04.0.tar.xz";
-      sha256 = "1zk7gbdsxyw59lfr0r2nnxm08jjls0zcp7wqkm4sq2gyczs73vy5";
-      name = "kteatime-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kteatime-21.08.0.tar.xz";
+      sha256 = "0imm902b19g2miyhwliryjyiyygsdsilk2b3biyvjlqp037sfrr4";
+      name = "kteatime-21.08.0.tar.xz";
     };
   };
   ktimer = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktimer-21.04.0.tar.xz";
-      sha256 = "0czwbd0id7a9w8wwpfsv2s06xc9my996bcdj0bn37091yik1wqzr";
-      name = "ktimer-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktimer-21.08.0.tar.xz";
+      sha256 = "05pka16za7dbpbhsss0mcm2h6rxzd7sp7wlly2ds9azdkwqzdjkh";
+      name = "ktimer-21.08.0.tar.xz";
     };
   };
   ktnef = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktnef-21.04.0.tar.xz";
-      sha256 = "0zs0bfb2g7rxcxc7ngjzszrcnj9qarpnig7b29xcrmnsxppa9z8y";
-      name = "ktnef-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktnef-21.08.0.tar.xz";
+      sha256 = "0zp03pbry6qkcanbjj5qscja9i97f7gsssmn40swnfbd45ja2z6l";
+      name = "ktnef-21.08.0.tar.xz";
     };
   };
   ktorrent = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktorrent-21.04.0.tar.xz";
-      sha256 = "0f28iyb2mrin2n5f6msxib9lh38qxid1sz5p5dq1g703gyqgr345";
-      name = "ktorrent-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktorrent-21.08.0.tar.xz";
+      sha256 = "1wqf6vvl1wyw8b6xzl91pry1mzjj9lpflnp4rinr9jsxfrf88c4x";
+      name = "ktorrent-21.08.0.tar.xz";
     };
   };
   ktouch = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktouch-21.04.0.tar.xz";
-      sha256 = "0f46dsjcgqqg1f24sl3za624h5kpynqdi480hnc0fc6yaf3nm2mm";
-      name = "ktouch-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktouch-21.08.0.tar.xz";
+      sha256 = "0zwf5q5h9qacygp9gzyj0s2y2sd3j2y5sm2rc6z3bn4jcv03bjxf";
+      name = "ktouch-21.08.0.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-accounts-kcm-21.04.0.tar.xz";
-      sha256 = "1vvnk9nfq4z3m73yr59y65v0nvqwn4xjx6lrm754dnqr6vldv01p";
-      name = "ktp-accounts-kcm-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-accounts-kcm-21.08.0.tar.xz";
+      sha256 = "0qs3izsffkjyafxxq7mrhcw487zrl9vvdv75gdahc8bq6hni60q9";
+      name = "ktp-accounts-kcm-21.08.0.tar.xz";
     };
   };
   ktp-approver = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-approver-21.04.0.tar.xz";
-      sha256 = "0j407a3bfmi4gn5v3gfazfidyp1kxn4vbs40xm5pkgxr4ykvzqj5";
-      name = "ktp-approver-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-approver-21.08.0.tar.xz";
+      sha256 = "177hz0fwpqxg65cw5d51hzqsb5ipp3vm513zdc6ac1bxjb6pd725";
+      name = "ktp-approver-21.08.0.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-auth-handler-21.04.0.tar.xz";
-      sha256 = "1lqjb3mawdvwrx7b2q2f3kr132shbgs9lvlzdn450pn9cn1c4z7i";
-      name = "ktp-auth-handler-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-auth-handler-21.08.0.tar.xz";
+      sha256 = "1wg4vcix56ws1mq7611h1kqcxk8dfb5fw57m9wn2q0ikzs9ymav7";
+      name = "ktp-auth-handler-21.08.0.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-call-ui-21.04.0.tar.xz";
-      sha256 = "1f2rzm5jfw12b6v2yfzjs152sq2ak3k7zk3nwipyiy86n0f25yqp";
-      name = "ktp-call-ui-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-call-ui-21.08.0.tar.xz";
+      sha256 = "1mgbhkd9ph411h95xyajx6cqsjjf1m52frxw88agv5q6cymx2iz1";
+      name = "ktp-call-ui-21.08.0.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-common-internals-21.04.0.tar.xz";
-      sha256 = "0j3fnvyln6w7m3z416blpvrk1bpcbd5403h6pyjyq3dsvswzd21x";
-      name = "ktp-common-internals-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-common-internals-21.08.0.tar.xz";
+      sha256 = "16ivfv65q06gxf01zzswy77f8aqdnjm7jycz812xa07h5xqxj4az";
+      name = "ktp-common-internals-21.08.0.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-contact-list-21.04.0.tar.xz";
-      sha256 = "1bym3sf3szmgi3nbczlilcazkjd1jfy7v0p0c3844c33fid6ln4q";
-      name = "ktp-contact-list-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-contact-list-21.08.0.tar.xz";
+      sha256 = "1pwql0g5bz5h59wc4nay85c74vic3yk0vc7wx8z6namjcw5sl6n8";
+      name = "ktp-contact-list-21.08.0.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-contact-runner-21.04.0.tar.xz";
-      sha256 = "1afcsc8bfvyqy9y32a73x01xar50g48q9jbvnsggmjb20qbgk6fz";
-      name = "ktp-contact-runner-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-contact-runner-21.08.0.tar.xz";
+      sha256 = "1wv21ybzk0nvabjrbnvc6yg4mfdxw368x5zxhrffirv58lyqclxs";
+      name = "ktp-contact-runner-21.08.0.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-desktop-applets-21.04.0.tar.xz";
-      sha256 = "1achgl8prdl33hw73nfjcm0djxzf9xy76n365kqzfz757fvy025w";
-      name = "ktp-desktop-applets-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-desktop-applets-21.08.0.tar.xz";
+      sha256 = "1wzjxd4xndpcixlhv636m9gis1clqhf9cksapxgk6sn31mamqxia";
+      name = "ktp-desktop-applets-21.08.0.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-filetransfer-handler-21.04.0.tar.xz";
-      sha256 = "0mhvx3x4mf9b1mmn901995107ixz9qd80ydx468k30w13k8hwjpg";
-      name = "ktp-filetransfer-handler-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-filetransfer-handler-21.08.0.tar.xz";
+      sha256 = "0zvfhwa70jiiv9xf405263h9mr2zap1fpplgyfrz5r2lsidga5r8";
+      name = "ktp-filetransfer-handler-21.08.0.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-kded-module-21.04.0.tar.xz";
-      sha256 = "1d3rpbqks6x6bv12mzpd6g5x2h35hf4xfx871i23pq7p2n4nna8f";
-      name = "ktp-kded-module-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-kded-module-21.08.0.tar.xz";
+      sha256 = "17k94bwmv547xks6206x89h014r4gxkd2gj3wry3xm3g1z27w7bn";
+      name = "ktp-kded-module-21.08.0.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-send-file-21.04.0.tar.xz";
-      sha256 = "1lyshgan77cia7cnirjfyg0hw0wgazjw9z21ig0czs3hr6qqf277";
-      name = "ktp-send-file-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-send-file-21.08.0.tar.xz";
+      sha256 = "0hk85ydzhlqfinj3ggy5kxvs242kkwbvlh5jz0hh3bi88rdw13px";
+      name = "ktp-send-file-21.08.0.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktp-text-ui-21.04.0.tar.xz";
-      sha256 = "04k2m4f873hz783szmkgpc0y6mjpwld5z3xcbdqippfzcdn4hg0v";
-      name = "ktp-text-ui-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktp-text-ui-21.08.0.tar.xz";
+      sha256 = "0zv736zrz5mkvbzgbkm9hq8sp6qnqkg58nyd76xfqq54svgcpi71";
+      name = "ktp-text-ui-21.08.0.tar.xz";
     };
   };
   ktuberling = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/ktuberling-21.04.0.tar.xz";
-      sha256 = "14yg3pghm4l3qgpi1i5zicjyak62w2ci4b36914kn5b3yfxh132i";
-      name = "ktuberling-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/ktuberling-21.08.0.tar.xz";
+      sha256 = "15sjqskzni5jhvr77b794mia3v00rmzgxvzqaqbwkhy6ax1gihda";
+      name = "ktuberling-21.08.0.tar.xz";
     };
   };
   kturtle = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kturtle-21.04.0.tar.xz";
-      sha256 = "1l8drllf7a1d3zra23ysyli8jl6xgl3xciqfkhc1fxhdkncx24cd";
-      name = "kturtle-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kturtle-21.08.0.tar.xz";
+      sha256 = "07japzwhfhb5gbm8ac4acvq4k2xqhlz6sl11qjb9j9scmz77y66f";
+      name = "kturtle-21.08.0.tar.xz";
     };
   };
   kubrick = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kubrick-21.04.0.tar.xz";
-      sha256 = "0m8ps0yxqijshgx09cypzd3l1n0zlrqcrkjcd725zwxarpm0z0hk";
-      name = "kubrick-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kubrick-21.08.0.tar.xz";
+      sha256 = "0lk4qfg0fzfhs796csqvniinlyljd4iz9x1l884b1pz2savrfq05";
+      name = "kubrick-21.08.0.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kwalletmanager-21.04.0.tar.xz";
-      sha256 = "1rh7xdwn0kdw8j936asxy8llar144144xgvp7sjlpi5y93ayf8vk";
-      name = "kwalletmanager-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kwalletmanager-21.08.0.tar.xz";
+      sha256 = "0qwrlm0ay04gn9k752pixykiz2dvqaxybfgahahlqf2j2l5w18kh";
+      name = "kwalletmanager-21.08.0.tar.xz";
     };
   };
   kwave = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kwave-21.04.0.tar.xz";
-      sha256 = "1wy6sxmf9pk2677xdsbpgy01p284rzqwiyzm1hr971xbra5h4k6i";
-      name = "kwave-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kwave-21.08.0.tar.xz";
+      sha256 = "0pi7ycxnl5dacw5qmig1v3xy69a6c0x3hdk4bpw19avx9asgfjq7";
+      name = "kwave-21.08.0.tar.xz";
     };
   };
   kwordquiz = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/kwordquiz-21.04.0.tar.xz";
-      sha256 = "0wnihn75yvhz2j310vr806vkbfywhr26wny07fpbzcishyjb89vi";
-      name = "kwordquiz-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/kwordquiz-21.08.0.tar.xz";
+      sha256 = "1ms8scxg14s4s35xcgacryfwyadvfyzsv1alkipv87x75qsbjzjm";
+      name = "kwordquiz-21.08.0.tar.xz";
     };
   };
   libgravatar = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libgravatar-21.04.0.tar.xz";
-      sha256 = "0li6p9df000bmkqgmwiix7ab4sah05r1n4gm109jjglh0a41bfvr";
-      name = "libgravatar-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libgravatar-21.08.0.tar.xz";
+      sha256 = "10nqv5f3hanhljld8rpkxaqvr892sj1v2vfx43i52xhg6pbxdd5n";
+      name = "libgravatar-21.08.0.tar.xz";
     };
   };
   libkcddb = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkcddb-21.04.0.tar.xz";
-      sha256 = "1fzbhn0rnlmxdglfb48f4f3ddagkgny2665mgv8gdbcq3vg62zwr";
-      name = "libkcddb-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkcddb-21.08.0.tar.xz";
+      sha256 = "006z9m4lwgk0ick5blx00mndw5m04l6ayb9nmd7fswd4ql3qqcpv";
+      name = "libkcddb-21.08.0.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkcompactdisc-21.04.0.tar.xz";
-      sha256 = "1skaic0vfspdkv0q574ia4jszq1a5smf4s9ls4flfk5qxmkv6862";
-      name = "libkcompactdisc-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkcompactdisc-21.08.0.tar.xz";
+      sha256 = "0fgcr6gr4di5spw9dm6yz90s16jv2zmdpgpvhxbscirn7mf1b4is";
+      name = "libkcompactdisc-21.08.0.tar.xz";
     };
   };
   libkdcraw = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkdcraw-21.04.0.tar.xz";
-      sha256 = "1ir6m61yb8f0ic39jxxnzjd9jjkb0ksln3fkls5v0af6g546bgab";
-      name = "libkdcraw-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkdcraw-21.08.0.tar.xz";
+      sha256 = "176wp24ij2kciggjnffcamgk4y6h59cwabwwxvli32i3l3ll8wlc";
+      name = "libkdcraw-21.08.0.tar.xz";
     };
   };
   libkdegames = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkdegames-21.04.0.tar.xz";
-      sha256 = "1q0m4kq32gsllxz8vx0qj9qii5y2lbd6wclwlykhayx1fcncwrj7";
-      name = "libkdegames-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkdegames-21.08.0.tar.xz";
+      sha256 = "0nbimjv8sanwn3is9d357ic8zy0dpdr3g3qsipzapzlchpigjm9b";
+      name = "libkdegames-21.08.0.tar.xz";
     };
   };
   libkdepim = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkdepim-21.04.0.tar.xz";
-      sha256 = "1ai5l9qcjnpwndvv744sx85b0yyg4wz01r0v9b0b62zwx8i35clb";
-      name = "libkdepim-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkdepim-21.08.0.tar.xz";
+      sha256 = "1gxyzq7lgswfrkxsfqf5y4vwx2ji3wz7vyzkg5gpygr1an6c2sp3";
+      name = "libkdepim-21.08.0.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkeduvocdocument-21.04.0.tar.xz";
-      sha256 = "0264i01w44fjdh14psmw8ynmb8vzkw94lqqff1ia8bw5n0ihr914";
-      name = "libkeduvocdocument-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkeduvocdocument-21.08.0.tar.xz";
+      sha256 = "1nm07fdaas7jn3yfds7k22n6xl9c8wdi6bjrf8blbycj6fflciwd";
+      name = "libkeduvocdocument-21.08.0.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkexiv2-21.04.0.tar.xz";
-      sha256 = "0grhibpq47yba9mjdhr1p0sbw62vxsrwfydi5ybpa8fjgvbbbprr";
-      name = "libkexiv2-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkexiv2-21.08.0.tar.xz";
+      sha256 = "0mb5qj4n2fcwak36an4yslffvlhj6f2qfv5vdl2cid8c34ikvqll";
+      name = "libkexiv2-21.08.0.tar.xz";
     };
   };
   libkgapi = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkgapi-21.04.0.tar.xz";
-      sha256 = "1x811g0mbgjz8spngdsqdxfhkyic9kqxkhx9nq592zihaqkl3ifz";
-      name = "libkgapi-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkgapi-21.08.0.tar.xz";
+      sha256 = "0f2yk75a0gr7hah32fmn35lk0illviswfhlh0nw6ignfx56q7f3r";
+      name = "libkgapi-21.08.0.tar.xz";
     };
   };
   libkipi = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkipi-21.04.0.tar.xz";
-      sha256 = "0gk8bfhq1z9f82mnjm2xjabgxn0qjrabw53bb67lwvrrgaliliqb";
-      name = "libkipi-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkipi-21.08.0.tar.xz";
+      sha256 = "0831x76w413azciabm6l83nrwpiivq5pjqxcl3yzhs2hq1i1wd06";
+      name = "libkipi-21.08.0.tar.xz";
     };
   };
   libkleo = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkleo-21.04.0.tar.xz";
-      sha256 = "073ghnw1s09fvai22ag37n20mmhkbl4gp4y58nbgw43gfy5gsv6z";
-      name = "libkleo-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkleo-21.08.0.tar.xz";
+      sha256 = "14i65vh0c39z0d65kgqn2apcfi5x3vxrxp2ybc4ccc4sxh033akp";
+      name = "libkleo-21.08.0.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkmahjongg-21.04.0.tar.xz";
-      sha256 = "1n2jswdvpvc9jcqsvqf0nniaf893432v123my2q6msk2zvss6pcb";
-      name = "libkmahjongg-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkmahjongg-21.08.0.tar.xz";
+      sha256 = "18syxfszfvq1h0l5fbgy599ak2pgp4mj4i949kyv4v6qdwwv9mhi";
+      name = "libkmahjongg-21.08.0.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libkomparediff2-21.04.0.tar.xz";
-      sha256 = "13kpaasyhrhhrgk8a5qg9qv65wdv6qvnz2gjbjv8qgp4k4jmwv7h";
-      name = "libkomparediff2-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libkomparediff2-21.08.0.tar.xz";
+      sha256 = "0b5yhhvnipbwzn2sylh45ispslrw3w68y9xnrxrjwb0ydmq5zqyb";
+      name = "libkomparediff2-21.08.0.tar.xz";
     };
   };
   libksane = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libksane-21.04.0.tar.xz";
-      sha256 = "17a5i21h99qvv8sig7xh5n149ji8fqch5m0w6fqirrwf0iz66363";
-      name = "libksane-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libksane-21.08.0.tar.xz";
+      sha256 = "0i2vr95hi776rqljjjh14d3p5zhcbnjx0b3n94x7m4jq5k2wqpqs";
+      name = "libksane-21.08.0.tar.xz";
     };
   };
   libksieve = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libksieve-21.04.0.tar.xz";
-      sha256 = "04zyiqmkr78rnilv5zmmbr09k1nycgpc3qw3a9qy4xzh5amkl8wl";
-      name = "libksieve-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libksieve-21.08.0.tar.xz";
+      sha256 = "0r35153l0kgmw5gvspvqlna6ramggz7p055rbpz60xz9hxfkz3d7";
+      name = "libksieve-21.08.0.tar.xz";
     };
   };
   libktorrent = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/libktorrent-21.04.0.tar.xz";
-      sha256 = "0c8hbsk2vjkmdvnws4kaa9bylzyzmx12fxm354qm65n4j6pdd59v";
-      name = "libktorrent-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/libktorrent-21.08.0.tar.xz";
+      sha256 = "12x7h0wrxdcpyd4mblbv64swxlcc8vc5k4nlzmag4nzdmgrb7c3x";
+      name = "libktorrent-21.08.0.tar.xz";
     };
   };
   lokalize = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/lokalize-21.04.0.tar.xz";
-      sha256 = "1wb95y89qi4z7hsldyq75w69rgdca3m0ji85khfvsb4h3cgilana";
-      name = "lokalize-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/lokalize-21.08.0.tar.xz";
+      sha256 = "0mwyvfam5ybrhd67vq6dgw74106l7p0q16xvddxa9gi0sdxb9883";
+      name = "lokalize-21.08.0.tar.xz";
     };
   };
   lskat = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/lskat-21.04.0.tar.xz";
-      sha256 = "1acxbsldcjk3d84ip5z15y8x6nngj2vnb40s5p3mv47r6vgbh0qd";
-      name = "lskat-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/lskat-21.08.0.tar.xz";
+      sha256 = "14ii7pcq6p0k1626x63nc49pvjb4lvc4d5sdsi47rp0ll0f03sa8";
+      name = "lskat-21.08.0.tar.xz";
     };
   };
   mailcommon = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/mailcommon-21.04.0.tar.xz";
-      sha256 = "1ljchkfrnknlzgjrrpwszzyv8m066d29xwns1yp8smqzk723g0gx";
-      name = "mailcommon-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/mailcommon-21.08.0.tar.xz";
+      sha256 = "0braayvcpbyvmcxx82ic7fhmzfwf6dyanvikwcmb0p9y7bkr1vk1";
+      name = "mailcommon-21.08.0.tar.xz";
     };
   };
   mailimporter = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/mailimporter-21.04.0.tar.xz";
-      sha256 = "06zvaq3ccrgsd6idnd9m201924bnm72nvcg66v1salcdk93a8sv5";
-      name = "mailimporter-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/mailimporter-21.08.0.tar.xz";
+      sha256 = "139akl53hfq3kc91qnca5f6i5vimr8djbxnw94xibpiwj22xq7rz";
+      name = "mailimporter-21.08.0.tar.xz";
     };
   };
   marble = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/marble-21.04.0.tar.xz";
-      sha256 = "1c63x75fzhkqgvijd1pmpywq4dx7gkyw9x90aj54fzkgjzwzqzhq";
-      name = "marble-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/marble-21.08.0.tar.xz";
+      sha256 = "17sn26grpph8iw2kw498krvryyxy0qp6ala55bvh6a2hyn3562zl";
+      name = "marble-21.08.0.tar.xz";
     };
   };
   markdownpart = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/markdownpart-21.04.0.tar.xz";
-      sha256 = "0xgnj2g0hqwflw550fj6jzq36pc8j9vwb6p9cbvfljd8yv8va9kq";
-      name = "markdownpart-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/markdownpart-21.08.0.tar.xz";
+      sha256 = "138pi82653mwxn18s541b95i1zj5nij08cm7zykpm7kpkr2ri167";
+      name = "markdownpart-21.08.0.tar.xz";
     };
   };
   mbox-importer = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/mbox-importer-21.04.0.tar.xz";
-      sha256 = "0rxrf1sxb5pzrkr8m2n1f3xgpwsihn6b6d5nilxmmsl5c60ya8j8";
-      name = "mbox-importer-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/mbox-importer-21.08.0.tar.xz";
+      sha256 = "0whpz4vv27cibvb4q98dxkdrn3jpiywvbqdn5adzfmjvw9sdb4ym";
+      name = "mbox-importer-21.08.0.tar.xz";
     };
   };
   messagelib = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/messagelib-21.04.0.tar.xz";
-      sha256 = "1qsvqrkh30vyfrsxkpriqkzizxg9mx6v2xx7j6gyhz7pmrskx8rg";
-      name = "messagelib-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/messagelib-21.08.0.tar.xz";
+      sha256 = "1l5af4bwgcgj2askfsvx11bzqsp4bl5jc84fnswxpzidrir4x8ig";
+      name = "messagelib-21.08.0.tar.xz";
     };
   };
   minuet = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/minuet-21.04.0.tar.xz";
-      sha256 = "0djqp807g47fy163bp0pkrhb7j37ijqdfyafz74871j2frrmnc97";
-      name = "minuet-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/minuet-21.08.0.tar.xz";
+      sha256 = "06dk90qb2lvl01bc6d9wmjqm3xv4hqi092ljn1dh6h2711c7czca";
+      name = "minuet-21.08.0.tar.xz";
     };
   };
   okular = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/okular-21.04.0.tar.xz";
-      sha256 = "0l0vrglxy9331sqn3lx76hvbh7b0znsafl5ia61srk48kb0w9rqy";
-      name = "okular-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/okular-21.08.0.tar.xz";
+      sha256 = "0sbaq7cqzardmdvbl8y7jqb8pi605kg8jq2daizrp2m73w8p7vfx";
+      name = "okular-21.08.0.tar.xz";
     };
   };
   palapeli = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/palapeli-21.04.0.tar.xz";
-      sha256 = "0f7ylr46alafp2gz9sf7xgnjm9vgyx5r7nipbqjl4wi8w908rklw";
-      name = "palapeli-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/palapeli-21.08.0.tar.xz";
+      sha256 = "11mgsyk3mg9ic76grr1x0m8qihzrs8da40qxbx2v0syy5dgn7ssw";
+      name = "palapeli-21.08.0.tar.xz";
     };
   };
   parley = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/parley-21.04.0.tar.xz";
-      sha256 = "0a186zqpi815apf2grlj11xp64kw80i43779z99r665jpp6189z3";
-      name = "parley-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/parley-21.08.0.tar.xz";
+      sha256 = "1qn9pqvha52ha80lpqcvsi34yssvgnnyhl50is9wgk7qfnj02g9b";
+      name = "parley-21.08.0.tar.xz";
     };
   };
   partitionmanager = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/partitionmanager-21.04.0.tar.xz";
-      sha256 = "02dgbqx1a6wahds04jcjdjh56pyrm47165hwv98ccarakrvn8yqm";
-      name = "partitionmanager-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/partitionmanager-21.08.0.tar.xz";
+      sha256 = "1r5vis8dnpyl8jvv3r22jmlfwsscnqvfdkvpabkrfw6l7l33p3cj";
+      name = "partitionmanager-21.08.0.tar.xz";
     };
   };
   picmi = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/picmi-21.04.0.tar.xz";
-      sha256 = "1pwswzc02blvf49v4i2grw9mlm9y1ydmms6mg50iyi6qrnzbv6r3";
-      name = "picmi-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/picmi-21.08.0.tar.xz";
+      sha256 = "02jwsibpclp1a3nrzlkkq4qzm3y595cdf2pfd5933z8q3lk0zj85";
+      name = "picmi-21.08.0.tar.xz";
     };
   };
   pimcommon = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/pimcommon-21.04.0.tar.xz";
-      sha256 = "0bprmk20pmngvxxxpygajnlr4yx9acrz7dw6bfnn6d8kig281qdn";
-      name = "pimcommon-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/pimcommon-21.08.0.tar.xz";
+      sha256 = "12ffffv149ggpycdpk3sxh152y67dnm460d5d7sdfx8ip78xl0lv";
+      name = "pimcommon-21.08.0.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/pim-data-exporter-21.04.0.tar.xz";
-      sha256 = "0rbkr1vgl14q4hi4byn20kfhkz3yzmrydhb3f1i2amp08ca4x71n";
-      name = "pim-data-exporter-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/pim-data-exporter-21.08.0.tar.xz";
+      sha256 = "0zdcldazg5dsi3npl63hsz8v99h8k0pvnfh9rnhf0lg0mpcl8psn";
+      name = "pim-data-exporter-21.08.0.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/pim-sieve-editor-21.04.0.tar.xz";
-      sha256 = "1yxc4i0bsgrj9wsn44k7w3z1zkcm4y9qd8zd7shsqpca9lb9n13y";
-      name = "pim-sieve-editor-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/pim-sieve-editor-21.08.0.tar.xz";
+      sha256 = "008a8wq7n68fgh63gaz64q4qsxlk11zlg9v4mmln8238zgvwif1q";
+      name = "pim-sieve-editor-21.08.0.tar.xz";
     };
   };
   poxml = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/poxml-21.04.0.tar.xz";
-      sha256 = "0yhygizd0i6az1pd34lh4ij2x8867svbh2bic9lgcpmqbza9054g";
-      name = "poxml-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/poxml-21.08.0.tar.xz";
+      sha256 = "0wb3nq09ki2nkcpl6nfl483cm919hx6qxd39g6d76ksa7q2q46m9";
+      name = "poxml-21.08.0.tar.xz";
     };
   };
   print-manager = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/print-manager-21.04.0.tar.xz";
-      sha256 = "1k5pqh264jy698jdzsk7d6bhadnwvgx1g3rpji06pb0igr1zn820";
-      name = "print-manager-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/print-manager-21.08.0.tar.xz";
+      sha256 = "01pcrjfp40a9h466jsm3ymjqzavrzxvn74gcrvxasi68wwq8aqrf";
+      name = "print-manager-21.08.0.tar.xz";
     };
   };
   rocs = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/rocs-21.04.0.tar.xz";
-      sha256 = "11yzgrmb15zv24pfr3096g9zgsvgdlw43vnbjgbr7s8xvnprlh5l";
-      name = "rocs-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/rocs-21.08.0.tar.xz";
+      sha256 = "1jqiaxxdbv1cc75awl5gfq1kv76qmgiw872s4g5bny27ki8dlk7w";
+      name = "rocs-21.08.0.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/signon-kwallet-extension-21.04.0.tar.xz";
-      sha256 = "05jaa74j6rd89cj8szfgw5izjlkakbjmz7qiwlswyjd4lafjz65n";
-      name = "signon-kwallet-extension-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/signon-kwallet-extension-21.08.0.tar.xz";
+      sha256 = "0wig4p13qjpmn3imjiz4l14haad8qkr4qccv1kdgkkijy2dr66dy";
+      name = "signon-kwallet-extension-21.08.0.tar.xz";
+    };
+  };
+  skanlite = {
+    version = "21.08.0";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/21.08.0/src/skanlite-21.08.0.tar.xz";
+      sha256 = "1kkxxcaibxfvsaf9548vxspz6iyfhdl9xmmcdxrp85w9ymcr3mi5";
+      name = "skanlite-21.08.0.tar.xz";
     };
   };
   spectacle = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/spectacle-21.04.0.tar.xz";
-      sha256 = "0cqf9p7mc5wyl5qy6866m7xhndwmgd3hmw7amkpzngmmz4h9i2p0";
-      name = "spectacle-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/spectacle-21.08.0.tar.xz";
+      sha256 = "18rhb92m102hdkirdcigbd5ixma3s86022af1h133h3fy33xciwc";
+      name = "spectacle-21.08.0.tar.xz";
     };
   };
   step = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/step-21.04.0.tar.xz";
-      sha256 = "169ka33nkzrxdk874180v6yzmrngl98gzyql4p5ssmmdh0vrkg25";
-      name = "step-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/step-21.08.0.tar.xz";
+      sha256 = "0dayfkfh68ldg3ivh2nki78w07rscqphq04xazvqss8j296xjzgz";
+      name = "step-21.08.0.tar.xz";
     };
   };
   svgpart = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/svgpart-21.04.0.tar.xz";
-      sha256 = "0chfyxl94kp5pif6lzhlm7q8rg9l4lg74x4y04wslrfqcn1gghdj";
-      name = "svgpart-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/svgpart-21.08.0.tar.xz";
+      sha256 = "00pigyf0bicgclbb1imz2w1ksp10zzdf385kdx9zphh2h438kagf";
+      name = "svgpart-21.08.0.tar.xz";
     };
   };
   sweeper = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/sweeper-21.04.0.tar.xz";
-      sha256 = "1iysxrfdp8bv0vgssv062yllsq4w3jf9vdi66jm9ka8i9w8wqpsv";
-      name = "sweeper-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/sweeper-21.08.0.tar.xz";
+      sha256 = "1g6s7nvcxs93i8mwplwd6a42jjid73n4rywwar9z2y1293afzaci";
+      name = "sweeper-21.08.0.tar.xz";
     };
   };
   umbrello = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/umbrello-21.04.0.tar.xz";
-      sha256 = "17xwsjc1ph2glscv41x4f5bagw1q5ackqpy1wcg8m9jrg9ipqpqx";
-      name = "umbrello-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/umbrello-21.08.0.tar.xz";
+      sha256 = "0nly325zb51n5l2hbc6m199vhqx3jsscbvp4bqhgplklwhd6c1c0";
+      name = "umbrello-21.08.0.tar.xz";
     };
   };
   yakuake = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/yakuake-21.04.0.tar.xz";
-      sha256 = "1jkwcc4pdb06v4q7bnqppdkjf8n8qpfp9mk02l77brnxxf8i9r3b";
-      name = "yakuake-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/yakuake-21.08.0.tar.xz";
+      sha256 = "0gm2djqjf807h657br1hz9ds5w09lszyi8iy2n3my4h78cs9lw72";
+      name = "yakuake-21.08.0.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "21.04.0";
+    version = "21.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.04.0/src/zeroconf-ioslave-21.04.0.tar.xz";
-      sha256 = "03cmz3y8f48y26aybyygwssqicp0kz4ry9xm30rvvc5hiv0n6hj7";
-      name = "zeroconf-ioslave-21.04.0.tar.xz";
+      url = "${mirror}/stable/release-service/21.08.0/src/zeroconf-ioslave-21.08.0.tar.xz";
+      sha256 = "13nxmghb8h0p5qp69w095xwgdl6b7kv8c1zs1n63l0m028wa37bg";
+      name = "zeroconf-ioslave-21.08.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
index eabc93492378a..bd6173a0c525b 100644
--- a/pkgs/applications/misc/moolticute/default.nix
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "moolticute";
-  version = "0.45.0";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "mooltipass";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-azJ63NI0wzzv3acgoPaeF+lTM1WKpXg595FrK908k1U=";
+    sha256 = "sha256-/luba+qYRATP3EjNMB+GIRP6JQOlADsvpF8PzRFqFlM=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix
index ac4811b30c41b..68721c846f748 100644
--- a/pkgs/applications/misc/plover/default.nix
+++ b/pkgs/applications/misc/plover/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, python27Packages, python36Packages, wmctrl,
+{ lib, fetchurl, python27Packages, python3Packages, wmctrl,
   qtbase, mkDerivationWith }:
 
 {
@@ -24,9 +24,9 @@
     ];
   };
 
-  dev = with python36Packages; mkDerivationWith buildPythonPackage rec {
+  dev = with python3Packages; mkDerivationWith buildPythonPackage rec {
     pname = "plover";
-    version = "4.0.0.dev8";
+    version = "4.0.0.dev10";
 
     meta = with lib; {
       description = "OpenSteno Plover stenography software";
@@ -36,7 +36,7 @@
 
     src = fetchurl {
       url    = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
-      sha256 = "1wxkmik1zyw5gqig5r0cas5v6f5408fbnximzw610rdisqy09rxp";
+      sha256 = "sha256-Eun+ZgmOIjYw6FS/2OGoBvYh52U/Ue0+NtIqrvV2Tqc=";
     };
 
     # I'm not sure why we don't find PyQt5 here but there's a similar
diff --git a/pkgs/applications/misc/variety/default.nix b/pkgs/applications/misc/variety/default.nix
index 9b40c4c44f1f6..948719aae7620 100644
--- a/pkgs/applications/misc/variety/default.nix
+++ b/pkgs/applications/misc/variety/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub
-, python37Packages
+, python3Packages
 , fehSupport ? false, feh
 , imagemagickSupport ? true, imagemagick
 , intltool
@@ -13,7 +13,7 @@
 , makeWrapper
 }:
 
-with python37Packages;
+with python3Packages;
 
 buildPythonApplication rec {
   pname = "variety";
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
index 2e4771563a04c..db7fe260b924d 100644
--- a/pkgs/applications/misc/xcruiser/default.nix
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -12,8 +12,10 @@ stdenv.mkDerivation {
   buildInputs = [ libXt libXaw libXpm libXext ];
 
   makeFlags = [
-    "BINDIR=$(out)/bin"
-    "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+    "BINDIR=${placeholder "out"}/bin"
+    "CONFDIR=${placeholder "out"}/etc/X11"
+    "LIBDIR=${placeholder "out"}/lib/X11"
+    "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix
index 7a0111785c143..b579579195f68 100644
--- a/pkgs/applications/misc/xxkb/default.nix
+++ b/pkgs/applications/misc/xxkb/default.nix
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "BINDIR=${placeholder "out"}/bin"
+    "CONFDIR=${placeholder "out"}/etc/X11"
     "PIXMAPDIR=${placeholder "out"}/share/xxkb"
+    "LIBDIR=${placeholder "out"}/lib/X11"
     "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
     "MANDIR=${placeholder "man"}/share/man"
   ];
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index e894572dd78ca..397c64141ac99 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -32,8 +32,7 @@
 , openssl
 , pango
 , procps
-, python37
-, python37Packages
+, python3
 , stdenv
 , systemd
 , xdg-utils
@@ -101,8 +100,8 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   buildInputs = [
-    python37
-    python37Packages.dbus-python
+    python3
+    python3.pkgs.dbus-python
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/bump2version/default.nix b/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
index 47d31d6c18f63..ffb9455bd19f9 100644
--- a/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bump2version/default.nix
@@ -1,22 +1,37 @@
-{ buildPythonApplication, fetchFromGitHub, isPy27, pytest, testfixtures, lib }:
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, testfixtures
+}:
 
 buildPythonApplication rec {
   pname = "bump2version";
-  version = "1.0.0";
-  disabled = isPy27;
+  version = "1.0.1";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "c4urself";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
+    rev = "v${version}";
+    sha256 = "sha256-j6HKi3jTwSgGBrA8PCJJNg+yQqRMo1aqaLgPGf4KAKU=";
   };
 
-  checkInputs = [ pytest testfixtures ];
-  # X's in pytest are git tests which won't run in sandbox
-  checkPhase = ''
-    pytest tests/ -k 'not usage_string_fork'
-  '';
+  checkInputs = [
+    pytestCheckHook
+    testfixtures
+  ];
+
+  disabledTests = [
+    # X's in pytest are git tests which won't run in sandbox
+    "usage_string_fork"
+    "test_usage_string"
+    "test_defaults_in_usage_with_config"
+  ];
+
+  pythonImportsCheck = [ "bumpversion" ];
 
   meta = with lib; {
     description = "Version-bump your software with a single command";
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 775c4dd09cde5..1d02adc6397ec 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -25,7 +25,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.32.0";
+  version = "2.33.0";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "08rnm3ipjqdd2n31dw7mxl3iv9g4nxgc409krmz892a37kd43a38";
+    sha256 = "0kqcs8nj5h7rh3q86pw5777awq7gn77lgxk88ynjl1rfz2snlg5z";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
@@ -297,6 +297,8 @@ stdenv.mkDerivation {
     disable_test t0001-init 'shared overrides system'
     disable_test t0001-init 'init honors global core.sharedRepository'
     disable_test t1301-shared-repo
+    # git-completion.bash: line 405: compgen: command not found:
+    disable_test t9902-completion 'option aliases are shown with GIT_COMPLETION_SHOW_ALL'
 
     # Our patched gettext never fallbacks
     disable_test t0201-gettext-fallbacks
diff --git a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
index 9603d8e27c5c0..c78400847418e 100644
--- a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
@@ -1,28 +1,31 @@
 diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
-index 1afe9fc858..05dd7c3a90 100644
+index 3db4eab4ba..39bc0e77c9 100644
 --- a/Documentation/git-send-email.txt
 +++ b/Documentation/git-send-email.txt
-@@ -215,8 +215,7 @@ a password is obtained using 'git-credential'.
- 	specify a full pathname of a sendmail-like program instead;
- 	the program must support the `-i` option.  Default value can
- 	be specified by the `sendemail.smtpServer` configuration
--	option; the built-in default is to search for `sendmail` in
--	`/usr/sbin`, `/usr/lib` and $PATH if such program is
-+	option; the built-in default is to search in $PATH if such program is
- 	available, falling back to `localhost` otherwise.
- 
- --smtp-server-port=<port>::
+@@ -220,9 +220,9 @@ a password is obtained using 'git-credential'.
+ --smtp-server=<host>::
+ 	If set, specifies the outgoing SMTP server to use (e.g.
+ 	`smtp.example.com` or a raw IP address).  If unspecified, and if
+-	`--sendmail-cmd` is also unspecified, the default is to search
+-	for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a
+-	program is available, falling back to `localhost` otherwise.
++	`--sendmail-cmd` is also unspecified, the default is to search for
++	`sendmail` in $PATH if such a program is available, falling back to
++	`localhost` otherwise.
+ +
+ For backward compatibility, this option can also specify a full pathname
+ of a sendmail-like program instead; the program must support the `-i`
 diff --git a/git-send-email.perl b/git-send-email.perl
-index 8eb63b5a2f..74a61d8213 100755
+index e65d969d0b..508d49483d 100755
 --- a/git-send-email.perl
 +++ b/git-send-email.perl
-@@ -956,8 +956,7 @@ sub expand_one_alias {
+@@ -1066,8 +1066,7 @@ sub expand_one_alias {
  }
  
- if (!defined $smtp_server) {
+ if (!defined $sendmail_cmd && !defined $smtp_server) {
 -	my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
 -	push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
 +	my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH};
  	foreach (@sendmail_paths) {
  		if (-x $_) {
- 			$smtp_server = $_;
+ 			$sendmail_cmd = $_;
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index f3aecf300807f..5bf5f169e47a9 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -50,12 +50,12 @@ stdenv.mkDerivation rec {
     sha256 = "1f9hz8rf12jm8baa7kda34yl4hyl0xh0c4ap03krfjx23i3img47";
   };
 
-  nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja ]
+  nativeBuildInputs = [ makeWrapper python python.pkgs.sphinx pkg-config flex bison meson ninja ]
     ++ lib.optionals gtkSupport [ wrapGAppsHook ]
     ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
   buildInputs = [ zlib glib perl pixman
-    vde2 texinfo makeWrapper lzo snappy
+    vde2 texinfo lzo snappy
     gnutls nettle curl
   ]
     ++ lib.optionals ncursesSupport [ ncurses ]
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 1584b7fed0198..e4efc13262d25 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , asciidoc
 , cmake
 , expat
@@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
   };
 
+  patches = [
+    # https://github.com/ice-wm/icewm/pull/57
+    # Fix trailing -I that leads to "to generate dependencies you must specify either '-M' or '-MM'"
+    (fetchpatch {
+      url = "https://github.com/ice-wm/icewm/pull/57/commits/ebd2c45341cc31755758a423392a0f78a64d2d37.patch";
+      sha256 = "16m9znd3ijcfl7la3l27ac3clx8l9qng3fprkpxqcifd89ny1ml5";
+    })
+  ];
+
   nativeBuildInputs = [
     asciidoc
     cmake
diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix
index f9b5d227b0e88..207e3a83ab2b3 100644
--- a/pkgs/applications/window-managers/yabar/build.nix
+++ b/pkgs/applications/window-managers/yabar/build.nix
@@ -19,16 +19,33 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  nativeBuildInputs = [ pkg-config ];
+  strictDeps = true;
+  depsBuildBuild = [
+    pkg-config
+  ];
+  nativeBuildInputs = [
+    pkg-config
+    asciidoc
+    docbook_xsl
+    libxslt
+    makeWrapper
+    libconfig
+    pango
+  ];
   buildInputs = [
-    cairo gdk-pixbuf libconfig pango xcbutilwm docbook_xsl
-    alsa-lib wirelesstools asciidoc libxslt makeWrapper
+    cairo
+    gdk-pixbuf
+    libconfig
+    pango
+    xcbutilwm
+    alsa-lib
+    wirelesstools
   ];
 
   postPatch = ''
     substituteInPlace ./Makefile \
       --replace "\$(shell git describe)" "${version}" \
-      --replace "a2x" "${asciidoc}/bin/a2x --no-xmllint"
+      --replace "a2x" "a2x --no-xmllint"
   '';
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl
index 411b147cc58ef..ebd6026b25979 100755
--- a/pkgs/build-support/buildenv/builder.pl
+++ b/pkgs/build-support/buildenv/builder.pl
@@ -10,7 +10,11 @@ use JSON::PP;
 
 STDOUT->autoflush(1);
 
+$SIG{__WARN__} = sub { warn "warning: ", @_ };
+$SIG{__DIE__}  = sub { die "error: ", @_ };
+
 my $out = $ENV{"out"};
+my $extraPrefix = $ENV{"extraPrefix"};
 
 my @pathsToLink = split ' ', $ENV{"pathsToLink"};
 
@@ -88,6 +92,10 @@ sub findFilesInDir {
 sub checkCollision {
     my ($path1, $path2) = @_;
 
+    if (! -e $path1 || ! -e $path2) {
+        return 0;
+    }
+
     my $stat1 = (stat($path1))[2];
     my $stat2 = (stat($path2))[2];
 
@@ -101,6 +109,11 @@ sub checkCollision {
     return compare($path1, $path2) == 0;
 }
 
+sub prependDangling {
+    my $path = shift;
+    return (-l $path && ! -e $path ? "dangling symlink " : "") . "`$path'";
+}
+
 sub findFiles {
     my ($relName, $target, $baseName, $ignoreCollisions, $checkCollisionContents, $priority) = @_;
 
@@ -125,12 +138,21 @@ sub findFiles {
     # symlink to a file (not a directory) in a lower-priority package,
     # overwrite it.
     if (!defined $oldTarget || ($priority < $oldPriority && ($oldTarget ne "" && ! -d $oldTarget))) {
+        # If target is a dangling symlink, emit a warning.
+        if (-l $target && ! -e $target) {
+            my $link = readlink $target;
+            warn "creating dangling symlink `$out$extraPrefix/$relName' -> `$target' -> `$link'\n";
+        }
         $symlinks{$relName} = [$target, $priority];
         return;
     }
 
     # If target already exists and both targets resolves to the same path, skip
-    if (defined $oldTarget && $oldTarget ne "" && abs_path($target) eq abs_path($oldTarget)) {
+    if (
+        defined $oldTarget && $oldTarget ne "" &&
+        defined abs_path($target) && defined abs_path($oldTarget) &&
+        abs_path($target) eq abs_path($oldTarget)
+    ) {
         # Prefer the target that is not a symlink, if any
         if (-l $oldTarget && ! -l $target) {
             $symlinks{$relName} = [$target, $priority];
@@ -144,14 +166,25 @@ sub findFiles {
         return;
     }
 
+    # If target is supposed to be a directory but it isn't, die with an error message
+    # instead of attempting to recurse into it, only to fail then.
+    # This happens e.g. when pathsToLink contains a non-directory path.
+    if ($oldTarget eq "" && ! -d $target) {
+        die "not a directory: `$target'\n";
+    }
+
     unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) {
+        # Prepend "dangling symlink" to paths if applicable.
+        my $targetRef = prependDangling($target);
+        my $oldTargetRef = prependDangling($oldTarget);
+
         if ($ignoreCollisions) {
-            warn "collision between `$target' and `$oldTarget'\n" if $ignoreCollisions == 1;
+            warn "collision between $targetRef and $oldTargetRef\n" if $ignoreCollisions == 1;
             return;
         } elsif ($checkCollisionContents && checkCollision($oldTarget, $target)) {
             return;
         } else {
-            die "collision between `$target' and `$oldTarget'\n";
+            die "collision between $targetRef and $oldTargetRef\n";
         }
     }
 
@@ -224,7 +257,6 @@ while (scalar(keys %postponed) > 0) {
 
 
 # Create the symlinks.
-my $extraPrefix = $ENV{"extraPrefix"};
 my $nrLinks = 0;
 foreach my $relName (sort keys %symlinks) {
     my ($target, $priority) = @{$symlinks{$relName}};
diff --git a/pkgs/build-support/ocaml/default.nix b/pkgs/build-support/ocaml/default.nix
index 88ed3dfc2c2f3..cd17eb688c2e4 100644
--- a/pkgs/build-support/ocaml/default.nix
+++ b/pkgs/build-support/ocaml/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, writeText, ocaml, findlib, ocamlbuild, camlp4 }:
 
-{ name, version, buildInputs ? [],
+{ name, version, nativeBuildInputs ? [],
   createFindlibDestdir ?  true,
   dontStrip ? true,
   minimumSupportedOcamlVersion ? null,
@@ -19,7 +19,7 @@ in
 stdenv.mkDerivation (args // {
   name = "ocaml-${name}-${version}";
 
-  buildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ buildInputs;
+  nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ nativeBuildInputs;
 
   setupHook = if setupHook == null && hasSharedObjects
   then writeText "setupHook.sh" ''
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index c049878d01311..6bdec501630e9 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, ocaml, findlib, dune_1, dune_2 }:
 
-{ pname, version, buildInputs ? [], enableParallelBuilding ? true, ... }@args:
+{ pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args:
 
 let Dune = if args.useDune2 or false then dune_2 else dune_1; in
 
@@ -12,6 +12,8 @@ else
 stdenv.mkDerivation ({
 
   inherit enableParallelBuilding;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   buildPhase = ''
     runHook preBuild
@@ -33,7 +35,7 @@ stdenv.mkDerivation ({
 
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
-  buildInputs = [ ocaml Dune findlib ] ++ buildInputs;
+  nativeBuildInputs = [ ocaml Dune findlib ] ++ nativeBuildInputs;
 
   meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };
 
diff --git a/pkgs/build-support/setup-hooks/autoreconf.sh b/pkgs/build-support/setup-hooks/autoreconf.sh
index c08cab1586882..6ce879ac092de 100644
--- a/pkgs/build-support/setup-hooks/autoreconf.sh
+++ b/pkgs/build-support/setup-hooks/autoreconf.sh
@@ -1,4 +1,4 @@
-preConfigurePhases+=" autoreconfPhase"
+preConfigurePhases="${preConfigurePhases:-} autoreconfPhase"
 
 autoreconfPhase() {
     runHook preAutoreconf
diff --git a/pkgs/build-support/setup-hooks/reproducible-builds.sh b/pkgs/build-support/setup-hooks/reproducible-builds.sh
index 5b01c213fe4a7..7b52f84df67b4 100644
--- a/pkgs/build-support/setup-hooks/reproducible-builds.sh
+++ b/pkgs/build-support/setup-hooks/reproducible-builds.sh
@@ -2,8 +2,9 @@
 # This should ensure that it is deterministic across rebuilds of the same
 # derivation and not easily collide with other builds.
 # We also truncate the hash so that it cannot cause reference cycles.
-export NIX_CFLAGS_COMPILE+=" -frandom-seed=$(
+NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE:-} -frandom-seed=$(
     outbase="${out##*/}"
     randomseed="${outbase:0:10}"
     echo $randomseed
 )"
+export NIX_CFLAGS_COMPILE
diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh
index 19dbb10d18e72..2481d8f50470c 100644
--- a/pkgs/build-support/setup-hooks/separate-debug-info.sh
+++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh
@@ -14,7 +14,7 @@ _separateDebugInfo() {
     dst="$dst/lib/debug/.build-id"
 
     # Find executables and dynamic libraries.
-    local i magic
+    local i
     while IFS= read -r -d $'\0' i; do
         if ! isELF "$i"; then continue; fi
 
diff --git a/pkgs/data/fonts/openmoji/default.nix b/pkgs/data/fonts/openmoji/default.nix
new file mode 100644
index 0000000000000..d511a78f72503
--- /dev/null
+++ b/pkgs/data/fonts/openmoji/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, scfbuild
+, nodejs
+, nodePackages
+, python3Packages
+, variant ? "color" # "color" or "black"
+}:
+
+let
+  filename = builtins.replaceStrings
+    [ "color"              "black"              ]
+    [ "OpenMoji-Color.ttf" "OpenMoji-Black.ttf" ]
+    variant;
+
+in stdenv.mkDerivation rec {
+  pname = "openmoji";
+  version = "13.1.0";
+
+  src = fetchFromGitHub {
+    owner = "hfg-gmuend";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-7G6a+LFq79njyPhnDhhSJ98Smw5fWlfcsFj6nWBPsSk=";
+  };
+
+  nativeBuildInputs = [
+    scfbuild
+    nodejs
+    nodePackages.glob
+    nodePackages.lodash
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    node helpers/generate-font-glyphs.js
+
+    cd font
+    scfbuild -c scfbuild-${variant}.yml
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    install -Dm644 ${filename} $out/share/fonts/truetype/${filename}
+  '';
+
+  meta = with lib; {
+    license = licenses.cc-by-sa-40;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+    homepage = "https://openmoji.org/";
+    downloadPage = "https://github.com/hfg-gmuend/openmoji/releases";
+    description = "Open-source emojis for designers, developers and everyone else";
+  };
+}
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index b4a8ebc4ef279..bd67e2a58f12c 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -1,28 +1,17 @@
-{ lib, stdenv, fetchurl, nss, python3
-, blacklist ? []
-
-# Used for tests only
+{ lib
+, stdenv
+, fetchurl
+, nss
+, python3
+, blacklist ? [ ]
+
+  # Used for tests only
 , runCommand
 , cacert
 , openssl
 }:
 
-with lib;
-
 let
-  version = "3.66";
-
-  underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
-in
-
-stdenv.mkDerivation {
-  name = "nss-cacert-${version}";
-
-  src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/nss-${version}.tar.gz";
-    sha256 = "1jfdnh5l4k57r2vb07s06hqi7m2qzk0d9x25lsdsrw3cflx9x9w9";
-  };
-
   certdata2pem = fetchurl {
     name = "certdata2pem.py";
     urls = [
@@ -31,6 +20,16 @@ stdenv.mkDerivation {
     ];
     sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
   };
+in
+
+stdenv.mkDerivation rec {
+  pname = "nss-cacert";
+  version = "3.66";
+
+  src = fetchurl {
+    url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
+    sha256 = "1jfdnh5l4k57r2vb07s06hqi7m2qzk0d9x25lsdsrw3cflx9x9w9";
+  };
 
   outputs = [ "out" "unbundled" ];
 
@@ -40,11 +39,11 @@ stdenv.mkDerivation {
     ln -s nss/lib/ckfw/builtins/certdata.txt
 
     cat << EOF > blacklist.txt
-    ${concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)}
+    ${lib.concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)}
     EOF
 
     # copy from the store, otherwise python will scan it for imports
-    cat "$certdata2pem" > certdata2pem.py
+    cat "${certdata2pem}" > certdata2pem.py
   '';
 
   buildPhase = ''
@@ -63,61 +62,66 @@ stdenv.mkDerivation {
     # install individual certs in unbundled output
     mkdir -pv $unbundled/etc/ssl/certs
     cp -v *.crt $unbundled/etc/ssl/certs
-    rm -f $unbundled/etc/ssl/certs/ca-bundle.crt  # not wanted in unbundled
+    rm $unbundled/etc/ssl/certs/ca-bundle.crt  # not wanted in unbundled
   '';
 
   setupHook = ./setup-hook.sh;
 
-  passthru.updateScript = ./update.sh;
-  passthru.tests = {
-    # Test that building this derivation with a blacklist works, and that UTF-8 is supported.
-    blacklist-utf8 = let
-      blacklistCAToFingerprint = {
-        # "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint.
-        "CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD";
-        "NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98";
-      };
-      mapBlacklist = f: concatStringsSep "\n" (mapAttrsToList f blacklistCAToFingerprint);
-    in runCommand "verify-the-cacert-filter-output" {
-      cacert = cacert.unbundled;
-      cacertWithExcludes = (cacert.override {
-        blacklist = builtins.attrNames blacklistCAToFingerprint;
-      }).unbundled;
-
-      nativeBuildInputs = [ openssl ];
-    } ''
-      isPresent() {
-        # isPresent <unbundled-dir> <ca name> <ca sha256 fingerprint>
-        for f in $1/etc/ssl/certs/*.crt; do
-          fingerprint="$(openssl x509 -in "$f" -noout -fingerprint -sha256 | cut -f2 -d=)"
-          if [[ "x$fingerprint" == "x$3" ]]; then
-            return 0
-          fi
-        done
-        return 1
-      }
-
-      # Ensure that each certificate is in the main "cacert".
-      ${mapBlacklist (caName: caFingerprint: ''
-        isPresent "$cacert" "${caName}" "${caFingerprint}" || ({
-          echo "CA fingerprint ${caFingerprint} (${caName}) is missing from the CA bundle. Consider picking a different CA for the blacklist test." >&2
-          exit 1
-        })
-      '')}
-
-      # Ensure that each certificate is NOT in the "cacertWithExcludes".
-      ${mapBlacklist (caName: caFingerprint: ''
-        isPresent "$cacertWithExcludes" "${caName}" "${caFingerprint}" && ({
-          echo "CA fingerprint ${caFingerprint} (${caName}) is present in the cacertWithExcludes bundle." >&2
-          exit 1
-        })
-      '')}
-
-      touch $out
-    '';
+  passthru = {
+    updateScript = ./update.sh;
+    tests = {
+      # Test that building this derivation with a blacklist works, and that UTF-8 is supported.
+      blacklist-utf8 =
+        let
+          blacklistCAToFingerprint = {
+            # "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint.
+            "CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD";
+            "NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98";
+          };
+          mapBlacklist = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f blacklistCAToFingerprint);
+        in
+        runCommand "verify-the-cacert-filter-output"
+          {
+            cacert = cacert.unbundled;
+            cacertWithExcludes = (cacert.override {
+              blacklist = builtins.attrNames blacklistCAToFingerprint;
+            }).unbundled;
+
+            nativeBuildInputs = [ openssl ];
+          } ''
+          isPresent() {
+            # isPresent <unbundled-dir> <ca name> <ca sha256 fingerprint>
+            for f in $1/etc/ssl/certs/*.crt; do
+              fingerprint="$(openssl x509 -in "$f" -noout -fingerprint -sha256 | cut -f2 -d=)"
+              if [[ "x$fingerprint" == "x$3" ]]; then
+                return 0
+              fi
+            done
+            return 1
+          }
+
+          # Ensure that each certificate is in the main "cacert".
+          ${mapBlacklist (caName: caFingerprint: ''
+            isPresent "$cacert" "${caName}" "${caFingerprint}" || ({
+              echo "CA fingerprint ${caFingerprint} (${caName}) is missing from the CA bundle. Consider picking a different CA for the blacklist test." >&2
+              exit 1
+            })
+          '')}
+
+          # Ensure that each certificate is NOT in the "cacertWithExcludes".
+          ${mapBlacklist (caName: caFingerprint: ''
+            isPresent "$cacertWithExcludes" "${caName}" "${caFingerprint}" && ({
+              echo "CA fingerprint ${caFingerprint} (${caName}) is present in the cacertWithExcludes bundle." >&2
+              exit 1
+            })
+          '')}
+
+          touch $out
+        '';
+    };
   };
 
-  meta = {
+  meta = with lib; {
     homepage = "https://curl.haxx.se/docs/caextract.html";
     description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
     platforms = platforms.all;
diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
index 49755dbd8ad6f..51598a53d50a2 100644
--- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix
+++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mobile-broadband-provider-info";
-  version = "20201225";
+  version = "20210805";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1g9x2i4xjm2sagaha07n9psacbylrwfrmfqkp17gjwhpyi6w0zqd";
+    sha256 = "sha256-a/ihVY6lVBr7xve0QV50zJ9aqYKbE07Ks+8ch0ElaLw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/yelp-xsl/default.nix b/pkgs/desktops/gnome/core/yelp-xsl/default.nix
index 7c9b4eb839c03..32f3fbd615383 100644
--- a/pkgs/desktops/gnome/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "40.0";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Nh7NTTP8zbO7CKaH9g5cPpCdLp47Ai2ETgSYINDPYrA=";
+    sha256 = "sha256-kZxVL4RqrsdB/lHVr0FrRpvNslx37/w7WhWktLf/gU4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
index 2720026357d24..68898fa42b0ea 100644
--- a/pkgs/desktops/gnome/extensions/arcmenu/default.nix
+++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-arcmenu";
-  version = "12";
+  version = "14";
 
   src = fetchFromGitLab {
     owner = "arcmenu";
     repo = "ArcMenu";
     rev = "v${version}";
-    sha256 = "sha256-R1OUDf/YMyMlxwXM9rNsrasPumHEoYhJK0evnYGeIkA=";
+    sha256 = "sha256-Iobu5eNWSvAiTRe6wyx/0PgUtB9QIC9KdH0M1xhsM1I=";
   };
 
   patches = [
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index c0f791389c83b..5a59f55cf74bf 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -129,7 +129,8 @@ let
   # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
   # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
   # see #84670 and #49071 for more background.
-  useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl && !targetPlatform.isWindows);
+  useLdGold = targetPlatform.linker == "gold" ||
+    (targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
 
   runtimeDeps = [
     targetPackages.stdenv.cc.bintools
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index 1f207059756b6..e2a65a19791b9 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -137,7 +137,8 @@ let
   # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
   # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
   # see #84670 and #49071 for more background.
-  useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl && !targetPlatform.isWindows);
+  useLdGold = targetPlatform.linker == "gold" ||
+    (targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
 
   runtimeDeps = [
     targetPackages.stdenv.cc.bintools
diff --git a/pkgs/development/compilers/ghc/9.0.1.nix b/pkgs/development/compilers/ghc/9.0.1.nix
index d1b64e2ae5f5f..af740c01f5bf4 100644
--- a/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/pkgs/development/compilers/ghc/9.0.1.nix
@@ -123,7 +123,8 @@ let
   # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
   # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
   # see #84670 and #49071 for more background.
-  useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
+  useLdGold = targetPlatform.linker == "gold" ||
+    (targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
 
   runtimeDeps = [
     targetPackages.stdenv.cc.bintools
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index a7f7c9db48143..f2c965ebe47a4 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -133,7 +133,8 @@ let
   # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
   # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
   # see #84670 and #49071 for more background.
-  useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
+  useLdGold = targetPlatform.linker == "gold" ||
+    (targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
 
   runtimeDeps = [
     targetPackages.stdenv.cc.bintools
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch
deleted file mode 100644
index 425dc2af01e7c..0000000000000
--- a/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
---- a/lib/sanitizer_common/sanitizer_mac.cpp
-+++ b/lib/sanitizer_common/sanitizer_mac.cpp
-@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
- // Offset example:
- // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
- constexpr u16 GetOSMajorKernelOffset() {
--  if (TARGET_OS_OSX) return 4;
--  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
--  if (TARGET_OS_WATCH) return 13;
-+#if TARGET_OS_OSX
-+  return 4;
-+#endif
-+#if TARGET_OS_IOS || TARGET_OS_TV
-+  return 6;
-+#endif
-+#if TARGET_OS_WATCH
-+  return 13;
-+#endif
- }
- 
- using VersStr = char[64];
-@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
-   u16 os_major = kernel_major - offset;
- 
-   const char *format = "%d.0";
--  if (TARGET_OS_OSX) {
--    if (os_major >= 16) {  // macOS 11+
--      os_major -= 5;
--    } else {  // macOS 10.15 and below
--      format = "10.%d";
--    }
-+#if TARGET_OS_OSX
-+  if (os_major >= 16) {  // macOS 11+
-+    os_major -= 5;
-+  } else {  // macOS 10.15 and below
-+    format = "10.%d";
-   }
-+#endif
-   return internal_snprintf(vers, sizeof(VersStr), format, os_major);
- }
- 
-@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
- // Aligned versions example:
- // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
- static void MapToMacos(u16 *major, u16 *minor) {
--  if (TARGET_OS_OSX)
--    return;
--
--  if (TARGET_OS_IOS || TARGET_OS_TV)
-+#if !TARGET_OS_OSX
-+#if TARGET_OS_IOS || TARGET_OS_TV
-     *major += 2;
--  else if (TARGET_OS_WATCH)
-+#elif TARGET_OS_WATCH
-     *major += 9;
--  else
-+#else
-     UNREACHABLE("unsupported platform");
-+#endif
- 
-   if (*major >= 16) {  // macOS 11+
-     *major -= 5;
-@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
-     *minor = *major;
-     *major = 10;
-   }
-+#endif
- }
- 
- static MacosVersion GetMacosAlignedVersionInternal() {
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index 16f58616aab79..5f2cf9fd3fbd5 100644
--- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -59,8 +59,6 @@ stdenv.mkDerivation {
     # extra `/`.
     ./normalize-var.patch
   ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
-    # Prevent a compilation error on darwin
-    ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 2dd959600eacf..e4cec4cf52ed0 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -3,7 +3,7 @@
 let
   versionNoPatch = "${toString major_version}.${toString minor_version}";
   version = "${versionNoPatch}.${toString patch_version}";
-  safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
+  safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips || stdenv.hostPlatform.isStatic);
 in
 
 { lib, stdenv, fetchurl, ncurses, buildEnv, libunwind
@@ -13,7 +13,7 @@ in
 , spaceTimeSupport ? false
 }:
 
-assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
+assert useX11 -> safeX11 stdenv;
 assert aflSupport -> lib.versionAtLeast version "4.05";
 assert flambdaSupport -> lib.versionAtLeast version "4.03";
 assert spaceTimeSupport -> lib.versionAtLeast version "4.04";
@@ -44,6 +44,8 @@ stdenv.mkDerivation (args // {
 
   inherit src;
 
+  strictDeps = true;
+
   prefixKey = "-prefix ";
   configureFlags =
     let flags = new: old:
@@ -56,7 +58,15 @@ stdenv.mkDerivation (args // {
   ++ optional aflSupport (flags "--with-afl" "-afl-instrument")
   ++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
   ++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
-  ;
+  ++ optional (stdenv.hostPlatform.isStatic && (lib.versionOlder version "4.08")) "-no-shared-libs"
+  ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && lib.versionOlder version "4.08") [
+    "-host ${stdenv.hostPlatform.config}"
+    "-target ${stdenv.targetPlatform.config}"
+  ];
+  dontAddStaticConfigureFlags = lib.versionOlder version "4.08";
+  configurePlatforms = lib.optionals (lib.versionAtLeast version "4.08") [ "host" "target" ];
+  # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together
+  hardeningDisable = lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie";
 
   buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
   buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
@@ -70,6 +80,8 @@ stdenv.mkDerivation (args // {
     # Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176
     # This is required for aarch64-darwin, everything else works as is.
     AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c"
+  '' + optionalString (lib.versionOlder version "4.08" && stdenv.hostPlatform.isStatic) ''
+    configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
   '';
   postBuild = ''
     mkdir -p $out/include
diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix
index 1d741fd8be2dd..223a1921ef9d8 100644
--- a/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -24,6 +24,11 @@ let
 
     dontUseCmakeConfigure = true;
 
+    postPatch = ''
+      substituteInPlace buildSrc/linux.gradle \
+        --replace ', "-Werror=implicit-function-declaration"' ""
+    '';
+
     config = writeText "gradle.properties" (''
       CONF = Release
       JDK_HOME = ${openjdk11-bootstrap.home}
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 40c89d0cc59b7..2d56d461627a7 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -12,6 +12,11 @@ in stdenv.mkDerivation rec {
     sha256 = "1w0qmyj3v9sb2g7ff39pp38b9850y9hyy0bag26ifrby5f7ksvm6";
   };
 
+  postPatch = lib.optionalString stdenv.isAarch32 ''
+    # https://gitlab.freedesktop.org/gstreamer/orc/-/issues/20
+    sed -i '/exec_opcodes_sys/d' testsuite/meson.build
+  '';
+
   outputs = [ "out" "dev" ]
      ++ optional buildDevDoc "devdoc"
   ;
diff --git a/pkgs/development/compilers/rust/1_53.nix b/pkgs/development/compilers/rust/1_54.nix
index dda6d39319038..b31dbc8bb9a9c 100644
--- a/pkgs/development/compilers/rust/1_53.nix
+++ b/pkgs/development/compilers/rust/1_54.nix
@@ -20,8 +20,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.53.0";
-  rustcSha256 = "1f95p259dfp5ca118bg107rj3rqwlswy65dxn3hg8sqgl4wwmxsw";
+  rustcVersion = "1.54.0";
+  rustcSha256 = "0xk9dhfff16caambmwij67zgshd8v9djw6ha0fnnanlv7rii31dc";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
@@ -34,24 +34,24 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.52.1";
+  bootstrapVersion = "1.53.0";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "c91f0431c8137a4e98e097ab47b49846820531aafb6e9c249b71b770771832e9";
-    x86_64-unknown-linux-gnu = "617ae06e212cb65bc4abbf52b158b0328b9f1a6c2f822c27c95b274d6fbc0627";
-    x86_64-unknown-linux-musl = "c3eae6e78ee29e03416897f89b54448b2a03d063f07a78cde41757ad2e02c2f0";
-    arm-unknown-linux-gnueabihf = "ef412d923a0c5a9fa54422f40cde62f2e85a62339057cb8b986a545b108d3347";
-    armv7-unknown-linux-gnueabihf = "ec47b3f5c801f8a4df7180e088dcc1817ee160df34ef64ddac4fa50f714f119f";
-    aarch64-unknown-linux-gnu = "17d9aa7bb73b819ef70d81013498727b7218533ee6cf3bd802c4eac29137fbcb";
-    aarch64-unknown-linux-musl = "f2bae2b32f05a90eec041352d9329deb3e907f5560b9fda525788df3b8008b6b";
-    x86_64-apple-darwin = "cfa73228ea54e2c94f75d1b142ea41444c463f4ee8562a3eca1b11b2fe8af95a";
-    aarch64-apple-darwin = "217e9723f828c5359467d69b363a342d702bdcbbcc4107be907e6bc4531f4912";
-    powerpc64le-unknown-linux-gnu = "f258c5d7d6d9022108672b7383412d930a5f59d7644d148e413c3ab0ae45604f";
-    riscv64gc-unknown-linux-gnu = "c1c98ccc8bb4147a819411a10162c8f8ce1aaa5c65cf2c74802dce4dacd6e64b";
+    i686-unknown-linux-gnu = "4ebeeba05448b9484bb2845dba2ff4c0e2b7208fa8b08bef2b2ca3b171d0db99";
+    x86_64-unknown-linux-gnu = "5e9e556d2ccce27aa8f01a528f1348bf8cdd34496c35ec2abf131660b9792fed";
+    x86_64-unknown-linux-musl = "908b6163b62660f289bcd1eda1a0eb6d849b4b29da12546d24a033e5718e93ff";
+    arm-unknown-linux-gnueabihf = "6ae3108f4a0b0478c76f5dbaf1827c9e4a983fa78a9f973b24d501e693cfdcab";
+    armv7-unknown-linux-gnueabihf = "886e78f7c5bd92e16322ca3af70d1899c064837343cdfeb9a216b76edfd18157";
+    aarch64-unknown-linux-gnu = "cba81d5c3d16deee04098ea18af8636bc7415315a44c9e44734fd669aa778040";
+    aarch64-unknown-linux-musl = "a0065a6313bf370f2844af6f3b47fe292360e9cca3da31b5f6cb32db311ba686";
+    x86_64-apple-darwin = "940a4488f907b871f9fb1be309086509e4a48efb19303f8b5fe115c6f12abf43";
+    aarch64-apple-darwin = "c519da905514c05240a8fe39e459de2c4ef5943535e3655502e8fb756070aee1";
+    powerpc64le-unknown-linux-gnu = "9f6c17427d1023b10694e4ba60d6d9deec0aeb07d051f99763789ed18e07e2e6";
+    riscv64gc-unknown-linux-gnu = "6ae23ac00269df72b0790f10f2d9a98d03acf542c6090f4d30a87365fafd14ed";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_53;
+  selectRustPackage = pkgs: pkgs.rust_1_54;
 
   rustcPatches = [
   ];
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index 48c251d828a2e..b770f3b7dfdbd 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "yasm-1.3.0";
+  pname = "yasm";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "https://www.tortall.net/projects/yasm/releases/${name}.tar.gz";
+    url = "https://www.tortall.net/projects/yasm/releases/yasm-${version}.tar.gz";
     sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
   };
 
diff --git a/pkgs/development/embedded/platformio/chrootenv.nix b/pkgs/development/embedded/platformio/chrootenv.nix
index 72384c0994a25..138e7186624a1 100644
--- a/pkgs/development/embedded/platformio/chrootenv.nix
+++ b/pkgs/development/embedded/platformio/chrootenv.nix
@@ -23,7 +23,8 @@ in buildFHSUserEnv {
   name = "platformio";
 
   targetPkgs = pio-pkgs;
-  multiPkgs = pio-pkgs;
+  # disabled temporarily because fastdiff no longer support 32bit
+  # multiPkgs = pio-pkgs;
 
   meta = with lib; {
     description = "An open source ecosystem for IoT development";
diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix
index a3dcbdd35fdf8..169ff4cd5a861 100644
--- a/pkgs/development/embedded/platformio/core.nix
+++ b/pkgs/development/embedded/platformio/core.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, python3
 , fetchFromGitHub
+, fetchPypi
 , git
 , spdx-license-list-data
 , version, src
@@ -20,6 +21,15 @@ let
         doCheck = false;
       });
 
+      ajsonrpc = super.ajsonrpc.overridePythonAttrs (oldAttrs: rec {
+        pname = "ajsonrpc";
+        version = "1.1.0";
+        src = fetchPypi {
+          inherit pname version;
+          sha256 = "sha256-CgHCtW0gxZho7ZavvEaODNc+KbFW4sAsHtM2Xk5Cuaw=";
+        };
+      });
+
       click = super.click.overridePythonAttrs (oldAttrs: rec {
         version = "7.1.2";
         src = oldAttrs.src.override {
@@ -28,6 +38,18 @@ let
         };
       });
 
+      starlette = super.starlette.overridePythonAttrs (oldAttrs: rec {
+        pname = "starlette";
+        version = "0.14.2";
+        src = fetchFromGitHub {
+          owner = "encode";
+          repo = pname;
+          rev = version;
+          sha256 = "sha256-Ki5jTEr5w6CrGK6F60E9uvdUlGx8pxdHMpxHvj9D4js=";
+        };
+        doCheck = false;
+      });
+
       uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
         version = "0.13.2";
         src = fetchFromGitHub {
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 54b7e9afefd4b..98de7c71abca8 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -86,6 +86,8 @@ let
 
     configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
 
+    dontAddStaticConfigureFlags = true;
+
     dontAddPrefix = !crossCompiling;
 
     enableParallelBuilding = !crossCompiling;
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 5ee88ebb8810d..fd7e684113e71 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -26,10 +26,10 @@
 , sourceVersion
 , sha256
 , passthruFun
-, static ? false
+, static ? stdenv.hostPlatform.isStatic
 , stripBytecode ? reproducibleBuild
 , rebuildBytecode ? true
-, reproducibleBuild ? true
+, reproducibleBuild ? false
 , enableOptimizations ? false
 , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
 }:
@@ -48,6 +48,8 @@ assert lib.assertMsg (reproducibleBuild -> stripBytecode)
 assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
   "Deterministic builds are not achieved when optimizations are enabled.";
 
+assert lib.assertMsg (reproducibleBuild -> (!rebuildBytecode))
+  "Deterministic builds are not achieved when (default unoptimized) bytecode is created.";
 
 with lib;
 
@@ -185,8 +187,9 @@ let
 
   configureFlags = optionals enableOptimizations [
     "--enable-optimizations"
-  ] ++ [
+  ] ++ optionals (!static) [
     "--enable-shared"
+  ] ++ [
     "--with-threads"
     "--enable-unicode=ucs${toString ucsEncoding}"
   ] ++ optionals (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) [
@@ -224,6 +227,7 @@ let
   ++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no"
   ++ optional static "LDFLAGS=-static";
 
+  strictDeps = true;
   buildInputs =
     optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
     [ bzip2 openssl zlib ]
@@ -296,8 +300,10 @@ in with passthru; stdenv.mkDerivation ({
         # First we delete all old bytecode.
         find $out -name "*.pyc" -delete
         '' + optionalString rebuildBytecode ''
-        # Then, we build for the two optimization levels.
-        # We do not build unoptimized bytecode, because its not entirely deterministic yet.
+        # We build 3 levels of optimized bytecode. Note the default level, without optimizations,
+        # is not reproducible yet. https://bugs.python.org/issue29708
+        # Not creating bytecode will result in a large performance loss however, so we do build it.
+        find $out -name "*.py" | ${pythonForBuildInterpreter} -m compileall -q -f -x "lib2to3" -i -
         find $out -name "*.py" | ${pythonForBuildInterpreter} -O  -m compileall -q -f -x "lib2to3" -i -
         find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
       '' + optionalString stdenv.hostPlatform.isCygwin ''
diff --git a/pkgs/development/interpreters/python/cpython/3.9/darwin-tcl-tk.patch b/pkgs/development/interpreters/python/cpython/3.9/darwin-tcl-tk.patch
new file mode 100644
index 0000000000000..a9b0c0677c5ec
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.9/darwin-tcl-tk.patch
@@ -0,0 +1,15 @@
+diff --git a/setup.py b/setup.py
+index 04eb6b2..2e1160d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1981,8 +1981,8 @@ class PyBuildExt(build_ext):
+         # Rather than complicate the code below, detecting and building
+         # AquaTk is a separate method. Only one Tkinter will be built on
+         # Darwin - either AquaTk, if it is found, or X11 based Tk.
+-        if (MACOS and self.detect_tkinter_darwin()):
+-            return True
++        # if (MACOS and self.detect_tkinter_darwin()):
++        #     return True
+ 
+         # Assume we haven't found any of the libraries or include files
+         # The versions with dots are used on Unix, and the versions without
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 5b5060b588424..abfff8009afe0 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -35,7 +35,7 @@
 , stripTests ? false
 , stripTkinter ? false
 , rebuildBytecode ? true
-, stripBytecode ? reproducibleBuild
+, stripBytecode ? true
 , includeSiteCustomize ? true
 , static ? stdenv.hostPlatform.isStatic
 , enableOptimizations ? false
@@ -48,7 +48,7 @@
 # enabling LTO with musl and dynamic linking fails with a linker error although it should
 # be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
 , enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
-, reproducibleBuild ? true
+, reproducibleBuild ? false
 , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
 }:
 
@@ -75,6 +75,9 @@ assert lib.assertMsg (reproducibleBuild -> stripBytecode)
 assert lib.assertMsg (reproducibleBuild -> (!enableOptimizations))
   "Deterministic builds are not achieved when optimizations are enabled.";
 
+assert lib.assertMsg (reproducibleBuild -> (!rebuildBytecode))
+  "Deterministic builds are not achieved when (default unoptimized) bytecode is created.";
+
 with lib;
 
 let
@@ -100,6 +103,8 @@ let
 
   version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
 
+  strictDeps = true;
+
   nativeBuildInputs = optionals (!stdenv.isDarwin) [
     autoreconfHook
   ] ++ optionals (!stdenv.isDarwin && passthru.pythonAtLeast "3.10") [
@@ -234,6 +239,9 @@ in with passthru; stdenv.mkDerivation {
       else
         ./3.5/profile-task.patch
     )
+  ] ++ optionals (pythonAtLeast "3.9" && stdenv.isDarwin) [
+    # Stop checking for TCL/TK in global macOS locations
+    ./3.9/darwin-tcl-tk.patch
   ] ++ optionals (isPy3k && hasDistutilsCxxPatch) [
     # Fix for http://bugs.python.org/issue1222585
     # Upstream distutils is calling C compiler to compile C++ code, which
@@ -283,10 +291,11 @@ in with passthru; stdenv.mkDerivation {
   PYTHONHASHSEED=0;
 
   configureFlags = [
-    "--enable-shared"
     "--without-ensurepip"
     "--with-system-expat"
     "--with-system-ffi"
+  ] ++ optionals (!static) [
+    "--enable-shared"
   ] ++ optionals enableOptimizations [
     "--enable-optimizations"
   ] ++ optionals enableLTO [
@@ -334,6 +343,8 @@ in with passthru; stdenv.mkDerivation {
   '' + optionalString stdenv.isDarwin ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
     export MACOSX_DEPLOYMENT_TARGET=10.6
+    # Override the auto-detection in setup.py, which assumes a universal build
+    export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"}
   '' + optionalString (isPy3k && pythonOlder "3.7") ''
     # Determinism: The interpreter is patched to write null timestamps when compiling Python files
     #   so Python doesn't try to update the bytecode when seeing frozen timestamps in Nix's store.
@@ -424,11 +435,14 @@ in with passthru; stdenv.mkDerivation {
     # First we delete all old bytecode.
     find $out -type d -name __pycache__ -print0 | xargs -0 -I {} rm -rf "{}"
     '' + optionalString rebuildBytecode ''
-    # Then, we build for the two optimization levels.
-    # We do not build unoptimized bytecode, because its not entirely deterministic yet.
     # Python 3.7 implements PEP 552, introducing support for deterministic bytecode.
-    # compileall uses this checked-hash method by default when `SOURCE_DATE_EPOCH` is set.
+    # compileall uses the therein introduced checked-hash method by default when
+    # `SOURCE_DATE_EPOCH` is set.
     # We exclude lib2to3 because that's Python 2 code which fails
+    # We build 3 levels of optimized bytecode. Note the default level, without optimizations,
+    # is not reproducible yet. https://bugs.python.org/issue29708
+    # Not creating bytecode will result in a large performance loss however, so we do build it.
+    find $out -name "*.py" | ${pythonForBuildInterpreter} -m compileall -q -f -x "lib2to3" -i -
     find $out -name "*.py" | ${pythonForBuildInterpreter} -O  -m compileall -q -f -x "lib2to3" -i -
     find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
   '';
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index fa081ab3f24fe..69cb1cc22ae9f 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -64,10 +64,10 @@ stdenv.mkDerivation rec {
   # fix build with gcc9, can be removed after bumping to current version
   NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
-  preConfigure =
-    ''
-      rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
-    '';
+  # aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
+  # aws-cpp-sdk-core-tests/aws/client/AWSClientTest.cpp
+  # seem to have a datarace
+  enableParallelChecking = false;
 
   postFixupHooks = [
     # This bodge is necessary so that the file that the generated -config.cmake file
diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix
new file mode 100644
index 0000000000000..3b79378605f28
--- /dev/null
+++ b/pkgs/development/libraries/boost/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, callPackage
+, boost-build
+, fetchurl
+}:
+
+let
+  # for boost 1.55 we need to use 1.56's b2
+  # since 1.55's build system is not working
+  # with our derivation
+  useBoost156 = rec {
+    version = "1.56.0";
+    src = fetchurl {
+      url = "mirror://sourceforge/boost/boost_${lib.replaceStrings ["."] ["_"] version}.tar.bz2";
+      sha256 = "07gz62nj767qzwqm3xjh11znpyph8gcii0cqhnx7wvismyn34iqk";
+    };
+  };
+
+  makeBoost = file:
+    lib.fix (self:
+      callPackage file {
+        boost-build = boost-build.override {
+          # useBoost allows us passing in src and version from
+          # the derivation we are building to get a matching b2 version.
+          useBoost =
+            if lib.versionAtLeast self.version "1.56"
+            then self
+            else useBoost156; # see above
+        };
+      }
+    );
+in {
+  boost155 = makeBoost ./1.55.nix;
+  boost159 = makeBoost ./1.59.nix;
+  boost160 = makeBoost ./1.60.nix;
+  boost165 = makeBoost ./1.65.nix;
+  boost166 = makeBoost ./1.66.nix;
+  boost167 = makeBoost ./1.67.nix;
+  boost168 = makeBoost ./1.68.nix;
+  boost169 = makeBoost ./1.69.nix;
+  boost170 = makeBoost ./1.70.nix;
+  boost171 = makeBoost ./1.71.nix;
+  boost172 = makeBoost ./1.72.nix;
+  boost173 = makeBoost ./1.73.nix;
+  boost174 = makeBoost ./1.74.nix;
+  boost175 = makeBoost ./1.75.nix;
+}
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 1f9bbe5ffcad0..2d8d13482eac4 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, icu, expat, zlib, bzip2, python ? null, fixDarwinDylibNames, libiconv
+, boost-build
 , fetchpatch
 , which
-, buildPackages
 , toolset ? /**/ if stdenv.cc.isClang  then "clang"
+            else if stdenv.cc.isGNU    then "gcc"
             else null
 , enableRelease ? true
 , enableDebug ? false
@@ -67,6 +68,8 @@ let
     else
       "$NIX_BUILD_CORES";
 
+  needUserConfig = stdenv.hostPlatform != stdenv.buildPlatform || useMpi || stdenv.isDarwin;
+
   b2Args = concatStringsSep " " ([
     "--includedir=$dev/include"
     "--libdir=$out/lib"
@@ -95,7 +98,7 @@ let
     ++ optional (variant == "release") "debug-symbols=off"
     ++ optional (toolset != null) "toolset=${toolset}"
     ++ optional (!enablePython) "--without-python"
-    ++ optional (useMpi || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
+    ++ optional needUserConfig "--user-config=user-config.jam"
     ++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
     "threadapi=win32"
   ] ++ extraB2Args
@@ -137,22 +140,39 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ peti ];
   };
 
-  preConfigure = ''
-    if test -f tools/build/src/tools/clang-darwin.jam ; then
-        substituteInPlace tools/build/src/tools/clang-darwin.jam \
-          --replace '@rpath/$(<[1]:D=)' "$out/lib/\$(<[1]:D=)";
-    fi;
-  '' + optionalString useMpi ''
+  preConfigure = optionalString useMpi ''
     cat << EOF >> user-config.jam
     using mpi : ${mpi}/bin/mpiCC ;
     EOF
-  '' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  ''
+  # On darwin we need to add the `$out/lib` to the libraries' rpath explicitly,
+  # otherwise the dynamic linker is unable to resolve the reference to @rpath
+  # when the boost libraries want to load each other at runtime.
+  + optionalString (stdenv.isDarwin && enableShared) ''
+    cat << EOF >> user-config.jam
+    using clang-darwin : : ${stdenv.cc.targetPrefix}c++
+      : <linkflags>"-rpath $out/lib/"
+      ;
+    EOF
+  ''
+  # b2 has trouble finding the correct compiler and tools for cross compilation
+  # since it apparently ignores $CC, $AR etc. Thus we need to set everything
+  # in user-config.jam. To keep things simple we just set everything in an
+  # uniform way for clang and gcc (which works thanks to our cc-wrapper).
+  # We pass toolset later which will make b2 invoke everything in the right
+  # way -- the other toolset in user-config.jam will be ignored.
+  + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     cat << EOF >> user-config.jam
-    using gcc : cross : ${stdenv.cc.targetPrefix}c++ ;
+    using gcc : cross : ${stdenv.cc.targetPrefix}c++
+      : <archiver>$AR
+        <ranlib>$RANLIB
+      ;
+
+    using clang : cross : ${stdenv.cc.targetPrefix}c++
+      : <archiver>$AR
+        <ranlib>$RANLIB
+      ;
     EOF
-    # Build b2 with buildPlatform CC/CXX.
-    sed '2i export CC=$CC_FOR_BUILD; export CXX=$CXX_FOR_BUILD' \
-      -i ./tools/build/src/engine/build.sh
   '';
 
   NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin
@@ -160,9 +180,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ which ]
+  nativeBuildInputs = [ which boost-build ]
     ++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ expat zlib bzip2 libiconv ]
     ++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
     ++ optional enablePython python
@@ -170,16 +189,19 @@ stdenv.mkDerivation {
 
   configureScript = "./bootstrap.sh";
   configurePlatforms = [];
+  dontDisableStatic = true;
+  dontAddStaticConfigureFlags = true;
   configureFlags = [
     "--includedir=$(dev)/include"
     "--libdir=$(out)/lib"
+    "--with-bjam=b2" # prevent bootstrapping b2 in configurePhase
   ] ++ optional enablePython "--with-python=${python.interpreter}"
-    ++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ]
-    ++ optional (toolset != null) "--with-toolset=${toolset}";
+    ++ optional (toolset != null) "--with-toolset=${toolset}"
+    ++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ];
 
   buildPhase = ''
     runHook preBuild
-    ./b2 ${b2Args}
+    b2 ${b2Args}
     runHook postBuild
   '';
 
@@ -191,7 +213,7 @@ stdenv.mkDerivation {
     cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/
 
     # Let boost install everything else
-    ./b2 ${b2Args} install
+    b2 ${b2Args} install
 
     runHook postInstall
   '';
diff --git a/pkgs/development/libraries/boxfort/default.nix b/pkgs/development/libraries/boxfort/default.nix
index 740e43216984a..93176fb230f19 100644
--- a/pkgs/development/libraries/boxfort/default.nix
+++ b/pkgs/development/libraries/boxfort/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, python37Packages }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, python3Packages }:
 
 stdenv.mkDerivation rec {
   version = "unstable-2019-10-09";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     patchShebangs ci/isdir.py
   '';
 
-  checkInputs = with python37Packages; [ cram ];
+  checkInputs = with python3Packages; [ cram ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 20bcf80d9e592..4f571b7f1dd9c 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -8,13 +8,15 @@
 let self =
 stdenv.mkDerivation rec {
   pname = "c-ares";
-  version = "1.17.1";
+  version = "1.17.2";
 
   src = fetchurl {
     url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
-    sha256 = "0h7wjfnk2092glqcp9mqaax7xx0s13m501z1gi0gsjl2vvvd0gfp";
+    sha256 = "sha256-SAPIRM4gzlEO8OuD+OpB+iTsqunSgMRoxYLSuyWzkT0=";
   };
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "A C library for asynchronous DNS requests";
     homepage = "https://c-ares.haxx.se";
diff --git a/pkgs/development/libraries/criterion/default.nix b/pkgs/development/libraries/criterion/default.nix
index ba436fec0a264..a1e7137d92ab6 100644
--- a/pkgs/development/libraries/criterion/default.nix
+++ b/pkgs/development/libraries/criterion/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
-, dyncall , nanomsg, python37Packages }:
+, dyncall , nanomsg, python3Packages }:
 
 stdenv.mkDerivation rec {
   version = "2.3.3";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     nanomsg
   ];
 
-  checkInputs = with python37Packages; [ cram ];
+  checkInputs = with python3Packages; [ cram ];
 
   cmakeFlags = [ "-DCTESTS=ON" ];
   doCheck = true;
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index fe6926fe809a9..c85e14257885a 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -10,14 +10,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "0ki3wlyaqr80gl1srbbd18dd5bs1sl9icxym8ar62abpvgzxl5yk";
+    sha256 = "15ngaqyjbwkj0rd9mvxaqf3i9vzsnlrqgr50cnxxjqnpf7xdmslj";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkg-config ];
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index 237ecf148cb82..0d1374018b6cd 100644
--- a/pkgs/development/libraries/enchant/2.x.nix
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.3.0";
+  version = "2.3.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-32gGO2wTskX6ckaw4JigPnT3qRxtiUe8XE9CzlXi5B0=";
+    sha256 = "sha256-e0sa/PLNi/ppHe6mGIQE0zfyMXS7w5ucKt0r80Bzbpw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 3dca11008f721..77bd473485b06 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -244,7 +244,7 @@ assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   pname = "ffmpeg-full";
-  inherit (ffmpeg) src version;
+  inherit (ffmpeg) src version patches;
 
   prePatch = ''
     patchShebangs .
@@ -447,6 +447,14 @@ stdenv.mkDerivation rec {
   buildFlags = [ "all" ]
     ++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
 
+  doCheck = true;
+  checkPhase = let
+    ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+  in ''
+    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
+      make check -j$NIX_BUILD_CORES
+  '';
+
   # Hacky framework patching technique borrowed from the phantomjs2 package
   postInstall = optionalString qtFaststartProgram ''
     cp -a tools/qt-faststart $out/bin/
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index 6d94c2e9974b3..0df810ff10b08 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -7,4 +7,5 @@ callPackage ./generic.nix (rec {
   knownVulnerabilities = [
     "CVE-2021-30123"
   ];
+  doCheck = false;
 } // args)
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index d557c87ebdf6d..f3758ca539244 100644
--- a/pkgs/development/libraries/ffmpeg/4.nix
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -13,6 +13,16 @@ callPackage ./generic.nix (rec {
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
 
   patches = [
+    (fetchpatch {
+      name = "CVE-2021-33815.patch";
+      url = "https://github.com/FFmpeg/FFmpeg/commit/26d3c81bc5ef2f8c3f09d45eaeacfb4b1139a777.patch";
+      sha256 = "0l8dqga5845f7d3wdbvd05i23saldq4pm2cyfdgszbr0c18sxagf";
+    })
+    (fetchpatch {
+      name = "CVE-2021-38114.patch";
+      url = "https://github.com/FFmpeg/FFmpeg/commit/7150f9575671f898382c370acae35f9087a30ba1.patch";
+      sha256 = "0gwkc7v1wsh4j0am2nnskhsca1b5aqzhcfd41sd9mh2swsdyf27i";
+    })
     # Fix incorrect segment length in HLS child playlist with fmp4 segment format
     # FIXME remove in version 4.5
     # https://trac.ffmpeg.org/ticket/9193
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index d52abd4ab09fe..876910da6d259 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -2,6 +2,7 @@
 , alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
 , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
+, srt ? null
 , openglSupport ? false, libGLU ? null, libGL ? null
 , libmfxSupport ? false, intel-media-sdk ? null
 , libaomSupport ? false, libaom ? null
@@ -17,7 +18,8 @@
 # Darwin frameworks
 , Cocoa, darwinFrameworks ? [ Cocoa ]
 # Inherit generics
-, branch, sha256, version, patches ? [], knownVulnerabilities ? [], ...
+, branch, sha256, version, patches ? [], knownVulnerabilities ? []
+, doCheck ? true, ...
 }:
 
 /* Maintainer notes:
@@ -94,6 +96,7 @@ stdenv.mkDerivation rec {
     # Build flags
       "--enable-shared"
       (ifMinVer "0.6" "--enable-pic")
+      (ifMinVer "4.0" (enableFeature (srt != null) "libsrt"))
       (enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
       "--enable-hardcoded-tables"
     ] ++
@@ -171,7 +174,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
-    libvorbis xz soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
+    libvorbis xz soxr x264 x265 xvidcore zlib libopus speex srt nv-codec-headers
   ] ++ optionals openglSupport [ libGL libGLU ]
     ++ optional libmfxSupport intel-media-sdk
     ++ optional libaomSupport libaom
@@ -187,7 +190,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = false; # fails
+  inherit doCheck;
+  checkPhase = let
+    ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+  in ''
+    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
+      make check -j$NIX_BUILD_CORES
+  '';
 
   # ffmpeg 3+ generates pkg-config (.pc) files that don't have the
   # form automatically handled by the multiple-outputs hooks.
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 53c9b5a30dc97..ae32bbe95223b 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -43,6 +43,9 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+    "AR=${stdenv.cc.targetPrefix}ar"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 690279fcf2138..6842470be4c0b 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.68.1";
+  version = "2.68.2";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c1vylxly8k7g454g02spi44ybjidlwg461vp713zxd94k8qnpfh";
+    sha256 = "U168BU72l9tWpP/+2RvA4RyO4cmstIqtKMjh1cPVmU8=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 59230761cd432..95edf3cfedd57 100644
--- a/pkgs/development/libraries/glibc/2.33-master.patch.gz
+++ b/pkgs/development/libraries/glibc/2.33-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index e651a8effac99..d2d7b6cc064c1 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -42,7 +42,7 @@
 
 let
   version = "2.33";
-  patchSuffix = "-47";
+  patchSuffix = "-49";
   sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
 in
 
@@ -61,7 +61,7 @@ stdenv.mkDerivation ({
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
           $ git fetch --all -p && git checkout origin/release/2.33/master && git describe
-          glibc-2.33-47-gb5711025bc
+          glibc-2.33-49-g22d37364ae
           $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
 
          To compare the archive contents zdiff can be used.
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 9cbf5c39a7e75..c1c9460fad691 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -21,22 +21,10 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    (fetchpatch { # probably included in > 1.16.0
-      name = "test_t-edit-sign.diff"; # we experienced segmentation fault in this test
-      urls = [
-        "https://files.gnupg.net/file/data/w43xz2zf73pnyqk5mm5l/PHID-FILE-hm2x5mjntsdyxrxve5tb/file"
-        "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969"
-      ];
-      sha256 = "1xxvv0kc9wdj5hzpddzs3cn8dhmm2cb29224a7h9vairraq5272h";
-    })
-    (fetchpatch { # gpg: Send --with-keygrip when listing keys
-      name = "c4cf527ea227edb468a84bf9b8ce996807bd6992.patch";
-      urls = [
-        "https://files.gnupg.net/file/data/2ufcg7ny5jdnv7hmewb4/PHID-FILE-7iwvryn2btti6txr3bsz/file"
-        "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"
-      ];
-      sha256 = "0y0b0lb2nq5p9kx13b59b2jaz157mvflliw1qdvg1v1hynvgb8m4";
-    })
+    # probably included in > 1.16.0
+    ./test_t-edit-sign.diff
+    # https://dev.gnupg.org/rMc4cf527ea227edb468a84bf9b8ce996807bd6992
+    ./fix_gpg_list_keys.diff
     # https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html
     (fetchpatch {
       name = "0001-Fix-python-tests-on-non-Linux.patch";
diff --git a/pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff b/pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff
new file mode 100644
index 0000000000000..bd8da4edd6e0c
--- /dev/null
+++ b/pkgs/development/libraries/gpgme/fix_gpg_list_keys.diff
@@ -0,0 +1,12 @@
+diff --git a/src/engine-gpg.c b/src/engine-gpg.c
+index b51ea173..4e74665e 100644
+--- a/src/engine-gpg.c
++++ b/src/engine-gpg.c
+@@ -3005,6 +3005,7 @@ gpg_keylist_build_options (engine_gpg_t gpg, int secret_only,
+   gpg_error_t err;
+ 
+   err = add_arg (gpg, "--with-colons");
++  err = add_arg (gpg, "--with-keygrip");
+ 
+   /* Since gpg 2.1.15 fingerprints are always printed, thus there is
+    * no more need to explicitly request them.  */
\ No newline at end of file
diff --git a/pkgs/development/libraries/gpgme/test_t-edit-sign.diff b/pkgs/development/libraries/gpgme/test_t-edit-sign.diff
new file mode 100644
index 0000000000000..55075b9eb1267
--- /dev/null
+++ b/pkgs/development/libraries/gpgme/test_t-edit-sign.diff
@@ -0,0 +1,125 @@
+From 81a33ea5e1b86d586b956e893a5b25c4cd41c969 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
+Date: Sat, 26 Jun 2021 18:02:47 +0200
+Subject: [PATCH] core: Fix use-after-free issue in test
+
+* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New.
+(main): Factored out signing and verifying the result.
+--
+
+Factoring the two steps of the test into different functions fixes the
+use-after-free issue that was caused by accidentaly using a variable
+of the first step in the second step.
+
+GnuPG-bug-id: 5509
+---
+ tests/gpg/t-edit-sign.c | 54 ++++++++++++++++++++++++++++-------------
+ 1 file changed, 37 insertions(+), 17 deletions(-)
+
+diff --git a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c
+index 2f983622..e0494c54 100644
+--- a/tests/gpg/t-edit-sign.c
++++ b/tests/gpg/t-edit-sign.c
+@@ -107,31 +107,19 @@ interact_fnc (void *opaque, const char *status, const char *args, int fd)
+ }
+ 
+ 
+-int
+-main (int argc, char **argv)
++void
++sign_key (const char *key_fpr, const char *signer_fpr)
+ {
+   gpgme_ctx_t ctx;
+   gpgme_error_t err;
+   gpgme_data_t out = NULL;
+-  const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
+   gpgme_key_t signing_key = NULL;
+-  const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
+   gpgme_key_t key = NULL;
+-  gpgme_key_t signed_key = NULL;
+-  gpgme_user_id_t signed_uid = NULL;
+-  gpgme_key_sig_t key_sig = NULL;
+   char *agent_info;
+-  int mode;
+-
+-  (void)argc;
+-  (void)argv;
+-
+-  init_gpgme (GPGME_PROTOCOL_OpenPGP);
+ 
+   err = gpgme_new (&ctx);
+   fail_if_err (err);
+ 
+-  /* Sign the key */
+   agent_info = getenv("GPG_AGENT_INFO");
+   if (!(agent_info && strchr (agent_info, ':')))
+     gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
+@@ -159,8 +147,23 @@ main (int argc, char **argv)
+   gpgme_data_release (out);
+   gpgme_key_unref (key);
+   gpgme_key_unref (signing_key);
++  gpgme_release (ctx);
++}
++
++
++void
++verify_key_signature (const char *key_fpr, const char *signer_keyid)
++{
++  gpgme_ctx_t ctx;
++  gpgme_error_t err;
++  gpgme_key_t signed_key = NULL;
++  gpgme_user_id_t signed_uid = NULL;
++  gpgme_key_sig_t key_sig = NULL;
++  int mode;
++
++  err = gpgme_new (&ctx);
++  fail_if_err (err);
+ 
+-  /* Verify the key signature */
+   mode  = gpgme_get_keylist_mode (ctx);
+   mode |= GPGME_KEYLIST_MODE_SIGS;
+   err = gpgme_set_keylist_mode (ctx, mode);
+@@ -168,7 +171,7 @@ main (int argc, char **argv)
+   err = gpgme_get_key (ctx, key_fpr, &signed_key, 0);
+   fail_if_err (err);
+ 
+-  signed_uid = key->uids;
++  signed_uid = signed_key->uids;
+   if (!signed_uid)
+     {
+       fprintf (stderr, "Signed key has no user IDs\n");
+@@ -180,7 +183,7 @@ main (int argc, char **argv)
+       exit (1);
+     }
+   key_sig = signed_uid->signatures->next;
+-  if (strcmp ("2D727CC768697734", key_sig->keyid))
++  if (strcmp (signer_keyid, key_sig->keyid))
+     {
+       fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n",
+                 key_sig->keyid);
+@@ -196,6 +199,23 @@ main (int argc, char **argv)
+ 
+   gpgme_key_unref (signed_key);
+   gpgme_release (ctx);
++}
++
++
++int
++main (int argc, char **argv)
++{
++  const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
++  const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16;
++  const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
++
++  (void)argc;
++  (void)argv;
++
++  init_gpgme (GPGME_PROTOCOL_OpenPGP);
++
++  sign_key (key_fpr, signer_fpr);
++  verify_key_signature (key_fpr, signer_keyid);
+ 
+   return 0;
+ }
+-- 
+2.32.0
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 3e00050ada2f2..1edadf0a51bcd 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -107,6 +107,7 @@ stdenv.mkDerivation rec {
     "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "-Dintrospection=disabled"
+    "-Dtests=disabled"
   ]
   ++ lib.optional (!enableX11) "-Dx11=disabled"
   # TODO How to disable Wayland?
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 01b98d06bf302..7999d62b91125 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -76,12 +76,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./patches/3.0-immodules.cache.patch
-
-    (fetchpatch {
-      name = "Xft-setting-fallback-compute-DPI-properly.patch";
-      url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
-      sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
-    })
+    ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
   ] ++ lib.optionals stdenv.isDarwin [
     # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
     # let’s drop that dependency in similar way to how other parts of the library do it
diff --git a/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch b/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
new file mode 100644
index 0000000000000..247dd3ea84568
--- /dev/null
+++ b/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
@@ -0,0 +1,34 @@
+From 269f2d80ea41cde17612600841fbdc32e99010f5 Mon Sep 17 00:00:00 2001
+From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+Date: Tue, 24 Jan 2017 12:30:08 +0100
+Subject: [PATCH] Xft setting fallback: compute DPI properly
+
+This is a partial revert of bdf0820c501437a2150d8ff0d5340246e713f73f. If
+the Xft DPI settings are not explicitly set, use the values provided by
+the X server rather than hard-coding the fallback value of 96.
+
+While an auto-configured Xorg already reports 96, this value can be
+overriden by the user, and we should respect the user choice in this
+case. There is no need to require them to set the same value in
+different places (the Xorg DPI settings and Xft.dpi).
+---
+ gdk/x11/gdkxftdefaults.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c
+index fa1cfde2ec..c462b78c4b 100644
+--- a/gdk/x11/gdkxftdefaults.c
++++ b/gdk/x11/gdkxftdefaults.c
+@@ -174,7 +174,8 @@ init_xft_settings (GdkScreen *screen)
+     x11_screen->xft_rgba = FC_RGBA_UNKNOWN;
+ 
+   if (!get_double_default (xdisplay, "dpi", &dpi_double))
+-    dpi_double = 96.0;
++    dpi_double = (DisplayHeight(xdisplay, x11_screen->screen_num)*25.4)/
++		    DisplayHeightMM(xdisplay, x11_screen->screen_num);
+ 
+   x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double);
+ }
+-- 
+2.11.0.616.gd72966cf44.dirty
+
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index 3ee5f37491654..9a8ac1be95fe7 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
     "-DCONFIG_RUNTIME_CPU_DETECT=0"
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "-DAS_EXECUTABLE=${stdenv.cc.targetPrefix}as"
   ] ++ lib.optionals stdenv.isAarch32 [
     # armv7l-hf-multiplatform does not support NEON
     # see lib/systems/platform.nix
diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix
index 499f04349b5de..1e2938d3a8e0e 100644
--- a/pkgs/development/libraries/libbfd/default.nix
+++ b/pkgs/development/libraries/libbfd/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
   # We update these ourselves
   dontUpdateAutotoolsGnuConfigScripts = true;
 
+  strictDeps = true;
   nativeBuildInputs = [ autoreconfHook bison ];
   buildInputs = [ libiberty zlib.dev ];
 
@@ -37,9 +38,8 @@ stdenv.mkDerivation {
   configureFlags = [
     "--enable-targets=all" "--enable-64-bit-bfd"
     "--enable-install-libbfd"
-    "--enable-shared"
     "--with-system-zlib"
-  ];
+  ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 8f1511de33049..375154ea46ad5 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,14 +1,10 @@
-{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja
+{ lib, stdenv, fetchurl, pkg-config, meson, ninja
 , libevdev, mtdev, udev, libwacom
-, documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation
-, eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
-, testsSupport ? false, check ? null, valgrind ? null, python3 ? null
+, documentationSupport ? false, doxygen, graphviz # Documentation
+, eventGUISupport ? false, cairo, glib, gtk3 # GUI event viewer support
+, testsSupport ? false, check, valgrind, python3
 }:
 
-assert documentationSupport -> doxygen != null && graphviz != null && python3 != null;
-assert eventGUISupport -> cairo != null && glib != null && gtk3 != null;
-assert testsSupport -> check != null && valgrind != null && python3 != null;
-
 let
   mkFlag = optSet: flag: "-D${flag}=${lib.boolToString optSet}";
 
@@ -24,17 +20,13 @@ let
   else null;
 in
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.16.4";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.freedesktop.org";
-    owner = pname;
-    repo = pname;
-    rev = version;
-    sha256 = "1c81429kh9av9fanxmnjw5rvsjbzcyi7d0dx0gkyq5yysmpmrppi";
+  version = "1.18.1";
+
+  src = fetchurl {
+    url = "https://www.freedesktop.org/software/libinput/libinput-${version}.tar.xz";
+    sha256 = "1jx7y48ym89grjz67jmn80h5j8c36qgwb0h5c703nln2zchl18cw";
   };
 
   outputs = [ "bin" "out" "dev" ];
@@ -48,7 +40,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkg-config meson ninja ]
-    ++ optionals documentationSupport [ doxygen graphviz sphinx-build ];
+    ++ lib.optionals documentationSupport [ doxygen graphviz sphinx-build ];
 
   buildInputs = [
     libevdev
@@ -60,8 +52,7 @@ stdenv.mkDerivation rec {
       pyyaml
       setuptools
     ]))
-  ]
-    ++ optionals eventGUISupport [ cairo glib gtk3 ];
+  ] ++ lib.optionals eventGUISupport [ cairo glib gtk3 ];
 
   checkInputs = [
     check
@@ -73,15 +64,19 @@ stdenv.mkDerivation rec {
   patches = [ ./udev-absolute-path.patch ];
 
   postPatch = ''
-    patchShebangs tools/helper-copy-and-exec-from-tmp.sh
-    patchShebangs test/symbols-leak-test
-    patchShebangs test/check-leftover-udev-rules.sh
-    patchShebangs test/helper-copy-and-exec-from-tmp.sh
+    patchShebangs \
+      tools/helper-copy-and-exec-from-tmp.sh \
+      test/symbols-leak-test \
+      test/check-leftover-udev-rules.sh \
+      test/helper-copy-and-exec-from-tmp.sh
+
+    # Don't create an empty /etc directory.
+    sed -i "/install_subdir('libinput', install_dir : dir_etc)/d" meson.build
   '';
 
   doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
 
-  meta = {
+  meta = with lib; {
     description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
     homepage    = "https://www.freedesktop.org/wiki/Software/libinput/";
     license     = licenses.mit;
diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix
index aa6cd0fd57d85..914cc0c2ab69d 100644
--- a/pkgs/development/libraries/liblqr-1/default.nix
+++ b/pkgs/development/libraries/liblqr-1/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, glib }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, glib, Carbon }:
 
 stdenv.mkDerivation rec {
   pname = "liblqr-1";
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Carbon ];
   propagatedBuildInputs = [ glib ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 43a88f9dd5fb4..83950e9825835 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,21 +1,21 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , pkg-config
 , glib
 , python3
 , systemd
-, libgudev
 , withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
 , gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.24.8";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "sha256-AlkHNhY//xDlcyGR/MwbmSCWlhbdxZYToAMFKhFqPCU=";
+    sha256 = "1kqkx139z62w391bz6lwmcjg7v12jxlcm7hj88222xrcn8k0j7qy";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    libgudev
     systemd
   ];
 
@@ -43,6 +42,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.freedesktop.org/wiki/Software/libmbim/";
     description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol";
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index 157445cfee820..196b9d3ad5212 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.28.6";
+  version = "1.28.8";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "1zg5k8f6l87iy9hmzwckdx532s845z9c5npblmpf1pp17n4r1f6b";
+    sha256 = "sha256-bju70gC8G2SyP2JU/vkhLyaZ7HfPsyB10rpQecc6n3g=";
   };
 
   nativeBuildInputs = [
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
       # Tools
       gpl2Plus
     ];
+    changelog = "https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/blob/${version}/NEWS";
   };
 }
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index 61e6d9cd7652c..dbe108f586f42 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsndfile";
-  version = "1.0.30";
+  version = "1.0.31";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1rh79y4s4m2wcm2kahmzs2kijpdpayif2gyca6m71f3k7jbhgcwa";
+    rev = version;
+    sha256 = "1alba3iv8i7i2jb5fd6q5s7j9bcj48sf28nfjd3qigz2n2is5jl2";
   };
 
   nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ];
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 5bb6445ac38fa..0d7caf8ba5c48 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.10";
+  version = "1.11";
 
   outputs = [ "out" "dev" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-Q7b54AMAxdIzN7TUuhIdlrXaVtj2szV4n3y9bAE0LsU=";
+    sha256 = "sha256-HDBWycdZf/pUL7ZzCuF55tfby3GW0WW6Vq3htPWT1v4=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja doxygen python3 ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 1b58b4539e465..c98a1cbce0e9f 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,7 +2,7 @@
 , zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
 , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
-, enableShared ? stdenv.hostPlatform.libc != "msvcrt"
+, enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic
 , enableStatic ? !enableShared
 }:
 
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
     ++ lib.optional pythonSupport "py"
     ++ lib.optional (enableStatic && enableShared) "static";
 
+  strictDeps = true;
+
   buildInputs = lib.optional pythonSupport python
     ++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext
     ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix
index f5b0111a1a780..480e2bb909cd3 100644
--- a/pkgs/development/libraries/lzo/default.nix
+++ b/pkgs/development/libraries/lzo/default.nix
@@ -9,12 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "0wm04519pd3g8hqpjqhfr72q8qmbiwqaxcs3cndny9h86aa95y60";
   };
 
-  configureFlags = [ "--enable-shared" ];
+  configureFlags = lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared" ;
 
   enableParallelBuilding = true;
 
   doCheck = true; # not cross;
 
+  strictDeps = true;
+
   meta = with lib; {
     description = "Real-time data (de)compression library";
     longDescription = ''
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 876a3c015a0d0..62e95dc8e9934 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -31,7 +31,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.1.7";
+  version = "21.2.1";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -45,11 +45,9 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "1fx7nfvh1drfa6vv34j7ma944qbs014b0jwlbgqlnbjgcl87rrp9";
+    sha256 = "11qpq16xbxymcgiy0wk787dk4yw2pv8fzgj8d92ng6s11dqycr9c";
   };
 
-  prePatch = "patchShebangs .";
-
   # TODO:
   #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
   #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
@@ -64,12 +62,6 @@ self = stdenv.mkDerivation {
       url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch";
       sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q";
     })
-    # For RISC-V support:
-    (fetchpatch {
-      name = "add-riscv-default-selections.patch";
-      url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/9908da1b7a5eaf0156d458e0e24b694c070ba345.patch";
-      sha256 = "036gv95m5gzzs6qpgkydf5fwgdlm7kpbdfalg8vmayghd260rw1w";
-    })
   ] ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # Fix aarch64-darwin build, remove when upstreaam supports it out of the box.
     # See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
@@ -77,6 +69,8 @@ self = stdenv.mkDerivation {
   ];
 
   postPatch = ''
+    patchShebangs .
+
     substituteInPlace meson.build --replace \
       "find_program('pkg-config')" \
       "find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')"
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index f8724703f0498..948de303cefad 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, cmake
 , SDL
 , ffmpeg
 , frei0r
@@ -26,13 +27,13 @@
 
 mkDerivation rec {
   pname = "mlt";
-  version = "6.24.0";
+  version = "7.0.1";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "1my43ica2qax2622307dv4gn3w8hkchy643i9pq8r9yh2hd4pvs9";
+    sha256 = "13c5miph9jjbz69dhy0zvbkk5zbb05dr3vraaci0d5fdbrlhyscf";
   };
 
   buildInputs = [
@@ -56,42 +57,15 @@ mkDerivation rec {
     ladspaPlugins
   ];
 
-  nativeBuildInputs = [ which ];
+  nativeBuildInputs = [ cmake which ];
 
   outputs = [ "out" "dev" ];
 
-  # Mostly taken from:
-  # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
-  configureFlags = [
-    "--avformat-swscale"
-    "--enable-gpl"
-    "--enable-gpl3"
-    "--enable-opengl"
-  ];
-
-  # mlt is unable to cope with our multi-prefix Qt build
-  # because it does not use CMake or qmake.
-  NIX_CFLAGS_COMPILE = "-I${lib.getDev qtsvg}/include/QtSvg";
-
-  CXXFLAGS = "-std=c++11";
-
   qtWrapperArgs = [
     "--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1"
     "--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"
   ];
 
-  postInstall = ''
-    # Remove an unnecessary reference to movit.dev.
-    s=${movit.dev}/include
-    t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
-    sed -i $out/lib/mlt/libmltopengl.so -e "s|$s|$t|g"
-
-    # Remove an unnecessary reference to movit.dev.
-    s=${qtbase.dev}/include
-    t=$(for ((i = 0; i < ''${#s}; i++)); do echo -n X; done)
-    sed -i $out/lib/mlt/libmltqt.so -e "s|$s|$t|g"
-  '';
-
   passthru = {
     inherit ffmpeg;
   };
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index dc6b604bd8e23..7b5316b144a2b 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -12,16 +12,21 @@ stdenv.mkDerivation rec {
     sha256 = "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i -e s,/usr/bin/install,install, -e s,-I/usr/include/slang,, Makefile.in po/Makefile
 
     substituteInPlace configure \
       --replace "/usr/include/python" "${pythonIncludePath}"
     substituteInPlace configure.ac \
       --replace "/usr/include/python" "${pythonIncludePath}"
+
+    substituteInPlace Makefile.in \
+      --replace "ar rv" "${stdenv.cc.targetPrefix}ar rv"
   '';
 
-  buildInputs = [ slang popt python ];
+  strictDeps = true;
+  nativeBuildInputs = [ python ];
+  buildInputs = [ slang popt ];
 
   NIX_LDFLAGS = "-lncurses";
 
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 2d469a406dec9..d28f7b25792e3 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -1,45 +1,39 @@
 { lib, stdenv, fetchFromGitHub, cmake
-, alsaSupport ? !stdenv.isDarwin, alsa-lib ? null
-, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null
+, alsaSupport ? !stdenv.isDarwin, alsa-lib
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio
 , CoreServices, AudioUnit, AudioToolbox
 }:
 
-with lib;
-
-assert alsaSupport -> alsa-lib != null;
-assert pulseSupport -> libpulseaudio != null;
-
 stdenv.mkDerivation rec {
-  version = "1.19.1";
   pname = "openal-soft";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "kcat";
     repo = "openal-soft";
-    rev = "${pname}-${version}";
-    sha256 = "0b0g0q1c36nfb289xcaaj3cmyfpiswvvgky3qyalsf9n4dj7vnzi";
+    rev = version;
+    sha256 = "sha256-rgc6kjXaZb6sCR+e9Gu7BEEHIiCHMygpLIeSqgWkuAg=";
   };
 
   # this will make it find its own data files (e.g. HRTF profiles)
   # without any other configuration
   patches = [ ./search-out.patch ];
   postPatch = ''
-    substituteInPlace Alc/helpers.c \
+    substituteInPlace alc/helpers.cpp \
       --replace "@OUT@" $out
   '';
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = []
-    ++ optional alsaSupport alsa-lib
-    ++ optional pulseSupport libpulseaudio
-    ++ optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
+  buildInputs = lib.optional alsaSupport alsa-lib
+    ++ lib.optional pulseSupport libpulseaudio
+    ++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
-  NIX_LDFLAGS = toString ([]
-    ++ optional alsaSupport "-lasound"
-    ++ optional pulseSupport "-lpulse");
+  NIX_LDFLAGS = toString (
+    lib.optional alsaSupport "-lasound"
+    ++ lib.optional pulseSupport "-lpulse");
 
-  meta = {
+  meta = with lib; {
     description = "OpenAL alternative";
     homepage = "https://kcat.strangesoft.net/openal.html";
     license = licenses.lgpl2;
diff --git a/pkgs/development/libraries/openal-soft/search-out.patch b/pkgs/development/libraries/openal-soft/search-out.patch
index 0f9c2abad3c3c..796642aa3c899 100644
--- a/pkgs/development/libraries/openal-soft/search-out.patch
+++ b/pkgs/development/libraries/openal-soft/search-out.patch
@@ -1,12 +1,12 @@
-diff -Nuar a/Alc/helpers.c b/Alc/helpers.c
---- a/Alc/helpers.c	1970-01-01 00:00:01.000000000 +0000
-+++ b/Alc/helpers.c	1970-01-01 00:00:02.000000000 +0000
-@@ -951,6 +951,8 @@
-             }
-         }
+diff --git a/alc/helpers.cpp b/alc/helpers.cpp
+index 8c1c856..19bbc0f 100644
+--- a/alc/helpers.cpp
++++ b/alc/helpers.cpp
+@@ -402,6 +402,7 @@ al::vector<std::string> SearchDataFiles(const char *ext, const char *subdir)
  
-+        DirectorySearch("@OUT@/share", ext, &results);
-+
-         alstr_reset(&path);
+         DirectorySearch(path.c_str(), ext, &results);
      }
++    DirectorySearch("@OUT@/share/", ext, &results);
  
+     return results;
+ }
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
index fe9a8b6714593..202903b9aa181 100644
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/pkgs/development/libraries/science/math/caffe2/default.nix
@@ -139,5 +139,9 @@ stdenv.mkDerivation rec {
     platforms = with lib.platforms; linux;
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ yuriaisaka ];
+    # fails to compile with
+    # error: invalid conversion from 'const char*' to 'char*'
+    # TODO: Remove usage of python2, protobuf overwrite
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 5d3c3f40f1d4b..bf7eb3d0d38c1 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, which
+{ lib, stdenv, fetchFromGitHub, perl, which
 # Most packages depending on openblas expect integer width to match
 # pointer width, but some expect to use 32-bit integers always
 # (for compatibility with reference BLAS).
@@ -129,7 +129,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.15";
+  version = "0.3.17";
 
   outputs = [ "out" "dev" ];
 
@@ -137,23 +137,9 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "1qjr02cqncv20abdp1yzr55n7smhx6h9chqvb0xbp18byynvj87w";
+    sha256 = "11j103s851mml6kns781kha0asxjz6b6s1vbv80aq3b6g7p05pms";
   };
 
-  # remove both patches when updating to 0.3.16
-  patches = [
-    (fetchpatch {
-      name = "riscv64-imin-fix-wrong-comparison.patch";
-      url = "https://github.com/xianyi/OpenBLAS/commit/1e0192a5ccac28fc0c749f49d36ec7eda9757428.patch";
-      sha256 = "0kjkmrj8023vcjxhgin5dqs5w3gf93hzhwdhg0vsjhdra2ghkwzj";
-    })
-    (fetchpatch {
-      name = "riscv64-generic-use-generic-kernel-for-dsdot.patch";
-      url = "https://github.com/xianyi/OpenBLAS/commit/3521cd48cbfb3d50f6ae9a10377382d37075c696.patch";
-      sha256 = "0ljwbldff4db377s8rzmqxrszilqdivy656yqvfq46x5338v3gi0";
-    })
-  ];
-
   inherit blas64;
 
   # Some hardening features are disabled due to sporadic failures in
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index b047d68707463..f0ecab9d12744 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -5,6 +5,7 @@
 , freetype
 , cmake
 , static ? stdenv.hostPlatform.isStatic
+, libgcc
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ freetype ];
+  buildInputs = [ freetype ]
+    ++ lib.optionals (!stdenv.cc.isGNU) [ libgcc ];
 
   patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
 
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index a9fadf46c4b2e..8d7cb3a48c885 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -57,11 +57,13 @@ stdenv.mkDerivation (rec {
   # and giving nothing builds both.
   # So we have 3 possible ways to build both:
   # `--static --shared`, `--shared` and giving nothing.
-  # Of these, we choose `--shared`, only because that's
-  # what we did in the past and we can avoid mass rebuilds this way.
-  # As a result, we pass `--static` only when we want just static.
-  configureFlags = lib.optional (static && !shared) "--static"
+  # Of these, we choose `--static --shared`, for clarity and simpler
+  # conditions.
+  configureFlags = lib.optional static "--static"
                    ++ lib.optional shared "--shared";
+  # We do the right thing manually, above, so don't need these.
+  dontDisableStatic = true;
+  dontAddStaticConfigureFlags = true;
 
   # Note we don't need to set `dontDisableStatic`, because static-disabling
   # works by grepping for `enable-static` in the `./configure` script
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index dcab9c832e646..8d34fd4e0c982 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -117,6 +117,7 @@
 , "git-ssb"
 , "git-standup"
 , "gitmoji-cli"
+, "glob"
 , "graphql-cli"
 , "grunt-cli"
 , "makam"
@@ -166,6 +167,7 @@
 , "less-plugin-clean-css"
 , "live-server"
 , "livedown"
+, "lodash"
 , {"lumo-build-deps": "../interpreters/clojurescript/lumo" }
 , "madoko"
 , "markdownlint-cli"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index f6529ab7f5bef..da702bbf2f698 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -6565,6 +6565,15 @@ let
         sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
       };
     };
+    "@types/graphlib-2.1.8" = {
+      name = "_at_types_slash_graphlib";
+      packageName = "@types/graphlib";
+      version = "2.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/graphlib/-/graphlib-2.1.8.tgz";
+        sha512 = "8nbbyD3zABRA9ePoBgAl2ym8cIwKQXTfv1gaIRTdY99yEOCaHfmjBeRp+BIemS8NtOqoWK7mfzWxjNrxLK3T5w==";
+      };
+    };
     "@types/hast-2.3.4" = {
       name = "_at_types_slash_hast";
       packageName = "@types/hast";
@@ -90458,6 +90467,36 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  glob = nodeEnv.buildNodePackage {
+    name = "glob";
+    packageName = "glob";
+    version = "7.1.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
+      sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
+    };
+    dependencies = [
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."concat-map-0.0.1"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "a little globber";
+      homepage = "https://github.com/isaacs/node-glob#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   graphql-cli = nodeEnv.buildNodePackage {
     name = "graphql-cli";
     packageName = "graphql-cli";
@@ -98507,6 +98546,24 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  lodash = nodeEnv.buildNodePackage {
+    name = "lodash";
+    packageName = "lodash";
+    version = "4.17.21";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+      sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Lodash modular utilities.";
+      homepage = "https://lodash.com/";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "lumo-build-deps-../interpreters/clojurescript/lumo" = nodeEnv.buildNodePackage {
     name = "lumo-build-deps";
     packageName = "lumo-build-deps";
diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix
index 54bc28697ec47..ea32d659f6465 100644
--- a/pkgs/development/ocaml-modules/bolt/default.nix
+++ b/pkgs/development/ocaml-modules/bolt/default.nix
@@ -42,6 +42,8 @@ EOF
   # The custom `configure` script does not expect the --prefix
   # option. Installation is handled by ocamlfind.
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index ec20eedd7688f..090b96ece0ccc 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -15,7 +15,11 @@ buildDunePackage rec {
 
   buildInputs = [ cppo ];
 
-  configurePhase = "ocaml configure.ml --share $out/share/camomile";
+  configurePhase = ''
+    runHook preConfigure
+    ocaml configure.ml --share $out/share/camomile
+    runHook postConfigure
+  '';
 
   meta = {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 272ff72d8c594..6a50c73103b7f 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -11,7 +11,11 @@ buildDunePackage {
     sha256 = "0kzqkk451m69nqi5qiwak0rd0rp5vzi613gcngsiig7dyxwka61c";
   };
 
-  dontConfigure = true;
+  # dont do autotools configuration, but do trigger findlib's preConfigure hook
+  configurePhase = ''
+    runHook preConfigure
+    runHook postConfigure
+  '';
 
   buildInputs = [ dune-configurator ncurses ];
   propagatedBuildInputs = [ zarith zlib ];
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index 6a3566fda2b61..161e263e129b1 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
     sha256 = "00ga7mrlycjc99gzp3bgx6iwhf7i6j8856f8xzrf1yas7zwzgzm9";
   };
 
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
+  strictDeps = true;
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
index cff155f47098b..9eaad7575ec30 100644
--- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
@@ -16,9 +16,21 @@ stdenv.mkDerivation rec {
   buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
   propagatedBuildInputs = [ erm_xml mirage-crypto mirage-crypto-rng base64 ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix $out";
-  buildPhase = "ocaml setup.ml -build";
-  installPhase = "ocaml setup.ml -install";
+  configurePhase = ''
+    runHook preConfigure
+    ocaml setup.ml -configure --prefix $out
+    runHook postConfigure
+  '';
+  buildPhase = ''
+    runHook preBuild
+    ocaml setup.ml -build
+    runHook postBuild
+  '';
+  installPhase = ''
+    runHook preInstall
+    ocaml setup.ml -install
+    runHook postInstall
+  '';
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 5c7d36fcc08d3..d1860788838a9 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ ocaml findlib cppo ];
 
   createFindlibDestdir = true;
-  dontConfigure = true;
 
   makeFlags = lib.optional minimal "minimal=1";
 
diff --git a/pkgs/development/ocaml-modules/gen/default.nix b/pkgs/development/ocaml-modules/gen/default.nix
index 04d1a08166062..77fc0b63c55ed 100644
--- a/pkgs/development/ocaml-modules/gen/default.nix
+++ b/pkgs/development/ocaml-modules/gen/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation {
     sha256 = "14b8vg914nb0yp1hgxzm29bg692m0gqncjj43b599s98s1cwl92h";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild qtest ounit ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ qtest ounit ];
+  strictDeps = true;
 
   configureFlags = [
     "--enable-tests"
diff --git a/pkgs/development/ocaml-modules/hacl-star/raw.nix b/pkgs/development/ocaml-modules/hacl-star/raw.nix
index cd1217b97101a..aa787c9a91a07 100644
--- a/pkgs/development/ocaml-modules/hacl-star/raw.nix
+++ b/pkgs/development/ocaml-modules/hacl-star/raw.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
   installTargets = "install-hacl-star-raw";
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   buildInputs = [
     which
diff --git a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
index fdb0d8034e690..62876e5eaf948 100644
--- a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
+++ b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
@@ -17,6 +17,8 @@ buildOcaml (args // {
   buildInputs = [ ocaml_oasis js_build_tools opaline ] ++ buildInputs;
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   configurePhase = "./configure --prefix $out";
 
diff --git a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
index ff03c209190d7..2f68ee8230e77 100644
--- a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
+++ b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
@@ -16,6 +16,8 @@ buildOcaml rec {
   buildInputs = [ ocaml_oasis opaline ];
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
   configurePhase = "./configure --prefix $prefix";
   installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${name}.install";
 
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index d158e4216ab43..15678f89da3c1 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   propagatedBuildInputs = [ camlzip extlib ];
 
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index 5a6daa54de39d..3161b56239d07 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -51,6 +51,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ];
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   buildFlags = [ "all" "opt" ];
 
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index bdbbf1d8c67f0..5c3ca95bb0d8c 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   preConfigure = ''
     configureFlagsArray=(
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 25d45d9aed9b1..96a66874c759d 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -40,6 +40,8 @@ buildDunePackage rec {
   configureFlags = [ "--root $(out)" "--prefix /" ];
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   postConfigure = ''
     make -C src confs
diff --git a/pkgs/development/ocaml-modules/process/default.nix b/pkgs/development/ocaml-modules/process/default.nix
index 34ca51f073926..aecf03987ab16 100644
--- a/pkgs/development/ocaml-modules/process/default.nix
+++ b/pkgs/development/ocaml-modules/process/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0m1ldah5r9gcq09d9jh8lhvr77910dygx5m309k1jm60ah9mdcab";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = true;
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index 68a8731201d6f..30ac2cfb22dda 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation {
 
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   propagatedBuildInputs = [ javalib ];
 
diff --git a/pkgs/development/ocaml-modules/seq/default.nix b/pkgs/development/ocaml-modules/seq/default.nix
index aa0546dd390be..44503668ff0ad 100644
--- a/pkgs/development/ocaml-modules/seq/default.nix
+++ b/pkgs/development/ocaml-modules/seq/default.nix
@@ -20,7 +20,8 @@ stdenv.mkDerivation ({
     sha256 = "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = true;
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/syslog/default.nix b/pkgs/development/ocaml-modules/syslog/default.nix
index c97f1225663ed..9614c404c5b91 100644
--- a/pkgs/development/ocaml-modules/syslog/default.nix
+++ b/pkgs/development/ocaml-modules/syslog/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1kqpc55ppzv9n555qgqpda49n7nvkqimzisyjx2a7338r7q4r5bw";
   };
 
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
+  strictDeps = true;
 
   buildFlags = [ "all" "opt" ];
 
diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix
index c89449264889d..4befff2721b97 100644
--- a/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/pkgs/development/ocaml-modules/wasm/default.nix
@@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
     sha256 = "1kp72yv4k176i94np0m09g10cviqp2pnpm7jmiq6ik7fmmbknk7c";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = true;
+
+  # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together
+  hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie";
 
   makeFlags = [ "-C" "interpreter" ];
 
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index eed6b158d4a6f..95351caee307b 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -17,11 +17,13 @@ stdenv.mkDerivation rec {
     sha256 = "1jslm1rv1j0ya818yh23wf3bb6hz7qqj9pn5fwl45y9mqyqa01s9";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ pkg-config ocaml findlib ];
   propagatedBuildInputs = [ gmp ];
+  strictDeps = true;
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
   configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ];
 
   preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs";
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index dcede9506e32c..e22037cbbb9f2 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -12,8 +12,7 @@
 }:
 
 let
-  excludedTests = []
-    ++ [ "reimport_from_subinterpreter" ]
+  excludedTests = [ "reimport_from_subinterpreter" ]
     # cython's testsuite is not working very well with libc++
     # We are however optimistic about things outside of testsuite still working
     ++ lib.optionals (stdenv.cc.isClang or false) [ "cpdef_extern_func" "libcpp_algo" ]
@@ -26,19 +25,21 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.29.22";
+  version = "0.29.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-32uDx6bR2WfqiaKQPkqTE3djSil0WWUuRVFzTEgZVAY=";
+    sha256 = "sha256-zfBNB8NgCGDowuuq1Oj1KsP+shJFPBdkpJrAjIJ+hEM=";
   };
 
   nativeBuildInputs = [
     pkg-config
   ];
+
   checkInputs = [
     gdb numpy ncurses
   ];
+
   buildInputs = [ glibcLocales ];
   LC_ALL = "en_US.UTF-8";
 
@@ -71,9 +72,7 @@ in buildPythonPackage rec {
   # https://github.com/cython/cython/issues/2785
   # Temporary solution
   doCheck = false;
-
-#   doCheck = !stdenv.isDarwin;
-
+  # doCheck = !stdenv.isDarwin;
 
   meta = {
     description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
diff --git a/pkgs/development/python-modules/Fabric/default.nix b/pkgs/development/python-modules/Fabric/default.nix
index 2e70d3aa121e3..de53512d0b47a 100644
--- a/pkgs/development/python-modules/Fabric/default.nix
+++ b/pkgs/development/python-modules/Fabric/default.nix
@@ -1,9 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib
+, buildPythonPackage
+, fetchPypi
 , cryptography
 , invoke
 , mock
 , paramiko
-, pytest
+, pytestCheckHook
 , pytest-relaxed
 }:
 
@@ -23,20 +25,21 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [ invoke paramiko cryptography ];
-  checkInputs = [ pytest mock pytest-relaxed ];
 
-  # requires pytest_relaxed, which doesnt have official support for pytest>=5
-  # https://github.com/bitprophet/pytest-relaxed/issues/12
+  checkInputs = [ pytestCheckHook pytest-relaxed mock ];
+
+  # ==================================== ERRORS ====================================
+  # ________________________ ERROR collecting test session _________________________
+  # Direct construction of SpecModule has been deprecated, please use SpecModule.from_parent
+  # See https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent for more details.
   doCheck = false;
-  checkPhase = ''
-    pytest tests
-  '';
+
   pythonImportsCheck = [ "fabric" ];
 
   meta = with lib; {
     description = "Pythonic remote execution";
-    homepage    = "https://www.fabfile.org/";
-    license     = licenses.bsd2;
+    homepage = "https://www.fabfile.org/";
+    license = licenses.bsd2;
     maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix
index 533e1317a0919..cf30286126986 100644
--- a/pkgs/development/python-modules/Mako/default.nix
+++ b/pkgs/development/python-modules/Mako/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "Mako";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab";
+    sha256 = "169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3";
   };
 
   propagatedBuildInputs = [ markupsafe ];
diff --git a/pkgs/development/python-modules/Pygments/default.nix b/pkgs/development/python-modules/Pygments/default.nix
index 640c95bfcf9f8..bb17af144cbe8 100644
--- a/pkgs/development/python-modules/Pygments/default.nix
+++ b/pkgs/development/python-modules/Pygments/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Pygments";
-  version = "2.9.0";
+  version = "2.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f";
+    sha256 = "f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6";
   };
 
   propagatedBuildInputs = [ docutils ];
diff --git a/pkgs/development/python-modules/ROPGadget/default.nix b/pkgs/development/python-modules/ROPGadget/default.nix
index 8c34e75139f6c..6be0ed48e2894 100644
--- a/pkgs/development/python-modules/ROPGadget/default.nix
+++ b/pkgs/development/python-modules/ROPGadget/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "ROPGadget";
-  version = "6.5";
+  version = "6.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c0e56f2ba0aef13b2c8ca286aad663525b92020b11bacd16791f5236247905c";
+    sha256 = "dc61186e0114ec67ec7ce374df8fd2ddc2a7cba129a1242338e900a7483fba22";
   };
 
   propagatedBuildInputs = [ capstone ];
diff --git a/pkgs/development/python-modules/acme-tiny/default.nix b/pkgs/development/python-modules/acme-tiny/default.nix
index 76e8a8401fd43..dcbb9a688f57c 100644
--- a/pkgs/development/python-modules/acme-tiny/default.nix
+++ b/pkgs/development/python-modules/acme-tiny/default.nix
@@ -1,27 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, setuptools-scm, fusepy, fuse
-, openssl }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, fusepy
+, fuse
+, openssl
+}:
 
 buildPythonPackage rec {
   pname = "acme-tiny";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jmg525n4n98hwy3hf303jbnq23z79sqwgliji9j7qcnph47gkgq";
+    sha256 = "b7050b9428d45319e14ab9ea77f0ff4eb40451e5a68325d4c5358a87cff0e793";
   };
 
   patchPhase = ''
     substituteInPlace acme_tiny.py --replace '"openssl"' '"${openssl.bin}/bin/openssl"'
-    substituteInPlace tests/monkey.py --replace '"openssl"' '"${openssl.bin}/bin/openssl"'
     substituteInPlace tests/test_module.py --replace '"openssl"' '"${openssl.bin}/bin/openssl"'
-    substituteInPlace tests/monkey.py --replace /etc/ssl/openssl.cnf ${openssl.out}/etc/ssl/openssl.cnf
+    substituteInPlace tests/utils.py --replace /etc/ssl/openssl.cnf ${openssl.out}/etc/ssl/openssl.cnf
   '';
 
   buildInputs = [ setuptools-scm ];
+
   checkInputs = [ fusepy fuse ];
 
   doCheck = false; # seems to hang, not sure
 
+  pythonImportsCheck = [ "acme_tiny" ];
+
   meta = with lib; {
     description = "A tiny script to issue and renew TLS certs from Let's Encrypt";
     homepage = "https://github.com/diafygi/acme-tiny";
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index 9047910a21387..e888d1241a506 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -1,32 +1,57 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, numpy, scipy, matplotlib, pandas, tabulate, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, matplotlib
+, numpy
+, pandas
+, pytestCheckHook
+, pythonOlder
+, scipy
+, tabulate
+}:
 
 buildPythonPackage rec {
   pname = "acoustics";
   version = "0.2.4.post0";
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "a162625e5e70ed830fab8fab0ddcfe35333cb390cd24b0a827bcefc5bbcae97d";
   };
 
-  checkPhase = ''
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    pandas
+    scipy
+    tabulate
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
     export HOME=$TMPDIR
     mkdir -p $HOME/.matplotlib
     echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-
-    pushd tests
-    py.test -Wignore::DeprecationWarning ./.
-    popd
   '';
 
-  disabled = pythonOlder "3.6";
+  pytestFlagsArray = [
+    "-Wignore::DeprecationWarning"
+  ];
+
+  disabledTestPaths = [
+    # All tests fail with TypeError
+    "tests/test_aio.py"
+  ];
+
+  pythonImportsCheck = [ "acoustics" ];
 
   meta = with lib; {
-    description = "A package for acousticians";
+    description = "Python package for acousticians";
     maintainers = with maintainers; [ fridh ];
     license = with licenses; [ bsd3 ];
     homepage = "https://github.com/python-acoustics/python-acoustics";
diff --git a/pkgs/development/python-modules/agate-excel/default.nix b/pkgs/development/python-modules/agate-excel/default.nix
index 752c905ee8e64..4d970b182217d 100644
--- a/pkgs/development/python-modules/agate-excel/default.nix
+++ b/pkgs/development/python-modules/agate-excel/default.nix
@@ -1,17 +1,17 @@
 { lib, fetchPypi, buildPythonPackage
-, agate, openpyxl, xlrd, pytestCheckHook
+, agate, openpyxl, xlrd, olefile, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "agate-excel";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f255ef2c87c436b7132049e1dd86c8e08bf82d8c773aea86f3069b461a17d52";
+    sha256 = "62315708433108772f7f610ca769996b468a4ead380076dbaf6ffe262831b153";
   };
 
-  propagatedBuildInputs = [ agate openpyxl xlrd ];
+  propagatedBuildInputs = [ agate openpyxl xlrd olefile ];
 
   checkInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index e07b56d3f266d..591fd8c17874a 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "1.3.1";
+  version = "1.4.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8ecee55346651e0f4cbda883e3e16cfe11460b8d7adcc08d0017cbb867636ae1";
+    sha256 = "09f06723d1d69c6d407d9a356ca65ab42a5b7b73a45be4b1ed0ed1a6b6057a9f";
   };
 
   # relax version constraints: aiobotocore works with newer botocore versions
diff --git a/pkgs/development/python-modules/aioprocessing/default.nix b/pkgs/development/python-modules/aioprocessing/default.nix
index 2f6b396784894..a4571a79b05d0 100644
--- a/pkgs/development/python-modules/aioprocessing/default.nix
+++ b/pkgs/development/python-modules/aioprocessing/default.nix
@@ -7,7 +7,7 @@
 buildPythonPackage rec {
   pname = "aioprocessing";
   version = "2.0.0";
-  disabled = pythonOlder "3.4";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aioredis/default.nix b/pkgs/development/python-modules/aioredis/default.nix
index fe48ba0e1e184..807b112772cf0 100644
--- a/pkgs/development/python-modules/aioredis/default.nix
+++ b/pkgs/development/python-modules/aioredis/default.nix
@@ -1,20 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi
-, pkgs, async-timeout, hiredis, isPyPy, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
+, async-timeout
+, typing-extensions
+, hiredis
+, isPyPy
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aioredis";
-  version = "1.3.1";
+  version = "2.0.0";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m";
+    sha256 = "3a2de4b614e6a5f8e104238924294dc4e811aefbe17ddf52c04a93cbf06e67db";
   };
 
   propagatedBuildInputs = [
     async-timeout
+    typing-extensions
   ] ++ lib.optional (!isPyPy) hiredis;
 
   # Wants to run redis-server, hardcoded FHS paths, too much trouble.
diff --git a/pkgs/development/python-modules/ajsonrpc/default.nix b/pkgs/development/python-modules/ajsonrpc/default.nix
index e5a81d9cfa6e1..b3482cd746797 100644
--- a/pkgs/development/python-modules/ajsonrpc/default.nix
+++ b/pkgs/development/python-modules/ajsonrpc/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "ajsonrpc";
-  version = "1.1.0";
+  version = "1.2.0";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b5r8975wdnk3qnc1qjnn4lkxmqcir3brbwnxml9ii90dnsw408a";
+    sha256 = "791bac18f0bf0dee109194644f151cf8b7ff529c4b8d6239ac48104a3251a19f";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
index 9c7244b3c066b..af8b1fc372159 100644
--- a/pkgs/development/python-modules/alembic/default.nix
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -1,26 +1,56 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, pytest-cov, mock, coverage, setuptools
-, Mako, sqlalchemy, python-editor, python-dateutil
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, Mako
+, python-dateutil
+, sqlalchemy
+, importlib-metadata
+, importlib-resources
+, pytest-xdist
+, pytestCheckHook
+
 }:
 
 buildPythonPackage rec {
   pname = "alembic";
-  version = "1.6.5";
+  version = "1.7.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a21fedebb3fb8f6bbbba51a11114f08c78709377051384c9c5ead5705ee93a51";
+    sha256 = "aea964d3dcc9c205b8759e4e9c1c3935ea3afeee259bffd7ed8414f8085140fb";
   };
 
-  buildInputs = [ pytest pytest-cov mock coverage ];
-  propagatedBuildInputs = [ Mako sqlalchemy python-editor python-dateutil setuptools ];
+  propagatedBuildInputs = [
+    Mako
+    python-dateutil
+    sqlalchemy
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  pythonImportsCheck = [
+    "alembic"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
 
-  # no traditional test suite
-  doCheck = false;
+  pytestFlagsArray = [
+    "--numprocesses" "auto"
+  ];
 
   meta = with lib; {
     homepage = "https://bitbucket.org/zzzeek/alembic";
     description = "A database migration tool for SQLAlchemy";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/ansi2html/default.nix b/pkgs/development/python-modules/ansi2html/default.nix
index 4abcec541a04e..50188fe0e4a3a 100644
--- a/pkgs/development/python-modules/ansi2html/default.nix
+++ b/pkgs/development/python-modules/ansi2html/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, six, mock, pytestCheckHook, setuptools, setuptools-scm, toml }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k, six, mock, pytestCheckHook, setuptools, setuptools-scm }:
 
 buildPythonPackage rec {
   pname = "ansi2html";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "0f124ea7efcf3f24f1f9398e527e688c9ae6eab26b0b84e1299ef7f94d92c596";
   };
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ six setuptools ];
 
   preCheck = "export PATH=$PATH:$out/bin";
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index ba11ef11e3b89..9dc8eadb77754 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.4.7";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bb56f9061c3238d89ec8871bc842f5b8d0e868f892347e8455c98d5b6fa58a1";
+    sha256 = "c02b690803ec0be4453411c53743cd3fdca1dfc66dfa075794e14e717c5b61b3";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 2753864fed814..c5777d7c5173f 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "4.7.1";
+  version = "5.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yf71c9nq1rfb5pkgmfw486fvywi1bjnmgwxcly7y3basf3980kr";
+    sha256 = "9ac7a7a6000339a02d05404ef561e013375f170de01d8b238782f8fb83082b5b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index d47dd61c3d47a..956dd5f40f2d6 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "1.1.0";
+  version = "1.1.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1n2vzyrirfj7fp0zn6iipm3i8bch0g4m14z02nrvlyjiyfmi7zmq";
+    sha256 = "dee7602f6c60e3ec510095b5e301441bc56288cb8f51def14dcb3079f623823a";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/asn1/default.nix b/pkgs/development/python-modules/asn1/default.nix
new file mode 100644
index 0000000000000..7a83703f862ca
--- /dev/null
+++ b/pkgs/development/python-modules/asn1/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, future
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "asn1";
+  version = "2.4.1";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "andrivet";
+    repo = "python-asn1";
+    rev = "v${version}";
+    sha256 = "0g2d5cr1pxsm5ackba7padf7gvlgrgv807kh0312s5axjd2cww2l";
+  };
+
+  propagatedBuildInputs = [
+    future
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "enum-compat" ""
+  '';
+
+  pytestFlagsArray = [ "tests/test_asn1.py" ];
+
+  pythonImportsCheck = [ "asn1" ];
+
+  meta = with lib; {
+    description = "Python ASN.1 encoder and decoder";
+    homepage = "https://github.com/andrivet/python-asn1";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 59bd0bc7c369f..a4694663bb6bf 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.5.6"; # Check whether the version is compatible with pylint
+  version = "2.7.3"; # Check whether the version is compatible with pylint
 
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/nWXzuWkerUDvFT/tJTZuhfju46MAM0cwosVH9BXoY8=";
+    sha256 = "08qxw58cdyglkni6ahyil4cmnb48zz0wr4v05gzqk4r5ifs4gl2m";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION=version;
diff --git a/pkgs/development/python-modules/asttokens/default.nix b/pkgs/development/python-modules/asttokens/default.nix
index bb4cf989cddf8..251205419fe4e 100644
--- a/pkgs/development/python-modules/asttokens/default.nix
+++ b/pkgs/development/python-modules/asttokens/default.nix
@@ -1,29 +1,35 @@
-{ lib, fetchPypi, fetchpatch, buildPythonPackage,
-  setuptools-scm, toml, six, astroid, pytest
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, six
+, astroid
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "asttokens";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a2ixiz04aw4p0aivxh47k3fa9ql804l3y5iv5gcih9aizi5fbm4";
+    sha256 = "sha256-mlTBFPAsepSA1WVQkyVGo/H+cdigLxvHzNDuPuNc9NU=";
   };
 
-  patches = [
-    # Fixes compatibility with python 3.9, will be included in the next release
-    # after 2.0.4
-    (fetchpatch {
-      url = "https://github.com/gristlabs/asttokens/commit/d8ff80ee7d2e64c5e1daf50cc38eb99663f1b1ac.patch";
-      sha256 = "19y8n8vpzr2ijldbq5rh19sf0vz5azqqpkb9bx0ljjg98h6k7kjj";
-      excludes = [ "setup.cfg" ];
-    })
+  nativeBuildInputs = [
+    setuptools-scm
   ];
 
-  propagatedBuildInputs = [ setuptools-scm toml six astroid ];
+  propagatedBuildInputs = [
+    six
+    astroid
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytest ];
+  pythonImportsCheck = [ "asttokens" ];
 
   meta = with lib; {
     homepage = "https://github.com/gristlabs/asttokens";
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index 67701afc0eb09..6d47f95e7564b 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "3.16.2";
+  version = "3.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Slpwml1GDdxAZ4P6Vn2brrupRofiOHvmQF26l0gtTJM=";
+    sha256 = "7b21bf91859ea56ac3b665efe5e73340c65dfd30de01081ff334a18a35a188a6";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/authcaptureproxy/default.nix b/pkgs/development/python-modules/authcaptureproxy/default.nix
index a780ae59be707..c03b423932dfb 100644
--- a/pkgs/development/python-modules/authcaptureproxy/default.nix
+++ b/pkgs/development/python-modules/authcaptureproxy/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "authcaptureproxy";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "alandtse";
     repo = "auth_capture_proxy";
     rev = "v${version}";
-    sha256 = "1fbrmh6qa3dm3q3zdxaa0fls94wardbcvnjgwxk686wpjgs1xrs4";
+    sha256 = "1cg63qhf823nf785kyl96r7vyxfl6dlbwsmhcpny8vb65pl9gng5";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 08e0563b966b9..fa29e9f636e39 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.11.24";
+  version = "0.12.0";
 
   buildInputs = lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [ CoreFoundation Security ]);
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b8aa68bca404bf0085be0570eff5b542d01f7e8e3c0f9b0859abfe5e070162ff";
+    sha256 = "65fa09ce78902319392bbb62991ddd3b33cebc0e3bbc81ad2c176072ab40de52";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index 8dce5b8feb759..cd0a816815cda 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -15,14 +15,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.16.0";
+  version = "1.17.0";
   pname = "azure-core";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b1c7d2e01846074f258c8b2e592239aef836a2b1c27d8d0e8491a2c7e2906ef4";
+    sha256 = "25407390dde142d3e41ecf78bb18cedda9b7f7a0af558d082dec711c4a334f46";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 3401ed898c8f2..fe1d5096cd34d 100644
--- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -6,23 +6,25 @@
 , msrest
 , msrestazure
 , azure-common
+, azure-mgmt-core
 , azure-mgmt-nspkg
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iothubprovisioningservices";
-  version = "0.2.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "8c37acfd1c33aba845f2e0302ef7266cad31cba503cc990a48684659acb7b91d";
+    sha256 = "e5871b03488b5ae6dfc441cdbda40cb39c000635ee57c513053792b3c15826a9";
   };
 
   propagatedBuildInputs = [
     msrest
     msrestazure
     azure-common
+    azure-mgmt-core
     azure-mgmt-nspkg
   ];
 
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
index 6cf775c2118e6..4c7233203bb92 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.3.0";
+  version = "2.1.0";
   pname = "azure-mgmt-apimanagement";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ec363581ef950945447e45d259441cb690a4b790057c7b8470ad8a6eeca04feb";
+    sha256 = "58296bd45e876df33f93f3a41c866c36476f5f3bd46818e8891308794f041c94";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
index d1f49355f8b9e..29b0dd2eb1ca8 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservices";
-  version = "1.0.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "ab87108c0d5ce27d80583b4bfad966ad07049dcbc0e9ac28c64aa6bbdae64e22";
+    sha256 = "a7d3137d5c460f50ac2d44061d60a70b4f2779d4ca844b77419b5725e65e09be";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
index 02117f7282e3f..abf6774ddef29 100644
--- a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
+++ b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
@@ -1,36 +1,32 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, importlib-metadata
-, pytestCheckHook
-}:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, setuptools-scm, importlib-metadata }:
 
 buildPythonPackage rec {
-  pname = "backports.entry-points-selectable";
-  version = "1.0.4";
+  pname = "backports-entry-points-selectable";
+  version = "1.1.0";
 
   src = fetchPypi {
+    pname = "backports.entry_points_selectable";
     inherit version;
-    # pypi project name and tarball name differ
-    pname = builtins.replaceStrings [ "-" ] [ "_" ] pname;
-    sha256 = "4acda84d96855beece3bf9aad9a1030aceb5f744b8ce9af7d5ee6dd672cdd3bd";
+    sha256 = "988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a";
   };
 
-  format = "pyproject";
+  nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  checkInputs = [
-    pytestCheckHook
-  ];
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "backports.entry_points_selectable" ];
+
+  pythonNamespaces = [ "backports" ];
 
   meta = with lib; {
     description = "Compatibility shim providing selectable entry points for older implementations";
-    license = licenses.mit;
-    maintainers = [ maintainers.sternenseemann ];
     homepage = "https://github.com/jaraco/backports.entry_points_selectable";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
index cb5665363f9c6..21920c32b4d22 100644
--- a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
+++ b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
   # Test fail on Python 2
   doCheck = isPy3k;
 
+  pythonNamespaces = [ "backports" ];
+
   meta = {
     description = "Backport of functools.lru_cache";
     homepage = "https://github.com/jaraco/backports.functools_lru_cache";
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index e52e07627dbbf..a95bf6054fd8e 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -46,10 +46,9 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # RuntimeError: coroutine 'test_remigrate_forcibly_downgraded_v4' was never awaited
-    #"test_remigrate_forcibly_downgraded_v4"
-    # RuntimeError: Event loop is closed
-    "test_thread_already_stopped"
+    # AssertionError: assert 65534 is None
+    # https://github.com/zigpy/bellows/issues/436
+    "test_startup_nwk_params"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/beniget/default.nix b/pkgs/development/python-modules/beniget/default.nix
index f8733eeed6264..51f641c51eb48 100644
--- a/pkgs/development/python-modules/beniget/default.nix
+++ b/pkgs/development/python-modules/beniget/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "beniget";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72bbd47b1ae93690f5fb2ad3902ce1ae61dcd868ce6cfbf33e9bad71f9ed8749";
+    sha256 = "75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/block-io/default.nix b/pkgs/development/python-modules/block-io/default.nix
index b823b8711a531..a76132e3e2112 100644
--- a/pkgs/development/python-modules/block-io/default.nix
+++ b/pkgs/development/python-modules/block-io/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "block-io";
-  version = "1.1.15";
+  version = "2.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97ea037a67af72037cb08cec7e0a9f7866ecdfaa1a8c8ebcc0f4b9359a1516d7";
+    sha256 = "817c9cd2ff76659caca4bb3d6758d5782a85f8c0ea13b08c4e14f0c2a8b7586d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 6677d9ceacb90..925eb9c8f39dd 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -34,11 +34,11 @@
 buildPythonPackage rec {
   pname = "bokeh";
   # update together with panel which is not straightforward
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcc0d0a3129ae457cdb0a4f503843a4d13d1f5d07af7748424ea8c7ddfc321f1";
+    sha256 = "a5fdcc181835561447fcc5a371300973fce4114692d5853addec284d1cdeb677";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index c8b8210f65037..07a79a6a886b9 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.17.97"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.17.106"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ab5afc51461c30f27aebef944211d16f47697b98ff8d2e2f6e49e59584853bb";
+    sha256 = "sha256-wHQDeLkTylP1/A26kemadSxaMK57WKDF5U4+KmjfJsU=";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index d05c2decf497f..fc275edcc9de4 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.20.97"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.20.106"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f7e119cf3e0f4a36100f0e983583afa91a84fb27c479a1716820aee4f2e190ab";
+    sha256 = "sha256-bVyYOAix0AQ39W0MCEEr2C2fgBL9t35VX5cneh/U1d8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix
index 6d64def54ab69..17681f053337d 100644
--- a/pkgs/development/python-modules/braintree/default.nix
+++ b/pkgs/development/python-modules/braintree/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "braintree";
-  version = "4.10.0";
+  version = "4.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f934a329c7a2b3f7058d5c733cc95da694f66afb5a789162ec701ba4d26a0d90";
+    sha256 = "946abd50fe2843eec586ac3cec285d27dfae0cc5a43a64b505e8a2800b8a74a6";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix
index 1edc62317a647..0556c5b4e2a2b 100644
--- a/pkgs/development/python-modules/brotli/default.nix
+++ b/pkgs/development/python-modules/brotli/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "brotli";
@@ -16,15 +19,18 @@ buildPythonPackage rec {
 
   dontConfigure = true;
 
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest python/tests
-  '';
+  pytestFlagsArray = [
+    "python/tests"
+  ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/google/brotli";
     description = "Generic-purpose lossless compression algorithm";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix
index 4a4f56f5abf5c..ca64d599534e3 100644
--- a/pkgs/development/python-modules/canonicaljson/default.nix
+++ b/pkgs/development/python-modules/canonicaljson/default.nix
@@ -1,5 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi
-, frozendict, simplejson, six, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
+, frozendict
+, simplejson
+, six
+, isPy27
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -13,7 +19,15 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    frozendict simplejson six
+    frozendict
+    simplejson
+    six
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_frozen_dict"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index 3f2b26e9c5f92..47a6a48eaca72 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "0.20.0";
+  version = "1.7.0";
 
   disabled = isPy27;
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "v${version}";
-    sha256 = "1j7kd4rvf4myg4x4sm4njlhzkxm2m3cva9wmp9vx0nnpfdlyb67f";
+    sha256 = "1qwns8ph8w5bb26hzkk1dadm2bjq74g65wm6g971llb5jdq9a8z9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 92899ed85e583..94aecdcc4ec43 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.14.5";
+  version = "1.14.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c";
+    sha256 = "c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index d8e0af78e1cdb..6f6d555029583 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.53.0";
+  version = "0.53.1";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "v${version}";
-    sha256 = "sha256-UHcbbBoByoxW7+AUxu5mQmcvC3irHPQvBv4CbBXPTNo=";
+    sha256 = "1wj2pzrrmrdf3mkhnz1qx41rshvfpgwlrxrb80d63r098pnq6df8";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix
new file mode 100644
index 0000000000000..dc0f5e1b296ae
--- /dev/null
+++ b/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "charset-normalizer";
+  version = "2.0.1";
+
+  src = fetchFromGitHub {
+    owner = "Ousret";
+    repo = "charset_normalizer";
+    rev = version;
+    sha256 = "04rnyrqay11kma9pzagi1mzhc0sq37ggpv39kad2d4ynm35v2hfq";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=charset_normalizer --cov-report=term-missing" ""
+  '';
+
+  pythonImportsCheck = [ "charset_normalizer" ];
+
+  meta = with lib; {
+    description = "Python module for encoding and language detection";
+    homepage = "https://charset-normalizer.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/chart-studio/default.nix b/pkgs/development/python-modules/chart-studio/default.nix
index e059725cad24a..9d8c6ecb84d51 100644
--- a/pkgs/development/python-modules/chart-studio/default.nix
+++ b/pkgs/development/python-modules/chart-studio/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "chart-studio";
-  version = "4.14.3";
+  version = "5.3.0";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "v${version}";
-    sha256 = "1yrrcn9032r3l8y2cc1wvpydg4rkqvgkpyv1s7znby5mrxa1rjma";
+    sha256 = "059rq278r5zb2sngby7jzh8kd9c48sd82b6b7s5bbrmzj42sds3n";
   };
 
   sourceRoot = "source/packages/python/chart-studio";
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index bb856736d92bf..7eee574dad480 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "cliff";
-  version = "3.8.0";
+  version = "3.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8dd215d0a84c9a3ab2fa2aa700849f4e7b786639f66caa0ad4108c85dca95a7c";
+    sha256 = "95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index b5bbc88c341f4..7d979d1f0216d 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -1,57 +1,70 @@
-{ lib, stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k
-, pyperclip, six, pyparsing, vim, wcwidth, colorama, attrs
-, contextlib2 ? null, typing ? null, setuptools-scm
-, pytest, mock ? null, pytest-mock
-, which, glibcLocales
+{ lib
+, stdenv
+, attrs
+, buildPythonPackage
+, colorama
+, fetchPypi
+, glibcLocales
+, importlib-metadata
+, pyperclip
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+, typing-extensions
+, vim
+, wcwidth
 }:
+
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "1.5.0";
+  version = "2.1.2";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "701a8c9975c4abc45e5d13906ab149f959f812869106347323a3f89ac0e82a62";
+    sha256 = "25dbb2e9847aaa686a8a21e84e3d101db8b79f5cb992e044fc54210ab8c0ad41";
   };
 
-  LC_ALL="en_US.UTF-8";
-
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    # Fake the impure dependencies pbpaste and pbcopy
-    mkdir bin
-    echo '#!${stdenv.shell}' > bin/pbpaste
-    echo '#!${stdenv.shell}' > bin/pbcopy
-    chmod +x bin/{pbcopy,pbpaste}
-    export PATH=$(realpath bin):$PATH
-  '';
-
-  disabled = !isPy3k;
+  LC_ALL = "en_US.UTF-8";
 
   buildInputs = [
     setuptools-scm
   ];
 
   propagatedBuildInputs = [
+    attrs
     colorama
     pyperclip
-    six
-    pyparsing
     wcwidth
-    attrs
-  ]
-  ++ lib.optionals (pythonOlder "3.5") [contextlib2 typing]
-  ;
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+    importlib-metadata
+  ];
 
+  checkInputs = [
+    pytestCheckHook
+    glibcLocales
+    pytest-mock
+    vim
+  ];
 
-  doCheck = !stdenv.isDarwin;
-  # pytest-cov
-  # argcomplete  will generate errors
-  checkInputs= [ pytest mock which vim glibcLocales pytest-mock ]
-        ++ lib.optional (pythonOlder "3.6") [ mock ];
-  checkPhase = ''
-    # test_path_completion_user_expansion might be fixed in the next release
-    py.test -k 'not test_path_completion_user_expansion'
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Fake the impure dependencies pbpaste and pbcopy
+    mkdir bin
+    echo '#!${stdenv.shell}' > bin/pbpaste
+    echo '#!${stdenv.shell}' > bin/pbcopy
+    chmod +x bin/{pbcopy,pbpaste}
+    export PATH=$(realpath bin):$PATH
   '';
 
+  doCheck = !stdenv.isDarwin;
+
+  pythonImportsCheck = [ "cmd2" ];
+
   meta = with lib; {
     description = "Enhancements for standard library's cmd module";
     homepage = "https://github.com/python-cmd2/cmd2";
diff --git a/pkgs/development/python-modules/colorlog/default.nix b/pkgs/development/python-modules/colorlog/default.nix
index 39b64e4faf3ed..6abb6ff023adb 100644
--- a/pkgs/development/python-modules/colorlog/default.nix
+++ b/pkgs/development/python-modules/colorlog/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "colorlog";
-  version = "5.0.1";
+  version = "6.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8XwBOgaWKwL0RJ7gfP2+ayh98p78LJoVFbSjdvTliOo=";
+    sha256 = "af99440154a01f27c09256760ea3477982bf782721feaa345904e806879df4d8";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix
index 16d529b17f531..e7dfb65e79467 100644
--- a/pkgs/development/python-modules/commoncode/default.nix
+++ b/pkgs/development/python-modules/commoncode/default.nix
@@ -14,11 +14,11 @@
 }:
 buildPythonPackage rec {
   pname = "commoncode";
-  version = "21.6.11";
+  version = "21.8.27";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6c8c985746a541913d5bb534c770f2422e5b4ac7a4ef765abc05c287a40ff4b";
+    sha256 = "789ee1798cd74ab4516d2e547473d69717d3b2ed7ee180ab2746e0bdfd0d88a4";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index 45ec7364a59ae..1bb036b97df5a 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "configargparse";
-  version = "1.4.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "bw2";
     repo = "ConfigArgParse";
-    rev = "v${version}";
-    sha256 = "sha256-hzhjrdrXxjksvbHlTnQVsT350g0yuG1F21fElv6bLSA=";
+    rev = version;
+    sha256 = "1hgd0gfxycfnlddwsr8sl6ybxzp8rqhin16vphbl8q32wp5hhjd2";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/configparser/default.nix b/pkgs/development/python-modules/configparser/default.nix
index a939f6623c9c9..3eeae353d1158 100644
--- a/pkgs/development/python-modules/configparser/default.nix
+++ b/pkgs/development/python-modules/configparser/default.nix
@@ -1,6 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, setuptools-scm
-, toml
-}:
+{ lib, stdenv, buildPythonPackage, fetchPypi, setuptools-scm }:
 
 buildPythonPackage rec {
   pname = "configparser";
@@ -14,7 +12,7 @@ buildPythonPackage rec {
   # No tests available
   doCheck = false;
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   preConfigure = ''
     export LC_ALL=${if stdenv.isDarwin then "en_US" else "C"}.UTF-8
diff --git a/pkgs/development/python-modules/contextlib2/0.nix b/pkgs/development/python-modules/contextlib2/0.nix
new file mode 100644
index 0000000000000..38d9fb696e281
--- /dev/null
+++ b/pkgs/development/python-modules/contextlib2/0.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, unittest2
+}:
+
+buildPythonPackage rec {
+  pname = "contextlib2";
+  version = "0.6.0.post1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e";
+  };
+
+  checkInputs = [ unittest2 ];
+
+  meta = {
+    description = "Backports and enhancements for the contextlib module";
+    homepage = "https://contextlib2.readthedocs.org/";
+    license = lib.licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/contextlib2/default.nix b/pkgs/development/python-modules/contextlib2/default.nix
index 38d9fb696e281..1387e786e7b77 100644
--- a/pkgs/development/python-modules/contextlib2/default.nix
+++ b/pkgs/development/python-modules/contextlib2/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "contextlib2";
-  version = "0.6.0.post1";
+  version = "21.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e";
+    sha256 = "ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869";
   };
 
   checkInputs = [ unittest2 ];
diff --git a/pkgs/development/python-modules/cryptacular/default.nix b/pkgs/development/python-modules/cryptacular/default.nix
index dccfddaea1ae3..31c0ebace475b 100644
--- a/pkgs/development/python-modules/cryptacular/default.nix
+++ b/pkgs/development/python-modules/cryptacular/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "cryptacular";
-  version = "1.5.5";
+  version = "1.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fb4d48716e88e4d050255ff0f065f6d437caa358ceef16ba5840c95cece224f9";
+    sha256 = "7b529cb2b8a3c7e5be77921bf1ebc653d4d3a8f791375cc6f971b20db2404176";
   };
 
   buildInputs = [ coverage nose ];
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index 6a072ab8e1a71..c165c9af7a20c 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "8.6.0";
+  version = "9.4.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f3ed02ba18e38b4f3ed2c324fa08967e6714f59357ccb0b28badd9572e77500b";
+    sha256 = "4402bd33a051e82f6888dab088a8d657714ca6d1e945b513dcc513a95a435bd5";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/cx_freeze/default.nix b/pkgs/development/python-modules/cx_freeze/default.nix
index b6edb2ced1f2e..42fa8fd8ddca1 100644
--- a/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/pkgs/development/python-modules/cx_freeze/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cx_Freeze";
-  version = "6.6";
+  version = "6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4af8ad3f7e7d71e291c1dec5d0fb26bbe92df834b098ed35434c901fbd6762f";
+    sha256 = "050f1dd133a04810bd7f38ac7ae3b290054acb2ff4f6e73f7a286266d153495d";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/cxxfilt/default.nix b/pkgs/development/python-modules/cxxfilt/default.nix
index 1cc5ad19bda24..117b12145764b 100644
--- a/pkgs/development/python-modules/cxxfilt/default.nix
+++ b/pkgs/development/python-modules/cxxfilt/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cxxfilt";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef6810e76d16c95c11b96371e2d8eefd1d270ec03f9bcd07590e8dcc2c69e92b";
+    sha256 = "7df6464ba5e8efbf0d8974c0b2c78b32546676f06059a83515dbdfa559b34214";
   };
 
   postPatch = let
diff --git a/pkgs/development/python-modules/dask-jobqueue/default.nix b/pkgs/development/python-modules/dask-jobqueue/default.nix
index 7719842fbad6f..5e43a8f166482 100644
--- a/pkgs/development/python-modules/dask-jobqueue/default.nix
+++ b/pkgs/development/python-modules/dask-jobqueue/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.7.2";
+  version = "0.7.3";
   pname = "dask-jobqueue";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1767f4146b2663d9d2eaef62b882a86e1df0bccdb8ae68ae3e5e546aa6796d35";
+    sha256 = "682d7cc0e6b319b6ab83a7a898680c12e9c77ddc77df380b40041290f55d4e79";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/dask-xgboost/default.nix b/pkgs/development/python-modules/dask-xgboost/default.nix
index eb18ac31fd03a..1f9be870c9759 100644
--- a/pkgs/development/python-modules/dask-xgboost/default.nix
+++ b/pkgs/development/python-modules/dask-xgboost/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.11";
+  version = "0.2.0";
   pname = "dask-xgboost";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3fbe1bf4344dc74edfbe9f928c7e3e6acc26dc57cefd8da8ae56a15469c6941c";
+    sha256 = "6d9c491dc4099f74a0df66c4d439d296c0f1fba97009fe93e21b2350f295b4ca";
   };
 
   propagatedBuildInputs = [ xgboost dask distributed ];
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 208856490b867..120c98febce25 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -2,44 +2,51 @@
 , stdenv
 , bokeh
 , buildPythonPackage
+, cloudpickle
+, distributed
 , fetchFromGitHub
 , fsspec
-, pytestCheckHook
-, pytest-rerunfailures
-, pythonOlder
-, cloudpickle
+, jinja2
 , numpy
-, toolz
-, dill
+, packaging
 , pandas
 , partd
+, pytest-rerunfailures
 , pytest-xdist
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, toolz
 , withExtraComplete ? false
-, distributed
 }:
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2021.06.2";
-  disabled = pythonOlder "3.5";
+  version = "2021.08.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qvfjdijzlqaJQrDztRAVr5PudTaVd3WOTBid2ElZQgg=";
+    sha256 = "sha256-HnrHOp3Y/iLYaK3KVp6NJrK68BMqX8lTl/wLosiGc7k=";
   };
 
   propagatedBuildInputs = [
-    bokeh
     cloudpickle
-    dill
     fsspec
-    numpy
-    pandas
+    packaging
     partd
+    pyyaml
     toolz
-  ] ++ lib.optionals withExtraComplete [
+    pandas
+    jinja2
+    bokeh
+    numpy
+  ] ++ lib.optionals (withExtraComplete) [
+    # infinite recursion between distributed and dask
     distributed
   ];
 
@@ -63,7 +70,11 @@ buildPythonPackage rec {
   '';
 
   pytestFlagsArray = [
-    "-n $NIX_BUILD_CORES"
+    # parallelize
+    "--numprocesses auto"
+    # rerun failed tests up to three times
+    "--reruns 3"
+    # don't run tests that require network access
     "-m 'not network'"
   ];
 
@@ -81,7 +92,16 @@ buildPythonPackage rec {
 
   __darwinAllowLocalNetworking = true;
 
-  pythonImportsCheck = [ "dask.dataframe" "dask" "dask.array" ];
+  pythonImportsCheck = [
+    "dask"
+    "dask.array"
+    "dask.bag"
+    "dask.bytes"
+    "dask.dataframe"
+    "dask.dataframe.io"
+    "dask.dataframe.tseries"
+    "dask.diagnostics"
+  ];
 
   meta = with lib; {
     description = "Minimal task scheduling abstraction";
diff --git a/pkgs/development/python-modules/dateutils/default.nix b/pkgs/development/python-modules/dateutils/default.nix
new file mode 100644
index 0000000000000..faa3b11554838
--- /dev/null
+++ b/pkgs/development/python-modules/dateutils/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, python-dateutil, pytz }:
+
+buildPythonPackage rec {
+  pname = "dateutils";
+  version = "0.6.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-A92QvLIVQb1OtLATY35PG1+USIHEbMbktnpgWeNw4/E=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    pytz
+  ];
+
+  pythonImportsCheck = [ "dateutils" ];
+
+  meta = with lib; {
+    description = "Utilities for working with datetime objects.";
+    homepage = "https://github.com/jmcantrell/python-dateutils";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix
index 10ed4c62e7649..4392a3c2ecf48 100644
--- a/pkgs/development/python-modules/debugpy/default.nix
+++ b/pkgs/development/python-modules/debugpy/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
       "x86_64-darwin"  = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
       "i686-darwin"    = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
       "aarch64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch arm64 -o attach_arm64.dylib";
-    }.${stdenv.hostPlatform.system}}
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")}
   )'';
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/decorator/4.nix b/pkgs/development/python-modules/decorator/4.nix
new file mode 100644
index 0000000000000..8e8fd28f0b543
--- /dev/null
+++ b/pkgs/development/python-modules/decorator/4.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "decorator";
+  version = "4.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rxzhk5zwiggk45hl53zydvy70lk654kg0nc1p54090p402jz9p3";
+  };
+
+  meta = with lib; {
+    homepage = "https://pypi.python.org/pypi/decorator";
+    description = "Better living through Python with decorators";
+    license = lib.licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index 8e8fd28f0b543..f8d3f5c9ac610 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "4.4.2";
+  version = "5.0.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rxzhk5zwiggk45hl53zydvy70lk654kg0nc1p54090p402jz9p3";
+    sha256 = "72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index ce0cf13e9a928..38c977f3ffa5b 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2021.6.2";
+  version = "2021.8.1";
   disabled = pythonOlder "3.6";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-19ESqGqwSdzvo7If0brqQhKiwD0iwkvVWtONIaf10Ug=";
+    sha256 = "c13ac10ecd9ee5f0ff67f5697149062d6e483f23a079918df1ab2e19b11fa77d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/distro/default.nix b/pkgs/development/python-modules/distro/default.nix
index 885538de65ce4..bf8675af941d3 100644
--- a/pkgs/development/python-modules/distro/default.nix
+++ b/pkgs/development/python-modules/distro/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distro";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92";
+    sha256 = "83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424";
   };
 
   # tests are very targeted at individual linux distributions
diff --git a/pkgs/development/python-modules/django-cacheops/default.nix b/pkgs/development/python-modules/django-cacheops/default.nix
index c9344d3bd0106..58900ac2cbf4e 100644
--- a/pkgs/development/python-modules/django-cacheops/default.nix
+++ b/pkgs/development/python-modules/django-cacheops/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "django-cacheops";
-  version = "5.1";
+  version = "6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1YUc178whzhKH87PqN3bj1UDDu39b98SciW3W8oPmd0=";
+    sha256 = "78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django_environ/default.nix b/pkgs/development/python-modules/django_environ/default.nix
index 3f01a2b294a1c..6baaf58e7d099 100644
--- a/pkgs/development/python-modules/django_environ/default.nix
+++ b/pkgs/development/python-modules/django_environ/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-environ";
-  version = "0.4.5";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c9d87660142608f63ec7d5ce5564c49b603ea8ff25da595fd6098f6dc82afde";
+    sha256 = "a8726675c1ebefa4706b36398c4d3c5c790d335ffe55c4a10378f6bfd57ad8d0";
   };
 
   # The testsuite fails to modify the base environment
diff --git a/pkgs/development/python-modules/django_taggit/default.nix b/pkgs/development/python-modules/django_taggit/default.nix
index cbfcc103c5c18..ab908c639a00d 100644
--- a/pkgs/development/python-modules/django_taggit/default.nix
+++ b/pkgs/development/python-modules/django_taggit/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "1.4.0";
+  version = "1.5.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b9ed6e94bad0bed3bf062a6be7ee3db117fda02c6419c680d614197364ea018b";
+    sha256 = "e5bb62891f458d55332e36a32e19c08d20142c43f74bc5656c803f8af25c084a";
   };
 
   propagatedBuildInputs = [ isort django ];
diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
index 82ff51fd38219..ad9afabadf2c1 100644
--- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "djangorestframework_simplejwt";
-  version = "4.7.1";
+  version = "4.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c0e9b617da337becb55e67935eb992fad84f861418e7ab5fb3e77a3fd18d4137";
+    sha256 = "153c973c5c154baf566be431de8527c2bd62557fde7373ebcb0f02b73b28e07a";
   };
 
   propagatedBuildInputs = [ django djangorestframework pyjwt ];
diff --git a/pkgs/development/python-modules/dpkt/default.nix b/pkgs/development/python-modules/dpkt/default.nix
index 74817e60cbcfb..a1036e099ea85 100644
--- a/pkgs/development/python-modules/dpkt/default.nix
+++ b/pkgs/development/python-modules/dpkt/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dpkt";
-  version = "1.9.7.1";
+  version = "1.9.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74899d557ec4e337db29cecc80548b23a1205384d30ee407397cfb9ab178e3d4";
+    sha256 = "80f977667ebbad2b5c4f7b7f45ee8bea6622fb71723f68a9a8fe6274520c853b";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/elmax/default.nix b/pkgs/development/python-modules/elmax/default.nix
index 775050acb0c9f..db1ff91ee0eb0 100644
--- a/pkgs/development/python-modules/elmax/default.nix
+++ b/pkgs/development/python-modules/elmax/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "elmax";
-  version = "0.1.2";
+  version = "0.1.3";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-elmax";
     rev = version;
-    sha256 = "sha256-Aq/OHxOmtUUmBNlFPu892C8AkTX+Ee0oca7D79InPXQ=";
+    sha256 = "sha256-OiVPjWqQw1u0OL6/uYlT+FP2XDh7l3OZyVtQfycHICI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix
index f0c67f3ae591c..8ab6994ac4158 100644
--- a/pkgs/development/python-modules/executing/default.nix
+++ b/pkgs/development/python-modules/executing/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools-scm
 , asttokens
 }:
 
@@ -15,6 +16,10 @@ buildPythonPackage rec {
     sha256 = "1hqx94h6l2wg9sljiaajfay2nr62sqa819w3bxrz8cdki1abdygv";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   preBuild = ''
     export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
   '';
diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix
index 28dece127b129..a39205f5aeea7 100644
--- a/pkgs/development/python-modules/extractcode/default.nix
+++ b/pkgs/development/python-modules/extractcode/default.nix
@@ -11,11 +11,11 @@
 }:
 buildPythonPackage rec {
   pname = "extractcode";
-  version = "21.6.2";
+  version = "21.7.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e665501438fedeb6e75335d880c8913a8cd894fd8adcf9c243eb6d48fad2d01c";
+    sha256 = "58aa16d60cfcbd3695d7ea84a1e30d5ba9fa6f614b2ef4a6d0565b2ac5d4f757";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 98c7922c18f07..919c5a1aebd90 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -41,8 +41,8 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # Missing support for later pytest-asyncio, https://github.com/jamesls/fakeredis/issues/307
-    "test/test_aioredis1.py"
+    # AttributeError: 'AsyncGenerator' object has no attribute XXXX
+    "test/test_aioredis2.py"
   ];
 
   pythonImportsCheck = [ "fakeredis" ];
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index 62aedf1f2117c..f068c4cb735e2 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -55,8 +55,18 @@ buildPythonPackage rec {
   # ignoring deprecation warnings to avoid test failure from
   # tests/test_tutorial/test_testing/test_tutorial001.py
 
-  pytestFlagsArray = [ "--ignore=tests/test_default_response_class.py" "-W ignore::DeprecationWarning"];
-  disabledTests = [ "test_get_custom_response" ];
+  pytestFlagsArray = [
+    "--ignore=tests/test_default_response_class.py"
+    "-W ignore::DeprecationWarning"
+  ];
+
+  disabledTests = [
+    "test_get_custom_response"
+
+    # Failed: DID NOT RAISE <class 'starlette.websockets.WebSocketDisconnect'>
+    "test_websocket_invalid_data"
+    "test_websocket_no_credentials"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/tiangolo/fastapi";
diff --git a/pkgs/development/python-modules/fastdiff/default.nix b/pkgs/development/python-modules/fastdiff/default.nix
index b3e27d7a5e81d..a790f1623817f 100644
--- a/pkgs/development/python-modules/fastdiff/default.nix
+++ b/pkgs/development/python-modules/fastdiff/default.nix
@@ -1,30 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pytest-benchmark, wasmer }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, wasmer, wasmer-compiler-cranelift, pytestCheckHook, pytest-benchmark }:
 
 buildPythonPackage rec {
   pname = "fastdiff";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ai95vjchl4396zjl1b69xfqvn9kn1y7c40d9l0qxdss0pcx6fk2";
+    sha256 = "4dfa09c47832a8c040acda3f1f55fc0ab4d666f0e14e6951e6da78d59acd945a";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'pytest-runner' ""
+    substituteInPlace setup.cfg \
+      --replace "collect_ignore = ['setup.py']" ""
   '';
 
-  propagatedBuildInputs = [ wasmer ];
+  propagatedBuildInputs = [ wasmer wasmer-compiler-cranelift ];
 
   checkInputs = [ pytestCheckHook pytest-benchmark ];
 
   pythonImportsCheck = [ "fastdiff" ];
-  disabledTests = [ "test_native" ];
 
   meta = with lib; {
     description = "A fast native implementation of diff algorithm with a pure Python fallback";
     homepage = "https://github.com/syrusakbary/fastdiff";
     license = licenses.mit;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    # resulting compiled object panics at import
+    broken = stdenv.is32bit;
   };
 }
diff --git a/pkgs/development/python-modules/fastimport/default.nix b/pkgs/development/python-modules/fastimport/default.nix
index fe46405eb3f14..bd5c270d686cb 100644
--- a/pkgs/development/python-modules/fastimport/default.nix
+++ b/pkgs/development/python-modules/fastimport/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "fastimport";
-  version = "0.9.13";
+  version = "0.9.14";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "486135a39edb85808fdbbe2c8009197978800a4544fca56cc2074df32e1304f3";
+    sha256 = "6ac99dda4e7b0b3ae831507b6d0094802e6dd95891feafde8cc5c405b6c149ca";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/fastparquet/default.nix b/pkgs/development/python-modules/fastparquet/default.nix
index 756d08726c110..56fb6a53e14a2 100644
--- a/pkgs/development/python-modules/fastparquet/default.nix
+++ b/pkgs/development/python-modules/fastparquet/default.nix
@@ -5,7 +5,6 @@
 , numba
 , numpy
 , pandas
-, pytest-runner
 , cramjam
 , fsspec
 , thrift
@@ -14,26 +13,32 @@
 
 buildPythonPackage rec {
   pname = "fastparquet";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    hash = "sha256-08hanzRnt6WuMriNNtOd+ZHycr2XBeIRav+5sgvT7Do=";
+    hash = "sha256-xV0AXNZSy4LSrHf11OP/+KDbeDQu8yF1ugX+W4mie1E=";
   };
 
-  nativeBuildInputs = [ pytest-runner ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," "" \
+      --replace "oldest-supported-numpy" "numpy"
+  '';
+
   propagatedBuildInputs = [ cramjam fsspec numba numpy pandas thrift ];
   checkInputs = [ pytestCheckHook ];
 
   # Workaround https://github.com/NixOS/nixpkgs/issues/123561
   preCheck = ''
     mv fastparquet/test .
-    rm -rf fastparquet
+    rm -r fastparquet
     fastparquet_test="$out"/${python.sitePackages}/fastparquet/test
     ln -s `pwd`/test "$fastparquet_test"
   '';
+
   postCheck = ''
     rm "$fastparquet_test"
   '';
diff --git a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
index 5d26419707210..4b4d6bdd7fc25 100644
--- a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
+++ b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "ffmpeg-progress-yield";
-  version = "0.0.4";
+  version = "0.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e944093e2c1b213da8fa4f0c276c1bad44e0b8ba8be7e4fd001f5132d16baef5";
+    sha256 = "92ae36ff5cf38428bd3695629b5065d161c658fb0de0faf2c20cd7a99dac3820";
   };
 
   propagatedBuildInputs = [ colorama tqdm ];
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index a71e6fbaa7e07..987a8ca6209eb 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -1,16 +1,16 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, isPy3k, pythonOlder
 , attrs, click, cligj, click-plugins, six, munch, enum34
 , pytestCheckHook, boto3, mock, giflib, pytz
-, gdal
-, certifi
+, gdal, certifi
 }:
 
 buildPythonPackage rec {
-  pname = "Fiona";
+  pname = "fiona";
   version = "1.8.20";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Fiona";
+    inherit version;
     sha256 = "a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b";
   };
 
@@ -42,11 +42,15 @@ buildPythonPackage rec {
 
   preCheck = ''
     rm -r fiona # prevent importing local fiona
+    # disable gdal deprecation warnings
+    export GDAL_ENABLE_DEPRECATED_DRIVER_GTM=YES
   '';
 
   disabledTests = [
     # Some tests access network, others test packaging
     "http" "https" "wheel"
+    # Assert not true
+    "test_no_append_driver_cannot_append"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix
index d9eae8ffa5850..22be871f745ff 100644
--- a/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-JWT-Extended";
-  version = "4.2.3";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "22b8ffa7587d50aaf65f3009f1d55ef7287da8260eaf4655a5837e33479216c3";
+    sha256 = "6e2b40d548b9dfc6051740c4552c097ac38e514e500c16c682d9a533d17ca418";
   };
 
   propagatedBuildInputs = [ python-dateutil flask pyjwt werkzeug ];
diff --git a/pkgs/development/python-modules/flask-migrate/default.nix b/pkgs/development/python-modules/flask-migrate/default.nix
index 26f2ab4aea18c..010e79ecbf2c7 100644
--- a/pkgs/development/python-modules/flask-migrate/default.nix
+++ b/pkgs/development/python-modules/flask-migrate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-Migrate";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00m76kgdkk0w5bfq8hbqszpyaqk0yxdvmz4s67lvd36pc7wfhhjd";
+    sha256 = "57d6060839e3a7f150eaab6fe4e726d9e3e7cffe2150fb223d73f92421c6d1d9";
   };
 
   checkInputs = [ flask_script ] ++ lib.optional isPy3k glibcLocales;
diff --git a/pkgs/development/python-modules/flit-core/default.nix b/pkgs/development/python-modules/flit-core/default.nix
index a4c6b99b07f4e..7b27315956292 100644
--- a/pkgs/development/python-modules/flit-core/default.nix
+++ b/pkgs/development/python-modules/flit-core/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
+, callPackage
 , flit
-, isPy3k
 , toml
 , pytestCheckHook
 , testpath
@@ -12,6 +12,11 @@ buildPythonPackage rec {
   version = "3.2.0";
   format = "pyproject";
 
+  outputs = [
+    "out"
+    "testsout"
+  ];
+
   inherit (flit) src patches;
 
   preConfigure = ''
@@ -22,19 +27,23 @@ buildPythonPackage rec {
     toml
   ];
 
-  checkInputs = [
-    pytestCheckHook
-    testpath
-  ];
+  postInstall = ''
+    mkdir $testsout
+    cp -R ../tests $testsout/tests
+  '';
+
+  # check in passthru.tests.pytest to escape infinite recursion with setuptools-scm
+  doCheck = false;
 
   passthru.tests = {
     inherit flit;
+    pytest = callPackage ./tests.nix { };
   };
 
-  meta = {
+  meta = with lib; {
     description = "Distribution-building parts of Flit. See flit package for more information";
     homepage = "https://github.com/takluyver/flit";
-    license = lib.licenses.bsd3;
-    maintainers = [ lib.maintainers.fridh ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fridh SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/flit-core/tests.nix b/pkgs/development/python-modules/flit-core/tests.nix
new file mode 100644
index 0000000000000..0fd13e80cb125
--- /dev/null
+++ b/pkgs/development/python-modules/flit-core/tests.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage
+, flit
+, flit-core
+, pytestCheckHook
+, testpath
+}:
+
+buildPythonPackage rec {
+  pname = "flit-core";
+  inherit (flit-core) version;
+
+  src = flit-core.testsout;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    flit
+    pytestCheckHook
+    testpath
+  ];
+}
diff --git a/pkgs/development/python-modules/freetype-py/default.nix b/pkgs/development/python-modules/freetype-py/default.nix
index b0035e8384473..13e033e8bc36b 100644
--- a/pkgs/development/python-modules/freetype-py/default.nix
+++ b/pkgs/development/python-modules/freetype-py/default.nix
@@ -1,4 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi, substituteAll, stdenv, setuptools-scm, freetype }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, setuptools-scm
+, freetype
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "freetype-py";
@@ -20,6 +28,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ freetype ];
 
+  preCheck = ''
+    cd tests
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck =  [ "freetype" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index e172f3815b7ee..4acf53563dede 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -1,16 +1,47 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pytestCheckHook
+, setuptoolsBuildHook
+, python
+}:
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "1.2";
+  version = "2.0.5";  # 2.0.6 breaks canonicaljson
+  format = "setuptools";
+
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp";
+    sha256 = "sha256-wb7hwHDY2fZA4SjluHV2pEAAhgCfeGLRPAv4YA5iE9M=";
   };
 
-  # frozendict does not come with tests
-  doCheck = false;
+  pythonImportsCheck = [
+    "frozendict"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    rm -r frozendict
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
+  '';
+
+  disabledTests = [
+    # TypeError: unsupported operand type(s) for |=: 'frozendict.frozendict' and 'dict'
+    "test_union"
+  ];
+
+  disabledTestPaths = [
+    # unpackaged test dependency: coold
+    "test/test_coold.py"
+    "test/test_coold_subclass.py"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/slezica/python-frozendict";
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
index 1332777189b13..71480ab21131f 100644
--- a/pkgs/development/python-modules/gcovr/default.nix
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "4.2";
+  version = "5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs";
+    sha256 = "1d80264cbaadff356b3dda71b8c62b3aa803e5b3eb6d526a24932cd6660a2576";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/geoalchemy2/default.nix b/pkgs/development/python-modules/geoalchemy2/default.nix
index c4c0f41d8d172..077523bdb482a 100644
--- a/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -1,31 +1,53 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, sqlalchemy
-, shapely
+, packaging
 , setuptools-scm
-, pytest
+, shapely
+, sqlalchemy
+, psycopg2
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "GeoAlchemy2";
-  version = "0.9.3";
+  version = "0.9.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "56f969cf4ad6629ebcde73e807f7dac0a9375c79991b4f93efab191f37737a00";
+    sha256 = "b0e56d4a945bdc0f8fa9edd50ecc912889ea68e0e3558a19160dcb0d5b1b65fc";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ sqlalchemy shapely ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  # https://github.com/geoalchemy/geoalchemy2/blob/e05a676350b11f0e73609379dae5625c5de2e868/TEST.rst
-  doCheck = false;
+  propagatedBuildInputs = [
+    packaging
+    shapely
+    sqlalchemy
+  ];
+
+  checkInputs = [
+    psycopg2
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # tests require live postgis database
+    "tests/gallery/test_decipher_raster.py"
+    "tests/gallery/test_length_at_insert.py"
+    "tests/gallery/test_summarystatsagg.py"
+    "tests/gallery/test_type_decorator.py"
+    "tests/test_functional.py"
+  ];
 
   meta = with lib; {
+    description = "Toolkit for working with spatial databases";
     homepage =  "http://geoalchemy.org/";
     license = licenses.mit;
-    description = "Toolkit for working with spatial databases";
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/gevent-websocket/default.nix b/pkgs/development/python-modules/gevent-websocket/default.nix
index 7ff62a378ca98..24af4416ab3c8 100644
--- a/pkgs/development/python-modules/gevent-websocket/default.nix
+++ b/pkgs/development/python-modules/gevent-websocket/default.nix
@@ -17,10 +17,16 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ gevent gunicorn ];
 
+  # zero tests run
+  doCheck = false;
+
+  pythonImportsCheck = [ "geventwebsocket" ];
+
   meta = with lib; {
     homepage = "https://www.gitlab.com/noppo/gevent-websocket";
     description = "Websocket handler for the gevent pywsgi server, a Python network library";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
index 5563ff94baf56..fd759a0bd723e 100644
--- a/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -1,32 +1,49 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, pytest
-, gevent
+, backports_ssl_match_hostname
+, brotli
 , certifi
+, gevent
 , six
-, backports_ssl_match_hostname
-, pythonOlder
+, dpkt
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "geventhttpclient";
-  version = "1.4.5";
+  version = "1.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f0ab18d84ef26ba0c9df73ae2a41ba30a46072b447f2e36c740400de4a63d44";
+    sha256 = "4aead64253d2769a6528544f7812ce8d71ae13551d079f2d9a3533d72818f2e0";
   };
 
-  buildInputs = [ pytest ];
-  propagatedBuildInputs = [ gevent certifi six ]
-    ++ lib.optionals (pythonOlder "3.7") [ backports_ssl_match_hostname ];
+  propagatedBuildInputs = [
+    brotli
+    certifi
+    gevent
+    six
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    backports_ssl_match_hostname
+  ];
+
+  checkInputs = [
+    dpkt
+    pytestCheckHook
+  ];
 
-  # Several tests fail that require network
-  doCheck = false;
-  checkPhase = ''
-    py.test $out
-  '';
+  disabledTests = [
+    # socket.gaierror: [Errno -2] Name or service not known
+    "test_client_simple"
+    "test_client_without_leading_slas"
+    "test_request_with_headers"
+    "test_response_context_manager"
+    "test_client_ssl"
+    "test_ssl_fail_invalid_certificate"
+    "test_multi_queries_greenlet_safe"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/gwik/geventhttpclient";
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 2fd9247c88250..45d6044b8ea70 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.15.0";
+  version = "2.18.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-g3VIkjKCP0TGARlqlgUF4D7FjJXdtkFcax0ddrRo+Lo=";
+    sha256 = "a25661ec6cf4c159f41fe9c061c2bee31b2dddaf2ad787e23617048a25b53842";
   };
 
   # No tests included in archive
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 f6a62c544cf4a..62956e1e46de1 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oCktt8wAYKewz6Ga4mIGVy0IWonXTqQvaO5MT4MkHMY=";
+    sha256 = "fcb71ebe5c5b232d24fe7d666b65709e4fc8db43263c8182e5ed8e5a52abefec";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-testutils/default.nix b/pkgs/development/python-modules/google-cloud-testutils/default.nix
index 05a66406ce024..2c208511ee3f0 100644
--- a/pkgs/development/python-modules/google-cloud-testutils/default.nix
+++ b/pkgs/development/python-modules/google-cloud-testutils/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-testutils";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2RaRhRvgnmr/trjAE+RBlVO5AZ54YEFcoRwcPCKCTKs=";
+    sha256 = "3d79051b6ca170c2a4f159bf56ac3f66c1e5360486121e72c06fdaa3911154bf";
   };
 
   propagatedBuildInputs = [ click google-auth six ];
diff --git a/pkgs/development/python-modules/google-crc32c/default.nix b/pkgs/development/python-modules/google-crc32c/default.nix
index b36635654a9d5..41b23321af98c 100644
--- a/pkgs/development/python-modules/google-crc32c/default.nix
+++ b/pkgs/development/python-modules/google-crc32c/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "google-crc32c";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "python-crc32c";
     rev = "v${version}";
-    sha256 = "058g69yp7x41mv0d84yp31jv64fpm4r25b86rvvqgc6n74w6jj7k";
+    sha256 = "1m2hafyfagvyabizr4fhcp2s2s3x56k006fhvl1qzk994qjhyzqk";
   };
 
   buildInputs = [ crc32c ];
diff --git a/pkgs/development/python-modules/gradient/default.nix b/pkgs/development/python-modules/gradient/default.nix
index 57b58699ec38e..7e47faadc0e20 100644
--- a/pkgs/development/python-modules/gradient/default.nix
+++ b/pkgs/development/python-modules/gradient/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "gradient";
-  version = "1.5.5";
+  version = "1.7.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fee5016afe5e61a640bb9d7e234a10926c17c9e83c876b617438ff5f5ce039ad";
+    sha256 = "de1d33672f13d4de37a66ba9aebfd503a098d0ca26e5eb8b071e1c0dacd557ea";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix
index 7ac25424616a4..1909dd99fe0f7 100644
--- a/pkgs/development/python-modules/graphql-core/default.nix
+++ b/pkgs/development/python-modules/graphql-core/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "graphql-core";
-  version = "3.1.5";
+  version = "3.1.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "graphql-python";
     repo = pname;
     rev = "v${version}";
-    sha256 = "055gfvyax781f4zk4pl60y8yd90bnn4rkqh5i48pczaff0lwlfj1";
+    sha256 = "1ip0yrqmnqncgpwvba18x020gkwr7csiw4zdy6mrdnvwf5qyam4x";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/green/default.nix b/pkgs/development/python-modules/green/default.nix
index 934c363245d7d..0320a3858be11 100644
--- a/pkgs/development/python-modules/green/default.nix
+++ b/pkgs/development/python-modules/green/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "green";
-  version = "3.2.6";
+  version = "3.3.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e51d4ff6e6885942d944304fedc7440a8f87917aa09526beeecb31a0dae655b8";
+    sha256 = "a4d86f2dfa4ccbc86f24bcb9c9ab8bf34219c876c24e9f0603aab4dfe73bb575";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/greenlet/default.nix b/pkgs/development/python-modules/greenlet/default.nix
index 4d829f3d64731..e997c7da3987b 100644
--- a/pkgs/development/python-modules/greenlet/default.nix
+++ b/pkgs/development/python-modules/greenlet/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "greenlet";
-  version = "1.1.0";
+  version = "1.1.1";
   disabled = isPyPy;  # builtin for pypy
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee";
+    sha256 = "c0f22774cd8294078bdf7392ac73cf00bfa1e5e0ed644bd064fdabc5f2a2f481";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index 9e5921bb412d8..dfa4288e54fc9 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -8,13 +8,13 @@ let
   mpi = hdf5.mpi;
   mpiSupport = hdf5.mpiSupport;
 in buildPythonPackage rec {
-  version = "3.2.1";
+  version = "3.4.0";
   pname = "h5py";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-iUdL6RG/zbNMvw2YuOxItXjCeon9sa5O51E/HvjZJJ4=";
+    sha256 = "ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e";
   };
 
   # avoid strict pinning of numpy
diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix
index bf48d6cf5e761..9fa932c7e4181 100644
--- a/pkgs/development/python-modules/hdbscan/default.nix
+++ b/pkgs/development/python-modules/hdbscan/default.nix
@@ -44,6 +44,8 @@ buildPythonPackage rec {
     "test_hdbscan_boruvka_balltree_matches"
   ];
 
+  pythonImportsCheck = [ "hdbscan" ];
+
   meta = with lib; {
     description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API";
     homepage =  "https://github.com/scikit-learn-contrib/hdbscan";
diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix
index 7b92aeb269df4..ecdfb790ebcad 100644
--- a/pkgs/development/python-modules/hstspreload/default.nix
+++ b/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2021.8.1";
+  version = "2021.9.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "0si22p461qydh874gkidiar89hrfx7lm7r7g6d1qi7lz8wlwcplv";
+    sha256 = "sha256-CZlXnRe4yA6VJF48t73m2PbBRFzg0XTgT7J1N83Ojc4=";
   };
 
   # tests require network connection
diff --git a/pkgs/development/python-modules/httpretty/default.nix b/pkgs/development/python-modules/httpretty/default.nix
index f0c0b9b2ee99c..78a5296661390 100644
--- a/pkgs/development/python-modules/httpretty/default.nix
+++ b/pkgs/development/python-modules/httpretty/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "httpretty";
-  version = "1.1.3";
+  version = "1.1.4";
 
   # drop this for version > 0.9.7
   # Flaky tests: https://github.com/gabrielfalcao/HTTPretty/pull/394
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "229ade39175ea4324e767f29dc24e5f846fbc72bf80e1a919b2547a6574ff601";
+    sha256 = "20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/httptools/default.nix b/pkgs/development/python-modules/httptools/default.nix
index 54b512be1fd49..0a5b510b0ad9c 100644
--- a/pkgs/development/python-modules/httptools/default.nix
+++ b/pkgs/development/python-modules/httptools/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "httptools";
-  version = "0.2.0";
+  version = "0.3.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "94505026be56652d7a530ab03d89474dc6021019d6b8682281977163b3471ea0";
+    sha256 = "3f9b4856d46ba1f0c850f4e84b264a9a8b4460acb20e865ec00978ad9fbaa4cf";
   };
 
   # tests are not included in pypi tarball
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 6a9300566d59a..014272bcc107e 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , brotlicffi
 , certifi
+, charset-normalizer
 , h2
 , httpcore
 , rfc3986
@@ -18,19 +19,20 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.18.2";
+  version = "0.19.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "0rr5b6z96yipvp4riqmmbkbcy0sdyzykcdwf5y9ryh27pxr8q8x4";
+    sha256 = "sha256-bUxxeUYqOHBmSL2gPQG5cIq6k5QY4Kyhj9ToA5yZXPA=";
   };
 
   propagatedBuildInputs = [
     brotlicffi
     certifi
+    charset-normalizer
     h2
     httpcore
     rfc3986
diff --git a/pkgs/development/python-modules/humanize/default.nix b/pkgs/development/python-modules/humanize/default.nix
index 4c5bd0e3af25a..85ec6257ea5de 100644
--- a/pkgs/development/python-modules/humanize/default.nix
+++ b/pkgs/development/python-modules/humanize/default.nix
@@ -9,13 +9,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.9.0";
+  version = "3.11.0";
   pname = "humanize";
   disabled = isPy27; # setup.py no longer compatible
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "892a5b7b87763c4c6997a58382c2b1f4614048a2e01c23ef1bb0456e6f9d4d5d";
+    sha256 = "4160cdc63fcd0daac27d2e1e218a31bb396fc3fe5712d153675d89432a03778f";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index 35f53864eb9d0..4d0a1713d9543 100644
--- a/pkgs/development/python-modules/hypothesis/default.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
@@ -18,14 +18,14 @@ buildPythonPackage rec {
   # If you need these, you can just add them to your environment.
 
   pname = "hypothesis";
-  version = "6.14.0";
+  version = "6.17.3";
 
   # Use github tarballs that includes tests
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "hypothesis-python-${version}";
-    sha256 = "0yns81j3fnpdfaphk722xcnidqhgy0kmd7ik6aw7l795l0wivhxj";
+    sha256 = "1g96q3l97lq3xps36cv147dvj44nh1b0k67z817x7zfwyw844sgn";
   };
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
diff --git a/pkgs/development/python-modules/hypothesmith/default.nix b/pkgs/development/python-modules/hypothesmith/default.nix
index 4bf1ca8d02f7c..0d175989271ce 100644
--- a/pkgs/development/python-modules/hypothesmith/default.nix
+++ b/pkgs/development/python-modules/hypothesmith/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hypothesmith";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+f8EexXE7TEs49pX6idXD4bWtTzhKvnyXlnmV2oAQQo=";
+    sha256 = "039fd6aa0102f89df9df7ad4cff70aa8068678c13c3be2713c92568917317a04";
   };
 
   propagatedBuildInputs = [ hypothesis lark-parser libcst ];
diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 8e7f4832c2546..cc7572499da19 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -1,11 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, codecov
 , pyjwt
-, pylint
 , pytestCheckHook
-, pytest-cov
 , python-dateutil
 , requests
 , responses
@@ -14,30 +11,27 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.10.0";
+  version = "3.11.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab9520be99066ec41a24e31ac653c28953adc8fc349f0fa53a598e1802a79cd6";
+    sha256 = "c855d0111dd570f36497cdb8c11510ae8d14fb70698f20529e19f88485266233";
   };
 
-  checkInputs = [
-    codecov
-    pylint
-    pytestCheckHook
-    pytest-cov
-    responses
-    tox
-  ];
-
   propagatedBuildInputs = [
     pyjwt
     python-dateutil
     requests
   ];
 
-  # Various tests try to access credential files which are not included with the source distribution
+  checkInputs = [
+    pytestCheckHook
+    responses
+    tox
+  ];
+
   disabledTests = [
+    # Various tests try to access credential files which are not included with the source distribution
     "test_configure_service"
     "test_cp4d_authenticator"
     "test_cwd"
@@ -49,6 +43,12 @@ buildPythonPackage rec {
     "test_iam"
     "test_read_external_sources_2"
     "test_retry_config_external"
+    # assertion error due to requests brotli support
+    "test_http_client"
+  ];
+
+  disabledTestPaths = [
+    "test/test_container_token_manager.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ibm-watson/default.nix b/pkgs/development/python-modules/ibm-watson/default.nix
index 49e4541143e96..9e5198a1cb308 100644
--- a/pkgs/development/python-modules/ibm-watson/default.nix
+++ b/pkgs/development/python-modules/ibm-watson/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "ibm-watson";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchFromGitHub {
     owner = "watson-developer-cloud";
     repo = "python-sdk";
     rev = "v${version}";
-    sha256 = "sha256-bK6lcTKAVwAJDb5LqKRWR/4wcOKx7bRwWYC+WB5qJE4=";
+    sha256 = "0i0zs38hqgh2510b3690nrq2pvx7wcdlv9iyjgsrfl7gid8qi3ng";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
index 9d1755d81b97f..a249b2dbfe19d 100644
--- a/pkgs/development/python-modules/imageio-ffmpeg/default.nix
+++ b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "imageio-ffmpeg";
-  version = "0.4.4";
+  version = "0.4.5";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73640a7a54f95e607addd637c766d56be31d975a64ddb97d14df012575ef1a5d";
+    sha256 = "f2ea4245a2adad25dedf98d343159579167e549ac8c4691cef5eff980e20c139";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index d1cecdda42d9b..ef13bf471e16b 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.44.0";
+  version = "0.46.0";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    sha256 = "sha256-C9396yRSowaLe3E1s+rw8bah77znjfoIhLwJpcqhN6Y=";
+    sha256 = "08a4p4q96zz6qp3cy7hs5jn9h2gf68d8zchw4w0kk83sm1r8rpxw";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/imdbpy/default.nix b/pkgs/development/python-modules/imdbpy/default.nix
index dea62f0800938..ab7575f99be89 100644
--- a/pkgs/development/python-modules/imdbpy/default.nix
+++ b/pkgs/development/python-modules/imdbpy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "IMDbPY";
-  version = "2020.9.25";
+  version = "2021.4.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p3j9j1jcgbw4626cvgpryhvczy9gzlg0laz6lflgq17m129gin2";
+    sha256 = "af57f03638ba3b8ab3d696bfef0eeaf6414385c85f09260aba0a16b32174853f";
   };
 
   patches = [ ./sql_error.patch ]; # Already fixed in master, but not yet in the current release. This can be removed upon the next version update
diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix
index 42a1d7c4ffdbd..cd598d602a297 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.6.1";
+  version = "2.8.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5fb8786bcad53762648ddacb008d18b49704ba5c011ade240004bfc5a628b4f6";
+    sha256 = "ffba627a638fe233bbef03e91af6063c1e5d62405327219b03f0abf50196a95b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/immutabledict/default.nix b/pkgs/development/python-modules/immutabledict/default.nix
index 54fef8720ca5a..b45b852f85fcd 100644
--- a/pkgs/development/python-modules/immutabledict/default.nix
+++ b/pkgs/development/python-modules/immutabledict/default.nix
@@ -7,22 +7,16 @@
 
 buildPythonPackage rec {
   pname = "immutabledict";
-  version = "2.1.0";
+  version = "2.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "corenting";
     repo = "immutabledict";
     rev = "v${version}";
-    sha256 = "1n71154nfb6vr41iv00xcwkxmwnn1vwzbr3s23bjvlhvmnjb48a8";
+    sha256 = "sha256-Jf7ad3ImPfEvCBrUZ1NVXMCBqwLmd0hwpKfe9rVsehc=";
   };
 
-  # https://github.com/corenting/immutabledict/issues/56
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "poetry.masonry.api" "poetry.core.masonry.api"
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index d430c4cf29c20..d67a6c9475170 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "4.0.1";
+  version = "4.6.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    sha256 = "sha256-jFARluSfud9d9DgzvbHkMo9khHdj7IpQcDFItzeE1YE=";
+    sha256 = "sha256-ezCnjbKSLXim9H+zBoMVahTzxqpcwj93zIln6astAC8=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/importlib-resources/default.nix b/pkgs/development/python-modules/importlib-resources/default.nix
index 2388fb1b26df1..ca361f5b1191c 100644
--- a/pkgs/development/python-modules/importlib-resources/default.nix
+++ b/pkgs/development/python-modules/importlib-resources/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "importlib-resources";
-  version = "5.1.2";
+  version = "5.2.2";
 
   src = fetchPypi {
     pname = "importlib_resources";
     inherit version;
-    sha256 = "642586fc4740bd1cad7690f836b3321309402b20b332529f25617ff18e8e1370";
+    sha256 = "sha256-pliCpND+X79wInNFa6LOdP5EiSwl5C4FespSa3AqbUs=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/inflect/default.nix b/pkgs/development/python-modules/inflect/default.nix
index 9081a30ac6be9..ca454d432317d 100644
--- a/pkgs/development/python-modules/inflect/default.nix
+++ b/pkgs/development/python-modules/inflect/default.nix
@@ -3,7 +3,6 @@
 , fetchPypi
 , isPy27
 , setuptools-scm
-, toml
 , pytestCheckHook
 }:
 
@@ -17,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "41a23f6788962e9775e40e2ecfb1d6455d02de315022afeedd3c5dc070019d73";
   };
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   checkInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/inform/default.nix b/pkgs/development/python-modules/inform/default.nix
index 2397c0bc4db69..9ef6fd1e0a1d9 100644
--- a/pkgs/development/python-modules/inform/default.nix
+++ b/pkgs/development/python-modules/inform/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "inform";
-  version = "1.24";
+  version = "1.25";
 
   src = fetchFromGitHub {
     owner = "KenKundert";
     repo = "inform";
     rev = "v${version}";
-    sha256 = "114cyff00j9r7qm2ld4w1a4kklr5gx570vk67p56gpr2553dkmly";
+    sha256 = "1r56wmn21c7ggy33548l6dfjswhadkp2iaalfb7xgsxmq7qfcnax";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/intake/default.nix b/pkgs/development/python-modules/intake/default.nix
index fff6d74b56a15..3a959b8972160 100644
--- a/pkgs/development/python-modules/intake/default.nix
+++ b/pkgs/development/python-modules/intake/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "intake";
-  version = "0.6.2";
+  version = "0.6.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0cab1d185a703acb38eecb9cff3edd5cc7004fe18a36d5e42a8f7fffc9cca1c";
+    sha256 = "f64543353f30d9440b953984f78b7a0954e5756d70c64243609d307ba488014f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/invoke/default.nix b/pkgs/development/python-modules/invoke/default.nix
index 08d72cec4961a..45c341c209cfa 100644
--- a/pkgs/development/python-modules/invoke/default.nix
+++ b/pkgs/development/python-modules/invoke/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "invoke";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0c560075b5fb29ba14dad44a7185514e94970d1b9d57dcd3723bec5fed92650";
+    sha256 = "374d1e2ecf78981da94bfaf95366216aaec27c2d6a7b7d5818d92da55aa258d3";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 0d44c406349dd..0418189009786 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -1,56 +1,39 @@
 { lib
 , stdenv
 , buildPythonPackage
+, callPackage
 , fetchPypi
-, flaky
+, debugpy
 , ipython
 , jupyter_client
-, traitlets
 , tornado
+, traitlets
 , pythonOlder
-, pytestCheckHook
-, nose
 }:
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "5.5.5";
+  version = "6.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e976751336b51082a89fc2099fb7f96ef20f535837c398df6eab1283c2070884";
+    sha256 = "5314690a638f893e2cc3bf3d25042920e9fbb873f7d8263033390264caeb95f4";
   };
 
-  propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ];
-
-  checkInputs = [ pytestCheckHook nose flaky ];
-  dontUseSetuptoolsCheck = true;
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-  disabledTests = lib.optionals stdenv.isDarwin ([
-    # see https://github.com/NixOS/nixpkgs/issues/76197
-    "test_subprocess_print"
-    "test_subprocess_error"
-    "test_ipython_start_kernel_no_userns"
+  propagatedBuildInputs = [
+    debugpy
+    ipython
+    jupyter_client
+    tornado
+    traitlets
+  ];
 
-    # https://github.com/ipython/ipykernel/issues/506
-    "test_unc_paths"
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    # flaky test https://github.com/ipython/ipykernel/issues/485
-    "test_shutdown"
+  # check in passthru.tests.pytest to escape infinite recursion with ipyparallel
+  doCheck = false;
 
-    # test regression https://github.com/ipython/ipykernel/issues/486
-    "test_sys_path_profile_dir"
-    "test_save_history"
-    "test_help_output"
-    "test_write_kernel_spec"
-    "test_ipython_start_kernel_userns"
-    "ZMQDisplayPublisherTests"
-  ]);
-
-  # Some of the tests use localhost networking.
-  __darwinAllowLocalNetworking = true;
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
 
   meta = {
     description = "IPython Kernel for Jupyter";
diff --git a/pkgs/development/python-modules/ipykernel/tests.nix b/pkgs/development/python-modules/ipykernel/tests.nix
new file mode 100644
index 0000000000000..9375dbc2bfdcb
--- /dev/null
+++ b/pkgs/development/python-modules/ipykernel/tests.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, pythonOlder
+, flaky
+, ipykernel
+, ipyparallel
+, nose
+, pytestCheckHook
+
+}:
+
+buildPythonPackage rec {
+  pname = "ipykernel-tests";
+  inherit (ipykernel) version;
+
+  src = ipykernel.src;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    flaky
+    ipykernel
+    ipyparallel
+    nose
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  disabledTests = lib.optionals stdenv.isDarwin ([
+    # see https://github.com/NixOS/nixpkgs/issues/76197
+    "test_subprocess_print"
+    "test_subprocess_error"
+    "test_ipython_start_kernel_no_userns"
+
+    # https://github.com/ipython/ipykernel/issues/506
+    "test_unc_paths"
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    # flaky test https://github.com/ipython/ipykernel/issues/485
+    "test_shutdown"
+
+    # test regression https://github.com/ipython/ipykernel/issues/486
+    "test_sys_path_profile_dir"
+    "test_save_history"
+    "test_help_output"
+    "test_write_kernel_spec"
+    "test_ipython_start_kernel_userns"
+    "ZMQDisplayPublisherTests"
+  ]);
+
+  # Some of the tests use localhost networking.
+  __darwinAllowLocalNetworking = true;
+}
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index e036a3378643e..548ba874cd708 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.24.1";
+  version = "7.27.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9bc24a99f5d19721fb8a2d1408908e9c0520a17fff2233ffe82620847f17f1b6";
+    sha256 = "58b55ebfdfa260dad10d509702dc2857cb25ad82609506b070cf2d7b7df5af13";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/irc/default.nix b/pkgs/development/python-modules/irc/default.nix
index 60a960a204c44..423ec4ecf292c 100644
--- a/pkgs/development/python-modules/irc/default.nix
+++ b/pkgs/development/python-modules/irc/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k
 , six, jaraco_logging, jaraco_text, jaraco_stream, pytz, jaraco_itertools
-, setuptools-scm, jaraco_collections, importlib-metadata, toml
+, setuptools-scm, jaraco_collections, importlib-metadata
 }:
 
 buildPythonPackage rec {
@@ -28,7 +28,6 @@ buildPythonPackage rec {
     pytz
     jaraco_itertools
     jaraco_collections
-    toml
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix
index 736588aa45041..918d8be8e9f16 100644
--- a/pkgs/development/python-modules/islpy/default.nix
+++ b/pkgs/development/python-modules/islpy/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "islpy";
-  version = "2020.2.2";
+  version = "2021.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7eb7dfa41d6a67d9ee4ea4bb9f08bdbcbee42b364502136b7882cfd80ff427e0";
+    sha256 = "b3f49de925149dbf2482e648016507cd66d0dce6668a1bc4de5e7a937e9c576d";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/python-modules/isort/default.nix b/pkgs/development/python-modules/isort/default.nix
index 1195f0f6b097d..b55fb9156814c 100644
--- a/pkgs/development/python-modules/isort/default.nix
+++ b/pkgs/development/python-modules/isort/default.nix
@@ -6,17 +6,16 @@
 , pytestCheckHook
 }:
 
-let
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "isort";
-  version = "5.6.4";
+  version = "5.9.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = "isort";
     rev = version;
-    sha256 = "1m7jpqssnbsn1ydrw1dn7nrcrggqcvj9v6mk5ampxmvk94xd2r2q";
+    sha256 = "sha256-JbRZ/3Xz35tGoCNnQesR08Sjoz3yimxZyxhhOXGvmXw=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +45,7 @@ in buildPythonPackage rec {
   '';
 
   pytestFlagsArray = [
+    "--ignore=tests/benchmark/" # requires pytest-benchmark
     "--ignore=tests/integration/" # pulls in 10 other packages
     "--ignore=tests/unit/profiles/test_black.py" # causes infinite recursion to include black
   ];
@@ -63,6 +63,7 @@ in buildPythonPackage rec {
     # plugin not available
     "test_isort_literals_issue_1358"
     "test_isort_supports_formatting_plugins_issue_1353"
+    "test_sort_configurable_sort_issue_1732"
     "test_value_assignment_list"
     # profiles not available
     "test_isort_supports_shared_profiles_issue_970"
diff --git a/pkgs/development/python-modules/iterm2/default.nix b/pkgs/development/python-modules/iterm2/default.nix
index 3b98f25c566f6..a1b777c1bb769 100644
--- a/pkgs/development/python-modules/iterm2/default.nix
+++ b/pkgs/development/python-modules/iterm2/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "iterm2";
-  version = "1.21";
+  version = "1.27";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06be59e0314a2f0f32753eb2d44eb563e85253875bc8da64df5b4eeba7fc05bd";
+    sha256 = "dcbd89d0502e72a9a41b055f5cf10b5a991f60fb12df29918d9c2183d1389abd";
   };
 
   propagatedBuildInputs = [ protobuf websockets ];
diff --git a/pkgs/development/python-modules/jaraco_classes/default.nix b/pkgs/development/python-modules/jaraco_classes/default.nix
index a727e774ec301..aadb9f9028f16 100644
--- a/pkgs/development/python-modules/jaraco_classes/default.nix
+++ b/pkgs/development/python-modules/jaraco_classes/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy27
-, setuptools-scm, toml
+, setuptools-scm
 , more-itertools
 , pytestCheckHook
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [ more-itertools ];
 
diff --git a/pkgs/development/python-modules/jaraco_collections/default.nix b/pkgs/development/python-modules/jaraco_collections/default.nix
index 060d45938118b..46f2bfdff3fc1 100644
--- a/pkgs/development/python-modules/jaraco_collections/default.nix
+++ b/pkgs/development/python-modules/jaraco_collections/default.nix
@@ -4,10 +4,10 @@
 
 buildPythonPackage rec {
   pname = "jaraco.collections";
-  version = "3.3.0";
+  version = "3.4.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3662267424b55f10bf15b6f5dee6a6e48a2865c0ec50cc7a16040c81c55a98dc";
+    sha256 = "344d14769d716e7496af879ac71b3c6ebdd46abc64bd9ec21d15248365aa3ac9";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/pkgs/development/python-modules/jaraco_functools/default.nix b/pkgs/development/python-modules/jaraco_functools/default.nix
index 1fca58ebf733d..3ad652af7643a 100644
--- a/pkgs/development/python-modules/jaraco_functools/default.nix
+++ b/pkgs/development/python-modules/jaraco_functools/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, setuptools-scm, toml
+, setuptools-scm
 , more-itertools, backports_functools_lru_cache }:
 
 buildPythonPackage rec {
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "bfcf7da71e2a0e980189b0744b59dba6c1dcf66dcd7a30f8a4413e478046b314";
   };
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [ more-itertools backports_functools_lru_cache ];
 
diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix
index 3126ab9996748..32e8aa23aeb4f 100644
--- a/pkgs/development/python-modules/jaraco_text/default.nix
+++ b/pkgs/development/python-modules/jaraco_text/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "jaraco.text";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f07f1076814a17a98eb915948b9a0dc71b1891c833588066ec1feb04ea4389b1";
+    sha256 = "ede4e9103443b62b3d1d193257dfb85aab7c69a6cef78a0887d64bb307a03bc3";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/pkgs/development/python-modules/jeepney/default.nix b/pkgs/development/python-modules/jeepney/default.nix
index 2acf0361bcbce..3079f152e4444 100644
--- a/pkgs/development/python-modules/jeepney/default.nix
+++ b/pkgs/development/python-modules/jeepney/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, async-timeout
 , dbus
 , pytest
 , pytest-trio
@@ -12,16 +13,17 @@
 
 buildPythonPackage rec {
   pname = "jeepney";
-  version = "0.7.0";
+  version = "0.7.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1237cd64c8f7ac3aa4b3f332c4d0fb4a8216f39eaa662ec904302d4d77de5a54";
+    sha256 = "fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f";
   };
 
   checkInputs = [
+    async-timeout
     dbus
     pytest
     pytest-trio
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
index a3f790abfc516..c7d8207aa3d95 100644
--- a/pkgs/development/python-modules/jira/default.nix
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -1,34 +1,56 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
-, pytest, pytest-runner, pbr, glibcLocales , pytest-cov
-, requests, requests_oauthlib, requests-toolbelt, defusedxml
-, ipython
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, defusedxml
+, flaky
+, keyring
+, requests-mock
+, requests_oauthlib
+, requests-toolbelt
+, setuptools-scm
+, setuptools-scm-git-archive
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "jira";
-  version = "2.0.0";
+  version = "3.0.1";
 
-  PBR_VERSION = version;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e2a94adff98e45b29ded030adc76103eab34fa7d4d57303f211f572bedba0e93";
+  src = fetchFromGitHub {
+    owner = "pycontribs";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-hAUAzkHPXFDlKEom+dkzr8GQ+sqK2Ci1/k+QuSNvifE=";
   };
 
-  buildInputs = [ glibcLocales pytest pytest-cov pytest-runner pbr ];
-  propagatedBuildInputs = [ requests requests_oauthlib requests-toolbelt defusedxml pbr ipython ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report=xml --cov jira" ""
+  '';
 
-  # impure tests because of connectivity attempts to jira servers
-  doCheck = false;
+  nativeBuildInputs = [ setuptools-scm setuptools-scm-git-archive ];
 
-  patches = [ ./sphinx-fix.patch ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  LC_ALL = "en_US.utf8";
+  propagatedBuildInputs = [
+    defusedxml
+    keyring
+    requests_oauthlib
+    requests-toolbelt
+  ];
 
-  disabled = !isPy3k;
+  checkInputs = [
+    flaky
+    pytestCheckHook
+    requests-mock
+  ];
+
+  # impure tests because of connectivity attempts to jira servers
+  doCheck = false;
 
   meta = with lib; {
     description = "This library eases the use of the JIRA REST API from Python.";
+    homepage = "https://github.com/pycontribs/jira";
     license = licenses.bsd2;
     maintainers = with maintainers; [ globin ];
   };
diff --git a/pkgs/development/python-modules/jira/sphinx-fix.patch b/pkgs/development/python-modules/jira/sphinx-fix.patch
deleted file mode 100644
index ccc47ac4b9cf9..0000000000000
--- a/pkgs/development/python-modules/jira/sphinx-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/setup.py b/setup.py
-index c49a24d..31aeec2 100644
---- a/setup.py
-+++ b/setup.py
-@@ -11,5 +11,5 @@ except ImportError:
- 
- 
- setuptools.setup(
--    setup_requires=['pbr>=3.0.0', 'setuptools>=17.1', 'pytest-runner', 'sphinx>=1.6.5'],
-+    setup_requires=['pbr>=3.0.0', 'setuptools>=17.1', 'pytest-runner'],
-     pbr=True)
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index 1b352f1e24c92..f4eb9190aa4b5 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -12,13 +12,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2021.3.0";
+  version = "2021.8.0";
   pname = "jupyter-repo2docker";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42e0cf67181bdd03b54dabde695befec0586ed68a4ec1240104e209997d776c4";
+    sha256 = "9d1b3c3ec7944ea6b0a234d6fa77293a2d1ed1c080eba8466aba94f811b3465d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter_client/default.nix b/pkgs/development/python-modules/jupyter_client/default.nix
index fbc37c3f581b2..e30b3cb63a713 100644
--- a/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/pkgs/development/python-modules/jupyter_client/default.nix
@@ -1,30 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, traitlets
+, entrypoints
 , jupyter_core
-, pyzmq
+, nest-asyncio
 , python-dateutil
+, pyzmq
+, tornado
+, traitlets
 , isPyPy
 , py
-, tornado
 }:
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "6.1.12";
+  version = "7.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4bca1d0846186ca8be97f4d2fa6d2bae889cce4892a167ffa1ba6bd1f73e782";
+    sha256 = "0c6cabd07e003a2e9692394bf1ae794188ad17d2e250ed747232d7a473aa772c";
   };
 
   propagatedBuildInputs = [
-    traitlets
+    entrypoints
     jupyter_core
-    pyzmq
+    nest-asyncio
     python-dateutil
+    pyzmq
     tornado
+    traitlets
   ] ++ lib.optional isPyPy py;
 
   # Circular dependency with ipykernel
diff --git a/pkgs/development/python-modules/jupyter_server/default.nix b/pkgs/development/python-modules/jupyter_server/default.nix
index 72e1540e07816..3150235fcc7a6 100644
--- a/pkgs/development/python-modules/jupyter_server/default.nix
+++ b/pkgs/development/python-modules/jupyter_server/default.nix
@@ -25,12 +25,12 @@
 
 buildPythonPackage rec {
   pname = "jupyter_server";
-  version = "1.8.0";
+  version = "1.10.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f0c75e0a577536125ad62a442ebb7cf02746f1a69d907e8a273c6225d281237";
+    sha256 = "d3a3b68ebc6d7bfee1097f1712cf7709ee39c92379da2cc08724515bb85e72bf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab-git/default.nix b/pkgs/development/python-modules/jupyterlab-git/default.nix
index 67769e24b3280..dbff1660b1cc5 100644
--- a/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab_git";
-  version = "0.30.1";
+  version = "0.32.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f44a33cf59b424e0b5ff984b18eae33e45dab1ef9dc1901b1dd23f9adff15df2";
+    sha256 = "4c5743a05150ed7736e028aac15787a66735f160e9ae198dacc5a4bd1a727ce2";
   };
 
   propagatedBuildInputs = [ notebook nbdime git ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 6264bbb5c44e6..21255bba94f28 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.1.6";
+  version = "3.1.9";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d2ada6a333861f33a1b555d3cb7b07aa9d1ab80f07997b3d0c43878a98c1174";
+    sha256 = "007e42f833e59fd36872d459e45be243d899edbd0e4a98d21388632e4e0d8af7";
   };
 
   nativeBuildInputs = [ jupyter-packaging ];
diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix
index cca40463b0242..2c54fa9da7f77 100644
--- a/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "2.7.0";
+  version = "2.7.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "31457ef564febc42043bc539356c804f6f9144f602e2852150bf0820ed6d7e18";
+    sha256 = "c6c9ae5796ed60c65bccd84503cbd44b9e35b046b8265f24db3cc4d61631fc0d";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/k5test/default.nix b/pkgs/development/python-modules/k5test/default.nix
index 80b62f1e44831..0079194f4fa71 100644
--- a/pkgs/development/python-modules/k5test/default.nix
+++ b/pkgs/development/python-modules/k5test/default.nix
@@ -2,19 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , substituteAll
-, six
 , krb5Full
 , findutils
 , which
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "k5test";
-  version = "0.9.2";
+  version = "0.10.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lqp3jgfngyhaxjgj3n230hn90wsylwilh120yjf62h7b1s02mh8";
+    sha256 = "fc5e7e5e286b2f331c1396c33f2a1cd8cf34e78d8d482168a50ffd8576a1455c";
   };
 
   patches = [
@@ -27,17 +29,15 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [
-    six
-  ];
-
   # No tests
   doCheck = false;
 
+  pythonImportsCheck = [ "k5test" ];
+
   meta = with lib; {
     description = "Library for setting up self-contained Kerberos 5 environment";
     homepage = "https://github.com/pythongssapi/k5test";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/k5test/fix-paths.patch b/pkgs/development/python-modules/k5test/fix-paths.patch
index f99835b5f2a32..dc6caf8158099 100644
--- a/pkgs/development/python-modules/k5test/fix-paths.patch
+++ b/pkgs/development/python-modules/k5test/fix-paths.patch
@@ -45,42 +45,74 @@ index e289fac..e2f486a 100644
      if options_raw:
          return options_raw.split('\n')
 diff --git a/k5test/realm.py b/k5test/realm.py
-index f57946b..ad78579 100644
+index 161e5ad..9f50049 100644
 --- a/k5test/realm.py
 +++ b/k5test/realm.py
-@@ -181,19 +181,13 @@ class K5Realm(object):
-             return path
+@@ -90,7 +90,7 @@ class K5Realm(metaclass=abc.ABCMeta):
+ 
+         if provider_cls == K5Realm:
+             krb5_config = _discover_path('krb5-config',
+-                                         '/usr/bin/krb5-config', kwargs)
++                                         '@krb5Full@/bin/krb5-config', kwargs)
+ 
+             try:
+                 krb5_version = subprocess.check_output(
+@@ -101,7 +101,7 @@ class K5Realm(metaclass=abc.ABCMeta):
+                 # macOS output doesn't contain Heimdal
+                 if 'heimdal' in krb5_version.lower() or (
+                         sys.platform == 'darwin' and
+-                        krb5_config == '/usr/bin/krb5-config'):
++                        krb5_config == '@krb5Full@/bin/krb5-config'):
+                     provider_cls = HeimdalRealm
+                 else:
+                     provider_cls = MITRealm
+@@ -434,14 +434,14 @@ class MITRealm(K5Realm):
+     @property
+     def _default_paths(self):
+         return [
+-            ('kdb5_util', 'kdb5_util', '/usr/sbin/kdb5_util'),
+-            ('krb5kdc', 'krb5kdc', '/usr/sbin/kdb5kdc'),
+-            ('kadmin', 'kadmin', '/usr/bin/admin'),
+-            ('kadmin_local', 'kadmin.local', '/usr/sbin/kadmin.local'),
+-            ('kadmind', 'kadmind', '/usr/sbin/kadmind'),
+-            ('kprop', 'kprop', '/usr/sbin/kprop'),
+-            ('_kinit', 'kinit', '/usr/bin/kinit'),
+-            ('_klist', 'klist', '/usr/bin/klist'),
++            ('kdb5_util', 'kdb5_util', '@krb5Full@/bin/kdb5_util'),
++            ('krb5kdc', 'krb5kdc', '@krb5Full@/bin/kdb5kdc'),
++            ('kadmin', 'kadmin', '@krb5Full@/bin/admin'),
++            ('kadmin_local', 'kadmin.local', '@krb5Full@/bin/kadmin.local'),
++            ('kadmind', 'kadmind', '@krb5Full@/bin/kadmind'),
++            ('kprop', 'kprop', '@krb5Full@/bin/kprop'),
++            ('_kinit', 'kinit', '@krb5Full@/bin/kinit'),
++            ('_klist', 'klist', '@krb5Full@/bin/klist'),
+         ]
+ 
+     @property
+@@ -585,12 +585,12 @@ class HeimdalRealm(K5Realm):
  
-     def _init_paths(self, **paths):
--        self.kdb5_util = self._discover_path('kdb5_util',
--                                             '/usr/sbin/kdb5_util', paths)
--        self.krb5kdc = self._discover_path('krb5kdc',
--                                           '/usr/sbin/krb5kdc', paths)
--        self.kadmin_local = self._discover_path('kadmin_local',
--                                                '/usr/sbin/kadmin.local',
--                                                paths)
--        self.kprop = self._discover_path('kprop', '/usr/sbin/kprop', paths)
--        self.kadmind = self._discover_path('kadmind',
--                                           '/usr/sbin/kadmind', paths)
--
--        self._kinit = self._discover_path('kinit', '/usr/bin/kinit', paths)
--        self._klist = self._discover_path('klist', '/usr/bin/klist', paths)
-+        self.kdb5_util = '@krb5Full@/bin/kdb5_util'
-+        self.krb5kdc = '@krb5Full@/bin/krb5kdc'
-+        self.kadmin_local = '@krb5Full@/bin/kadmin.local'
-+        self.kprop = '@krb5Full@/bin/kprop'
-+        self.kadmind = '@krb5Full@/bin/kadmind'
-+        self._kinit = '@krb5Full@/bin/kinit'
-+        self._klist = '@krb5Full@/bin/klist'
+         return [
+             ('krb5kdc', 'kdc', os.path.join(base, 'kdc')),
+-            ('kadmin', 'kadmin', '/usr/bin/kadmin'),
+-            ('kadmin_local', 'kadmin', '/usr/bin/kadmin'),
++            ('kadmin', 'kadmin', '@krb5Full@/bin/kadmin'),
++            ('kadmin_local', 'kadmin', '@krb5Full@/bin/kadmin'),
+             ('kadmind', 'kadmind', os.path.join(base, 'kadmind')),
+-            ('_kinit', 'kinit', '/usr/bin/kinit'),
+-            ('_klist', 'klist', '/usr/bin/klist'),
+-            ('_ktutil', 'ktutil', '/usr/bin/ktutil'),
++            ('_kinit', 'kinit', '@krb5Full@/bin/kinit'),
++            ('_klist', 'klist', '@krb5Full@/bin/klist'),
++            ('_ktutil', 'ktutil', '@krb5Full@/bin/ktutil'),
+         ]
  
-     def _create_conf(self, profile, filename):
-         with open(filename, 'w') as conf_file:
+     @property
 diff --git a/k5test/unit.py b/k5test/unit.py
-index 4ee7f98..543d662 100644
+index 3c64b9e..59da1ab 100644
 --- a/k5test/unit.py
 +++ b/k5test/unit.py
 @@ -38,7 +38,7 @@ _KRB_VERSION = None
- def krb_minversion_test(target_version, problem):
+ def krb_minversion_test(target_version, problem, provider=None):
      global _KRB_VERSION
      if _KRB_VERSION is None:
 -        _KRB_VERSION = _utils.get_output("krb5-config --version")
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index cea38abee395f..cf765c06d8691 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "23.0.1";
+  version = "23.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "045703609dd3fccfcdb27da201684278823b72af515aedec1a8515719a038cb8";
+    sha256 = "b7e0156667f5dcc73c1f63a518005cd18a4eb23fe77321194fefcc03748b21a4";
   };
 
   nativeBuildInputs = [
@@ -48,6 +48,9 @@ buildPythonPackage rec {
   disabledTests = lib.optionals (stdenv.isDarwin) [
     "test_multiprocess_get"
     "test_multiprocess_get_after_native_get"
+  ] ++ [
+    # E       ValueError: too many values to unpack (expected 1)
+    "test_entry_point"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/keyrings-alt/default.nix b/pkgs/development/python-modules/keyrings-alt/default.nix
index abcd04a1d307a..a45be02b55b28 100644
--- a/pkgs/development/python-modules/keyrings-alt/default.nix
+++ b/pkgs/development/python-modules/keyrings-alt/default.nix
@@ -1,15 +1,15 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder, isPy27, six
-, pytest, backports_unittest-mock, keyring, setuptools-scm, toml
+, pytest, backports_unittest-mock, keyring, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "keyrings.alt";
-  version = "4.0.2";
+  version = "4.1.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc475635099d6edd7e475c5a479e5b4da5e811a3af04495a1e9ada488d16fe25";
+    sha256 = "52ccb61d6f16c10f32f30d38cceef7811ed48e086d73e3bae86f0854352c4ab2";
   };
 
   postPatch = ''
@@ -17,7 +17,7 @@ buildPythonPackage rec {
       --replace "--flake8" ""
   '';
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ six ];
 
   checkInputs = [ pytest keyring ] ++ lib.optional (pythonOlder "3.3") backports_unittest-mock;
diff --git a/pkgs/development/python-modules/kiwisolver/default.nix b/pkgs/development/python-modules/kiwisolver/default.nix
index 2b157494f9193..e5649c58e465a 100644
--- a/pkgs/development/python-modules/kiwisolver/default.nix
+++ b/pkgs/development/python-modules/kiwisolver/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "kiwisolver";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248";
+    sha256 = "fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c";
   };
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix
index 952527d5cab72..e90f72b0fd255 100644
--- a/pkgs/development/python-modules/kubernetes/default.nix
+++ b/pkgs/development/python-modules/kubernetes/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "kubernetes";
-  version = "12.0.1";
+  version = "18.20.0";
 
   prePatch = ''
     sed -e 's/sphinx>=1.2.1,!=1.3b1,<1.4 # BSD/sphinx/' -i test-requirements.txt
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ec52ea01d52e2ec3da255992f7e859f3a76f2bdb51cf65ba8cd71dfc309d8daa";
+    sha256 = "0c72d00e7883375bd39ae99758425f5e6cb86388417cf7cc84305c211b2192cf";
   };
 
   checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ];
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index 423185b6f2265..5f8057df849d7 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "2.6.0";
+  version = "3.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Labelbox";
     repo = "labelbox-python";
     rev = "V${version}";
-    sha256 = "1lkvc926i3c7isqhaja6k013qgla44cdhvkx76gpdyywq53i9mcb";
+    sha256 = "0vp1lk7hipa4ixa1zcy99r9b5xb1gv54h4i0izx6fv4zf9m0gmw1";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
index 3c613d74e2725..cf82b166ec6df 100644
--- a/pkgs/development/python-modules/ldap3/default.nix
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ldap3";
-  version = "2.9";
+  version = "2.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18c3ee656a6775b9b0d60f7c6c5b094d878d1d90fc03d56731039f0a4b546a91";
+    sha256 = "f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f";
   };
 
   propagatedBuildInputs = [ pyasn1 ];
diff --git a/pkgs/development/python-modules/lexid/default.nix b/pkgs/development/python-modules/lexid/default.nix
index 4307d52d89134..5ef175d578789 100644
--- a/pkgs/development/python-modules/lexid/default.nix
+++ b/pkgs/development/python-modules/lexid/default.nix
@@ -2,13 +2,19 @@
 
 buildPythonPackage rec {
   pname = "lexid";
-  version = "2020.1005";
+  version = "2021.1006";
   disabled = pythonOlder "3.6";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52333a2b9ebd14aa0dfeb33de72bd159c2dc31adb9c59cddfc486e2b69bfdcd1";
+    sha256 = "509a3a4cc926d3dbf22b203b18a4c66c25e6473fb7c0e0d30374533ac28bafe5";
   };
 
+  prePatch = ''
+    # Disable lib3to6, since we're only building this on 3.6+ anyway.
+    substituteInPlace setup.py \
+      --replace 'if any(arg.startswith("bdist") for arg in sys.argv):' 'if False:'
+  '';
+
   propagatedBuildInputs = [ click ];
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/libarchive-c/default.nix b/pkgs/development/python-modules/libarchive-c/default.nix
index 73d99afda6745..48262398fcbf0 100644
--- a/pkgs/development/python-modules/libarchive-c/default.nix
+++ b/pkgs/development/python-modules/libarchive-c/default.nix
@@ -1,23 +1,26 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , buildPythonPackage
-, fetchPypi
-, pytest
-, glibcLocales
+, pythonAtLeast
+, fetchFromGitHub
 , libarchive
+, glibcLocales
 , mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "libarchive-c";
-  version = "2.9";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60";
+  version = "3.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "Changaco";
+    repo = "python-${pname}";
+    rev = version;
+    sha256 = "1z4lqy9zlzymshzrcldsc9ipys2l7grqg4yff6ndl6dgbfb0g4jb";
   };
 
-  checkInputs = [ mock pytest glibcLocales ];
-
   LC_ALL="en_US.UTF-8";
 
   postPatch = ''
@@ -25,9 +28,20 @@ buildPythonPackage rec {
       "find_library('archive')" "'${libarchive.lib}/lib/libarchive${stdenv.hostPlatform.extensions.sharedLibrary}'"
   '';
 
-  checkPhase = ''
-    py.test tests -k 'not test_check_archiveentry_with_unicode_entries_and_name_zip and not test_check_archiveentry_using_python_testtar'
-  '';
+  pythonImportsCheck = [
+    "libarchive"
+  ];
+
+  checkInputs = [
+    glibcLocales
+    mock
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals (pythonAtLeast "3.9") [
+    # causes python3.9 to segfault
+    "test_custom_writer_and_stream_reader"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/Changaco/python-libarchive-c";
diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix
index 5a1ef3b7f7374..5b950ab573971 100644
--- a/pkgs/development/python-modules/libcst/default.nix
+++ b/pkgs/development/python-modules/libcst/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "libcst";
-  version = "0.3.19";
+  version = "0.3.20";
   disabled = pythonOlder "3.6";
 
   # Some files for tests missing from PyPi
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "instagram";
     repo = pname;
     rev = "v${version}";
-    sha256 = "012g1hyaj015k2sf38a7jnpzjic0f8j97ar84d0f00w2ifzwx4ma";
+    sha256 = "063bl21gyyd25i2v0j6kz29cxxdfhng2nins4i2qblmac90f2nqy";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index c7d2221a22e2e..e3b9e3bb7c8a1 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -12,17 +12,17 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.36.0";
+  version = "0.37.0";
 
   disabled = isPyPy || !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "765128fdf5f149ed0b889ffbe2b05eb1717f8e20a5c87fa2b4018fbcce0fcfc9";
+    sha256 = "6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15";
   };
 
   nativeBuildInputs = [ llvm ];
-  propagatedBuildInputs = [ ] ++ lib.optional (pythonOlder "3.4") enum34;
+  propagatedBuildInputs = lib.optional (pythonOlder "3.4") enum34;
 
   # Disable static linking
   # https://github.com/numba/llvmlite/issues/93
@@ -31,10 +31,12 @@ buildPythonPackage rec {
 
     substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
   '';
+
   # Set directory containing llvm-config binary
   preConfigure = ''
     export LLVM_CONFIG=${llvm.dev}/bin/llvm-config
   '';
+
   checkPhase = ''
     ${python.executable} runtests.py
   '';
diff --git a/pkgs/development/python-modules/marisa-trie/default.nix b/pkgs/development/python-modules/marisa-trie/default.nix
index ade031409b411..4daa619acc4f7 100644
--- a/pkgs/development/python-modules/marisa-trie/default.nix
+++ b/pkgs/development/python-modules/marisa-trie/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "marisa-trie";
-  version = "0.7.5";
+  version = "0.7.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c73bc25d868e8c4ea7aa7f1e19892db07bba2463351269b05340ccfa06eb2baf";
+    sha256 = "bbeafb7d92839dc221365340e79d012cb50ee48a1f3f30dd916eb35a8b93db00";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix
index 8d75139dddcb3..8ed57f3ff031c 100644
--- a/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
 , pythonOlder
 , attrs
@@ -14,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "markdown-it-py";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,18 +22,9 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-GA7P2I8N+i2ISsVgx58zyhrfKMcZ7pL4X9T/trbsr1Y=";
+    sha256 = "0h7rn3rcqfwmnqs97qczwkw9w5g4df8bgn6sw7k149svfqgrkf56";
   };
 
-  patches = [
-    (fetchpatch {
-      # :arrow_up: UPGRADE: attrs -> v21 (#165)
-      # https://github.com/executablebooks/markdown-it-py/pull/165
-      url = "https://github.com/executablebooks/markdown-it-py/commit/78381ffe1a651741594dc93e693b761422512fa2.patch";
-      sha256 = "1kxhblpi4sycrs3rv50achr8g0wlgq33abg2acra26l736hlsya1";
-    })
-  ];
-
   propagatedBuildInputs = [ attrs linkify-it-py ]
     ++ lib.optional (pythonOlder "3.8") typing-extensions;
 
diff --git a/pkgs/development/python-modules/marshmallow-oneofschema/default.nix b/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
index 343c5952a434c..a4b15ce9a5440 100644
--- a/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
+++ b/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "marshmallow-oneofschema";
-  version = "2.1.0";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s0yr7nv06sfgxglghl2vq74g3m49j60k1hi2qzfsv4bj8hvs35k";
+    sha256 = "62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237";
   };
 
   propagatedBuildInputs = [ marshmallow setuptools ];
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index beddaf6810ddd..0e874d25f679e 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -17,14 +17,14 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.4.2";
+  version = "3.4.3";
   pname = "matplotlib";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219";
+    sha256 = "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw";
   };
 
   XDG_RUNTIME_DIR = "/tmp";
diff --git a/pkgs/development/python-modules/mattermostdriver/default.nix b/pkgs/development/python-modules/mattermostdriver/default.nix
index 7d9421b5d9490..6a0be0696063c 100644
--- a/pkgs/development/python-modules/mattermostdriver/default.nix
+++ b/pkgs/development/python-modules/mattermostdriver/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "mattermostdriver";
-  version = "7.3.0";
+  version = "7.3.1";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17jqcpa1xd9n7bf4d5l7wmscls34kymv27gi17pyyfjxbwk5gsga";
+    sha256 = "bf629c4b8f825bd7196208aa93995ac5077bd60939ba67cca314a7f13c1dbcea";
   };
 
   propagatedBuildInputs = [ websockets requests ];
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index f0005eef61bf5..1b8bcb2938923 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.10.5";
+  version = "0.10.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7d52d72a9739963b6d39d5e58ef367c00490a90cf7795f23c8b2e2c140c8882";
+    sha256 = "2738370469f8ce27efc37aa6e17319a4149246c9a0da822c8d81d948f0c7e1a7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/minidump/default.nix b/pkgs/development/python-modules/minidump/default.nix
index 6c00ad650bb55..589b7e351c1ec 100644
--- a/pkgs/development/python-modules/minidump/default.nix
+++ b/pkgs/development/python-modules/minidump/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "minidump";
-  version = "0.0.18";
+  version = "0.0.19";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uf4KZc9C1gWRgHu4ttk1fpL2pG8oUb79uvCIlHItB/8=";
+    sha256 = "67b3327cb96e319633653a353c6281703772335dc84797d6fdce7daf0b3be077";
   };
 
   # Upstream doesn't have tests
diff --git a/pkgs/development/python-modules/mkl-service/default.nix b/pkgs/development/python-modules/mkl-service/default.nix
index c54da3055e7cb..be0ac454ee98d 100644
--- a/pkgs/development/python-modules/mkl-service/default.nix
+++ b/pkgs/development/python-modules/mkl-service/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "mkl-service";
-  version = "2.4.0";
+  version = "2.4.0.post1";
 
   src = fetchFromGitHub {
     owner = "IntelPython";
     repo = "mkl-service";
     rev = "v${version}";
-    sha256 = "1x8j0ij582dyhay0gaqq45a2jz1m4fr8xw0v65ngviajj3cxmcpb";
+    sha256 = "0ysjn8z1hkscb4cycbrvcb93r04w5793yylsy40h5dvjd04ns5jc";
   };
 
   MKLROOT = mkl;
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index 2940c111e5dc5..b50d98513a2f9 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -25,12 +25,12 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "1.18.0";
+  version = "1.20.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8942089589d08c05c8a7fc66828c02a9233be462c421881b50bc2a0b183dfdbe";
+    sha256 = "71764443c4942f181fee2d5bf44dd74a0507bcc5b62a1f1e08079d1f40a15fc0";
   };
 
   # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
diff --git a/pkgs/development/python-modules/mne-python/default.nix b/pkgs/development/python-modules/mne-python/default.nix
index 2dfe06d51770d..912c2c52ea8ef 100644
--- a/pkgs/development/python-modules/mne-python/default.nix
+++ b/pkgs/development/python-modules/mne-python/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "mne-python";
-  version = "0.23.0";
+  version = "0.23.3";
 
   disabled = isPy27;
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "mne-tools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02fcnfsrc6sccv6x2rnx86g0zw0ivk5s8gx230g6pxfg3lap6knv";
+    sha256 = "1pil4vy4grg49i5xcrqmi43vf40lk5p4sbj5bl0fjixkklavwmhj";
   };
 
   propagatedBuildInputs = [ numpy scipy ];
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index 73a3b07a64c36..f8ff484046bb0 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "mocket";
-  version = "3.9.42";
+  version = "3.9.44";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vvlbnbypd4z1pjlvhwhd89fn0mis5acfx4v25f1mfl04k63ffah";
+    sha256 = "sha256-oeDYzhSzUXxtYhcLjXAmsi1v9vY5qCE/U9YOYxdQxrg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/monotonic/default.nix b/pkgs/development/python-modules/monotonic/default.nix
index e93bf206edaa4..d775d5157191d 100644
--- a/pkgs/development/python-modules/monotonic/default.nix
+++ b/pkgs/development/python-modules/monotonic/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "monotonic";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0";
+    sha256 = "3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7";
   };
 
   __propagatedImpureHostDeps = lib.optional stdenv.isDarwin "/usr/lib/libc.dylib";
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
index ff236d9becc43..73325c24d94c6 100644
--- a/pkgs/development/python-modules/monty/default.nix
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -5,6 +5,7 @@
 , msgpack
 , pytestCheckHook
 , numpy
+, pandas
 , pydantic
 , pymongo
 , ruamel_yaml
@@ -13,17 +14,21 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "2021.6.10";
+  version = "2021.8.17";
   disabled = pythonOlder "3.5"; # uses type annotations
 
-  # No tests in Pypi
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01fhl4pl5gj4ahph4lxcm0fmglh0bjw6jz9ckmgzviasg4l1j6h4";
+    sha256 = "0lg6d0qk6iv476rcn45p5f50kips5g9s709cxddwnk5yrz57c4d0";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_os.py \
+      --replace 'self.assertEqual("/usr/bin/find", which("/usr/bin/find"))' '#'
+  '';
+
   propagatedBuildInputs = [
     ruamel_yaml
     tqdm
@@ -33,15 +38,11 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     numpy
+    pandas
     pydantic
     pymongo
   ];
 
-  preCheck = ''
-    substituteInPlace tests/test_os.py \
-      --replace 'self.assertEqual("/usr/bin/find", which("/usr/bin/find"))' '#'
-  '';
-
   meta = with lib; {
     description = "Serves as a complement to the Python standard library by providing a suite of tools to solve many common problems";
     longDescription = "
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index c3acdbe71ec24..a353816d252e7 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
+, pythonOlder
 , numpy
 , decorator
 , imageio
@@ -9,44 +9,56 @@
 , proglog
 , requests
 , tqdm
-# Advanced image processing (triples size of output)
+  # Advanced image processing (triples size of output)
 , advancedProcessing ? false
-, opencv3 ? null
-, scikitimage ? null
-, scikit-learn ? null
-, scipy ? null
-, matplotlib ? null
-, youtube-dl ? null
+, opencv3
+, scikitimage
+, scikit-learn
+, scipy
+, matplotlib
+, youtube-dl
 }:
 
-assert advancedProcessing -> (
-  opencv3 != null && scikitimage != null && scikit-learn != null
-  && scipy != null && matplotlib != null && youtube-dl != null);
-
 buildPythonPackage rec {
   pname = "moviepy";
   version = "1.0.3";
 
-  disabled = !(pythonAtLeast "3.4");
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "decorator>=4.0.2,<5.0" "decorator>=4.0.2,<6.0"
+  '';
+
   # No tests, require network connection
   doCheck = false;
 
   propagatedBuildInputs = [
-    numpy decorator imageio imageio-ffmpeg tqdm requests proglog
-  ] ++ (lib.optionals advancedProcessing [
-    opencv3 scikitimage scikit-learn scipy matplotlib youtube-dl
-  ]);
+    numpy
+    decorator
+    imageio
+    imageio-ffmpeg
+    tqdm
+    requests
+    proglog
+  ] ++ lib.optionals advancedProcessing [
+    opencv3
+    scikitimage
+    scikit-learn
+    scipy
+    matplotlib
+    youtube-dl
+  ];
 
   meta = with lib; {
     description = "Video editing with Python";
     homepage = "https://zulko.github.io/moviepy/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index b25e838c96ff0..d16d858c22f55 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.17.97";
+  version = "1.18.29";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc12897498213e6aa1530d9f75dadb3916fcd3ce376639560c2fede2c93c51b9";
+    sha256 = "efee8defd50c441f1daec39fe415a81ded16b828678b4606ee8f9dd677bfe53e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-protobuf/default.nix b/pkgs/development/python-modules/mypy-protobuf/default.nix
index 6c6ea7b7b1c9d..17b0d068c9810 100644
--- a/pkgs/development/python-modules/mypy-protobuf/default.nix
+++ b/pkgs/development/python-modules/mypy-protobuf/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "mypy-protobuf";
-  version = "2.4";
+  version = "2.9";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "77e10c476cdd3ee14535c2357e64deac6b1a69f33eb500d795b064acda48c66f";
+    sha256 = "278172935d7121c2f8c7c0a05518dd565a2b76d9e9c4a0a3fcd08a21fa685d43";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index 169b89f7b8923..3b9986bae048a 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.5.3";
+  version = "0.5.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db17271330c68c8c88d46d72349e24c147bb6f34ec82d8481a8f025c4d26589c";
+    sha256 = "6c8ad36a28edad4562580847f9f1636fe5316a51a323ed85a24a4ad37d4aefce";
   };
 
   inherit doCheck;
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 02eda2beb1958..67d08f9e50ffd 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "6.0.7";
+  version = "6.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbbc13a86dfbd4d1b5dee106539de0795b4db156c894c2c5dc382062bbc29002";
+    sha256 = "d22a8ff202644d31db254d24d52c3a96c82156623fcd7c7f987bba2612303ec9";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix
index 96fc94d43e857..a4cbe11fbe7a4 100644
--- a/pkgs/development/python-modules/nbdime/default.nix
+++ b/pkgs/development/python-modules/nbdime/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "nbdime";
-  version = "2.1.0";
+  version = "3.1.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e3efdcfda31c3074cb565cd8e76e2e5421b1c4560c3a00c56f8679dd15590e5";
+    sha256 = "12dc4390b355b26d07ac8d11d50efbcb54bae0ad5842b817131babd2f4567963";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 74f7d4003dcdd..287737900b896 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -12,28 +12,39 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.53.1";
+  version = "0.54.0";
   pname = "numba";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9cd4e5216acdc66c4e9dab2dfd22ddb5bef151185c070d4a3cd8e78638aff5b0";
+    sha256 = "bad6bd98ab2e41c34aa9c80b8d9737e07d92a53df4f74d3ada1458b0b516ccff";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "1.21" "1.22"
+
+    substituteInPlace numba/__init__.py \
+      --replace "(1, 20)" "(1, 21)"
+  '';
+
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
 
   propagatedBuildInputs = [ numpy llvmlite setuptools ];
-  pythonImportsCheck = [ "numba" ];
+
   # Copy test script into $out and run the test suite.
   checkPhase = ''
     ${python.interpreter} -m numba.runtests
   '';
+
   # ImportError: cannot import name '_typeconv'
   doCheck = false;
 
+  pythonImportsCheck = [ "numba" ];
+
   meta =  with lib; {
-    homepage = "http://numba.pydata.org/";
+    homepage = "https://numba.pydata.org/";
     license = licenses.bsd2;
     description = "Compiling Python code using LLVM";
     maintainers = with maintainers; [ fridh ];
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index dbbd750acf5b2..60f3bf1091ece 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -40,14 +40,14 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.20.3";
+  version = "1.21.2";
   format = "pyproject.toml";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69";
+    sha256 = "423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc";
   };
 
   patches = lib.optionals python.hasDistutilsCxxPatch [
@@ -73,6 +73,10 @@ in buildPythonPackage rec {
     ln -s ${cfg} site.cfg
   '';
 
+  # Workaround flakey compiler feature detection
+  # https://github.com/numpy/numpy/issues/19624
+  hardeningDisable = [ "strictoverflow" ];
+
   enableParallelBuilding = true;
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/nunavut/default.nix b/pkgs/development/python-modules/nunavut/default.nix
index e8d032e16aba3..c628abad86913 100644
--- a/pkgs/development/python-modules/nunavut/default.nix
+++ b/pkgs/development/python-modules/nunavut/default.nix
@@ -7,12 +7,12 @@
 
  buildPythonPackage rec {
   pname = "nunavut";
-  version = "1.2.2";
+  version = "1.4.2";
   disabled = pythonOlder "3.5"; # only python>=3.5 is supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "78ab56951172ecd92f9b66dbf9b0ea986dcc6899d462eeef74563ddf33a5a9a5";
+    sha256 = "7238780e42a8d6b7fd3296273c76d35dbebb4520d6778472d556b68b77e2aade";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/openshift/default.nix b/pkgs/development/python-modules/openshift/default.nix
index 052d364982b3a..cf604ea381814 100644
--- a/pkgs/development/python-modules/openshift/default.nix
+++ b/pkgs/development/python-modules/openshift/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "openshift";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aggRnD4goiZJPp4cngp8AIrJC/V46378cwUSfq8Xml4=";
+    sha256 = "a38957684b17ad0e140a87226249bf26de7267db0c83a6d512b48be258052e1a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/optuna/default.nix b/pkgs/development/python-modules/optuna/default.nix
index 0b496b5ef0f8e..457d796d0b783 100644
--- a/pkgs/development/python-modules/optuna/default.nix
+++ b/pkgs/development/python-modules/optuna/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "optuna";
-  version = "2.8.0";
+  version = "2.9.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "optuna";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1w5vyl36mbk78a5028qa7dlzhavrs1dkx3q8m50ij37pa5cnyksz";
+    sha256 = "1fx80qjrkmnvn2mg9fx26qn3sjlwnwqlmkaf6sqhdw79pn6khlpi";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index b7e237a3e3bab..54ce6b3747bf4 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -33,11 +33,11 @@
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "1.2.4";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279";
+    sha256 = "cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 58ae09af14b9b..3f6875f4986fd 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, bleach
 , bokeh
 , param
 , pyviz-comms
@@ -12,10 +13,11 @@
 }:
 
 let
-  node = callPackage ./node {};
-in buildPythonPackage rec {
+  node = callPackage ./node { };
+in
+buildPythonPackage rec {
   pname = "panel";
-  version = "0.11.3";
+  version = "0.12.1";
 
   # Don't forget to also update the node packages
   # 1. retrieve the package.json file
@@ -23,7 +25,7 @@ in buildPythonPackage rec {
   # 3. node2nix
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HpHYHysPE6MRxR0kek5C7sunHMfBsUGdZfxamz2jcLc=";
+    sha256 = "e4898d60abdb82f8a429df7f59dbf8bcaf7e19b3e633555512ceb4ce06678458";
   };
 
   # Since 0.10.0 panel attempts to fetch from the web.
@@ -42,6 +44,7 @@ in buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
+    bleach
     bokeh
     param
     pyviz-comms
diff --git a/pkgs/development/python-modules/panel/node/node-env.nix b/pkgs/development/python-modules/panel/node/node-env.nix
index c2b723195b77e..21089c4d5459e 100644
--- a/pkgs/development/python-modules/panel/node/node-env.nix
+++ b/pkgs/development/python-modules/panel/node/node-env.nix
@@ -391,13 +391,14 @@ let
     , dontStrip ? true
     , unpackPhase ? "true"
     , buildPhase ? "true"
+    , meta ? {}
     , ... }@args:
 
     let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "node_${name}-${version}";
+      name = "${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -446,6 +447,11 @@ let
         # Run post install hook, if provided
         runHook postInstall
       '';
+
+      meta = {
+        # default to Node.js' platforms
+        platforms = nodejs.meta.platforms;
+      } // meta;
     } // extraArgs);
 
   # Builds a node environment (a node_modules folder and a set of binaries)
diff --git a/pkgs/development/python-modules/panel/node/node-packages.nix b/pkgs/development/python-modules/panel/node/node-packages.nix
index 6e45b64d5c6fb..78c7c4ac37d18 100644
--- a/pkgs/development/python-modules/panel/node/node-packages.nix
+++ b/pkgs/development/python-modules/panel/node/node-packages.nix
@@ -4,13 +4,22 @@
 
 let
   sources = {
-    "@bokeh/bokehjs-2.3.1" = {
+    "@babel/runtime-7.15.3" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      version = "7.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz";
+        sha512 = "OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==";
+      };
+    };
+    "@bokeh/bokehjs-2.3.3" = {
       name = "_at_bokeh_slash_bokehjs";
       packageName = "@bokeh/bokehjs";
-      version = "2.3.1";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bokeh/bokehjs/-/bokehjs-2.3.1.tgz";
-        sha512 = "DlNZaqAJFUw38IuSk2TUOcfyiK8Ya3kDRpYt/RgVUftIDW2CWLbBo47kbug9+ykEF49rcnlxcCXhNXzpg4V7gw==";
+        url = "https://registry.npmjs.org/@bokeh/bokehjs/-/bokehjs-2.3.3.tgz";
+        sha512 = "Zev3p5xnS47YsZo5hcGGNUdISH3mkVLKSc6LMVqEIRlnc7Ay79TD9bnApeYh90k0JU1pcMh0gEqHgwVOGPTZ/w==";
       };
     };
     "@bokeh/numbro-1.6.2" = {
@@ -31,13 +40,13 @@ let
         sha512 = "W9tm8Qdw5BrylbZbaVWaQMgLfW/klesnj6J3FnyWpo18hCCOFApccUD8iOnRv7bF6PHlgWk84mW3JT5RSzYKjA==";
       };
     };
-    "@luma.gl/constants-8.4.4" = {
+    "@luma.gl/constants-8.5.5" = {
       name = "_at_luma.gl_slash_constants";
       packageName = "@luma.gl/constants";
-      version = "8.4.4";
+      version = "8.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@luma.gl/constants/-/constants-8.4.4.tgz";
-        sha512 = "4e58QW6UKXkxiIvWSLoAnTc4cT8nvb0PhLzu1h8KiCuaDT5Vq8csOymcNOy/jhpfcIhHlmT1KwowF5m/DcOlKg==";
+        url = "https://registry.npmjs.org/@luma.gl/constants/-/constants-8.5.5.tgz";
+        sha512 = "3pDC7jFaXliDP7Gvr6pPkorLFBXDnuakNeN87aEYcIM+p3XrkF0rPnDQJEzwScWS9RIopXT858xmL3vG7IYsDw==";
       };
     };
     "@types/debounce-1.2.0" = {
@@ -58,31 +67,31 @@ let
         sha512 = "0L8Mq1+oaIW0oVzGUDbSW+HnTjCNb4CmoIQE5BkoHt/A7x20z0MJ1PnwfH3atty/vbWLGgvJwVu2Mz3SKFiEFw==";
       };
     };
-    "@types/jquery-3.5.5" = {
+    "@types/jquery-3.5.6" = {
       name = "_at_types_slash_jquery";
       packageName = "@types/jquery";
-      version = "3.5.5";
+      version = "3.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.5.tgz";
-        sha512 = "6RXU9Xzpc6vxNrS6FPPapN1SxSHgQ336WC6Jj/N8q30OiaBZ00l1GBgeP7usjVZPivSkGUfL1z/WW6TX989M+w==";
+        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz";
+        sha512 = "SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==";
       };
     };
-    "@types/sizzle-2.3.2" = {
+    "@types/sizzle-2.3.3" = {
       name = "_at_types_slash_sizzle";
       packageName = "@types/sizzle";
-      version = "2.3.2";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz";
-        sha512 = "7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==";
+        url = "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz";
+        sha512 = "JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==";
       };
     };
-    "@types/slickgrid-2.1.30" = {
+    "@types/slickgrid-2.1.31" = {
       name = "_at_types_slash_slickgrid";
       packageName = "@types/slickgrid";
-      version = "2.1.30";
+      version = "2.1.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/slickgrid/-/slickgrid-2.1.30.tgz";
-        sha512 = "9nTqNWD3BtEVK0CP+G+mBtvSrKTfQy3Dg5/al+GdTSVMHFm37UxsHJ1eURwPg7rYu6vc7xU95fGTCKMZbxsD5w==";
+        url = "https://registry.npmjs.org/@types/slickgrid/-/slickgrid-2.1.31.tgz";
+        sha512 = "t/LodOkh8yP+o2jKcHsC0hAjDh1kl4RSFXKWmR9+U5FwXE7VpipqiAkE1W3NnGNA3ni5xnKQJt/CNXurJWTQ6w==";
       };
     };
     "choices.js-9.0.1" = {
@@ -202,13 +211,13 @@ let
         sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
       };
     };
-    "ext-1.4.0" = {
+    "ext-1.5.0" = {
       name = "ext";
       packageName = "ext";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
-        sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==";
+        url = "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz";
+        sha512 = "+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==";
       };
     };
     "fast-deep-equal-2.0.1" = {
@@ -283,13 +292,13 @@ let
         sha1 = "04ef77862cff2bb79d30f7692095930222bf60f1";
       };
     };
-    "htm-3.0.4" = {
+    "htm-3.1.0" = {
       name = "htm";
       packageName = "htm";
-      version = "3.0.4";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htm/-/htm-3.0.4.tgz";
-        sha512 = "VRdvxX3tmrXuT/Ovt59NMp/ORMFi4bceFMDjos1PV4E0mV+5votuID8R60egR9A4U8nLt238R/snlJGz3UYiTQ==";
+        url = "https://registry.npmjs.org/htm/-/htm-3.1.0.tgz";
+        sha512 = "L0s3Sid5r6YwrEvkig14SK3Emmc+kIjlfLhEGn2Vy3bk21JyDEes4MoDsbJk6luaPp8bugErnxPz86ZuAw6e5Q==";
       };
     };
     "jquery-3.6.0" = {
@@ -310,15 +319,6 @@ let
         sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
       };
     };
-    "js-tokens-4.0.0" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
-      };
-    };
     "json-formatter-js-2.3.4" = {
       name = "json-formatter-js";
       packageName = "json-formatter-js";
@@ -328,15 +328,6 @@ let
         sha512 = "gmAzYRtPRmYzeAT4T7+t3NhTF89JOAIioCVDddl9YDb3ls3kWcskirafw/MZGJaRhEU6fRimGJHl7CC7gaAI2Q==";
       };
     };
-    "loose-envify-1.4.0" = {
-      name = "loose-envify";
-      packageName = "loose-envify";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
-        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
-      };
-    };
     "mgrs-1.0.0" = {
       name = "mgrs";
       packageName = "mgrs";
@@ -364,31 +355,40 @@ let
         sha512 = "4RtQ1+LHJKesDCNJrXkQcwXAWCrC2aggdLYMstS/G5fEWL+fXZbUA9pwVNHFghMGuFGRATlDLNInRaPeRKzpFQ==";
       };
     };
-    "preact-10.5.13" = {
+    "preact-10.5.14" = {
       name = "preact";
       packageName = "preact";
-      version = "10.5.13";
+      version = "10.5.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/preact/-/preact-10.5.13.tgz";
-        sha512 = "q/vlKIGNwzTLu+jCcvywgGrt+H/1P/oIRSD6mV4ln3hmlC+Aa34C7yfPI4+5bzW8pONyVXYS7SvXosy2dKKtWQ==";
+        url = "https://registry.npmjs.org/preact/-/preact-10.5.14.tgz";
+        sha512 = "KojoltCrshZ099ksUZ2OQKfbH66uquFoxHSbnwKbTJHeQNvx42EmC7wQVWNuDt6vC5s3nudRHFtKbpY4ijKlaQ==";
       };
     };
-    "proj4-2.7.2" = {
+    "proj4-2.7.5" = {
       name = "proj4";
       packageName = "proj4";
-      version = "2.7.2";
+      version = "2.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proj4/-/proj4-2.7.2.tgz";
-        sha512 = "x/EboBmIq48a9FED0Z9zWCXkd8VIpXHLsyEXljGtsnzeztC41bFjPjJ0S//wBbNLDnDYRe0e6c3FSSiqMCebDA==";
+        url = "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz";
+        sha512 = "5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==";
       };
     };
-    "redux-4.0.5" = {
+    "redux-4.1.1" = {
       name = "redux";
       packageName = "redux";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz";
-        sha512 = "VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==";
+        url = "https://registry.npmjs.org/redux/-/redux-4.1.1.tgz";
+        sha512 = "hZQZdDEM25UY2P493kPYuKqviVwZ58lEmGQNeQ+gXa+U0gYPUBf7NKYazbe3m+bs/DzM/ahN12DbF+NG8i0CWw==";
+      };
+    };
+    "regenerator-runtime-0.13.9" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.13.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
+        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
     "sprintf-js-1.1.2" = {
@@ -400,15 +400,6 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "symbol-observable-1.2.0" = {
-      name = "symbol-observable";
-      packageName = "symbol-observable";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz";
-        sha512 = "e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==";
-      };
-    };
     "timezone-1.0.23" = {
       name = "timezone";
       packageName = "timezone";
@@ -427,13 +418,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.2.0" = {
+    "tslib-2.3.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.2.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz";
-        sha512 = "gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
+        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     };
     "type-1.2.0" = {
@@ -463,35 +454,36 @@ let
         sha1 = "3013e0ea181756306f1609e959cafbc722adb3e9";
       };
     };
-    "wkt-parser-1.2.4" = {
+    "wkt-parser-1.3.1" = {
       name = "wkt-parser";
       packageName = "wkt-parser";
-      version = "1.2.4";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.2.4.tgz";
-        sha512 = "ZzKnc7ml/91fOPh5bANBL4vUlWPIYYv11waCtWTkl2TRN+LEmBg60Q1MA8gqV4hEp4MGfSj9JiHz91zw/gTDXg==";
+        url = "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.1.tgz";
+        sha512 = "XK5qV+Y5gsygQfHx2/cS5a7Zxsgleaw8iX5UPC5eOXPc0TgJAu1JB9lr0iYYX3zAnN3p0aNiaN5c+1Bdblxwrg==";
       };
     };
   };
   args = {
     name = "_at_holoviz_slash_panel";
     packageName = "@holoviz/panel";
-    version = "0.11.3";
+    version = "0.12.1";
     src = ./.;
     dependencies = [
-      sources."@bokeh/bokehjs-2.3.1"
+      sources."@babel/runtime-7.15.3"
+      sources."@bokeh/bokehjs-2.3.3"
       sources."@bokeh/numbro-1.6.2"
       (sources."@bokeh/slickgrid-2.4.2702" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      sources."@luma.gl/constants-8.4.4"
+      sources."@luma.gl/constants-8.5.5"
       sources."@types/debounce-1.2.0"
       sources."@types/gl-matrix-2.4.5"
-      sources."@types/jquery-3.5.5"
-      sources."@types/sizzle-2.3.2"
-      sources."@types/slickgrid-2.1.30"
+      sources."@types/jquery-3.5.6"
+      sources."@types/sizzle-2.3.3"
+      sources."@types/slickgrid-2.1.31"
       sources."choices.js-9.0.1"
       sources."d-1.0.1"
       sources."debounce-1.2.1"
@@ -508,7 +500,7 @@ let
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."event-emitter-0.3.5"
-      (sources."ext-1.4.0" // {
+      (sources."ext-1.5.0" // {
         dependencies = [
           sources."type-2.5.0"
         ];
@@ -521,25 +513,23 @@ let
       sources."fuse.js-3.6.1"
       sources."gl-matrix-3.3.0"
       sources."hammerjs-2.0.8"
-      sources."htm-3.0.4"
+      sources."htm-3.1.0"
       sources."jquery-3.6.0"
       sources."jquery-ui-1.12.1"
-      sources."js-tokens-4.0.0"
       sources."json-formatter-js-2.3.4"
-      sources."loose-envify-1.4.0"
       sources."mgrs-1.0.0"
       sources."next-tick-1.0.0"
       sources."nouislider-14.7.0"
-      sources."preact-10.5.13"
-      sources."proj4-2.7.2"
-      sources."redux-4.0.5"
+      sources."preact-10.5.14"
+      sources."proj4-2.7.5"
+      sources."redux-4.1.1"
+      sources."regenerator-runtime-0.13.9"
       sources."sprintf-js-1.1.2"
-      sources."symbol-observable-1.2.0"
       sources."timezone-1.0.23"
-      sources."tslib-2.2.0"
+      sources."tslib-2.3.1"
       sources."type-1.2.0"
       sources."underscore.template-0.1.7"
-      sources."wkt-parser-1.2.4"
+      sources."wkt-parser-1.3.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/python-modules/panel/node/package.json b/pkgs/development/python-modules/panel/node/package.json
index f40e3773e23b5..dc1d13ab48757 100644
--- a/pkgs/development/python-modules/panel/node/package.json
+++ b/pkgs/development/python-modules/panel/node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@holoviz/panel",
-  "version": "0.11.1",
+  "version": "0.12.1",
   "description": "A high level dashboarding library for python visualization libraries.",
   "license": "BSD-3-Clause",
   "repository": {
@@ -8,7 +8,7 @@
     "url": "https://github.com/holoviz/panel.git"
   },
   "dependencies": {
-    "@bokeh/bokehjs": "^2.3.0",
+    "@bokeh/bokehjs": "^2.3.3",
     "@luma.gl/constants": "^8.0.3",
     "@types/debounce": "^1.2.0",
     "@types/gl-matrix": "^2.4.5",
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index c2237f68524f8..88d63f0de93f5 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -6,7 +6,7 @@
 , invoke
 , pynacl
 , pyasn1
-, pytest
+, pytestCheckHook
 , pytest-relaxed
 , mock
 }:
@@ -20,25 +20,21 @@ buildPythonPackage rec {
     sha256 = "7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035";
   };
 
-  checkInputs = [ invoke pytest mock pytest-relaxed ];
   propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
 
-  __darwinAllowLocalNetworking = true;
+  checkInputs = [ invoke pytestCheckHook pytest-relaxed mock ];
+
+  disabledTestPaths = [
+    "tests/test_sftp.py"
+    "tests/test_config.py"
+  ];
 
-  # 2 sftp tests fail (skip for now)
-  # test_config relies on artifacts to be to downloaded
-  # RSA tests don't have valid keys
-  checkPhase = ''
-    pytest tests \
-      --ignore=tests/test_sftp.py \
-      --ignore=tests/test_config.py
-  '';
+  __darwinAllowLocalNetworking = true;
 
   meta = with pkgs.lib; {
     homepage = "https://github.com/paramiko/paramiko/";
     description = "Native Python SSHv2 protocol library";
     license = licenses.lgpl21Plus;
-
     longDescription = ''
       This is a library for making SSH2 connections (client or server).
       Emphasis is on using SSH2 as an alternative to SSL for making secure
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index b21536060d3af..757ddc7d97463 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pathlib2";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868";
+    sha256 = "7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f";
   };
 
   propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix
index d656a752cf550..9108c3656dbdc 100644
--- a/pkgs/development/python-modules/pathy/default.nix
+++ b/pkgs/development/python-modules/pathy/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "pathy";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nb8my/5rkc7thuHnXZHe1Hg8j+sLBlYyJcLHWrrKZ5M=";
+    sha256 = "f83f1eddf77dd86e824143eef8d9adbe0785c3cdd5ec0ed6c0edea3227385048";
   };
 
   propagatedBuildInputs = [ smart-open typer google-cloud-storage ];
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index 9ce3d72a20d99..9c69e2fea544e 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, setuptools }:
 
 buildPythonPackage rec {
   pname = "pbr";
@@ -9,8 +9,11 @@ buildPythonPackage rec {
     sha256 = "42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   # circular dependencies with fixtures
   doCheck = false;
+  pythonImportsCheck = [ "pbr" ];
 
   meta = with lib; {
     homepage = "http://docs.openstack.org/developer/pbr/";
diff --git a/pkgs/development/python-modules/pdoc3/default.nix b/pkgs/development/python-modules/pdoc3/default.nix
index 66bed253cb86f..1a39963115708 100644
--- a/pkgs/development/python-modules/pdoc3/default.nix
+++ b/pkgs/development/python-modules/pdoc3/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pdoc3";
-  version = "0.9.2";
+  version = "0.10.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9df5d931f25f353c69c46819a3bd03ef96dd286f2a70bb1b93a23a781f91faa1";
+    sha256 = "5f22e7bcb969006738e1aa4219c75a32f34c2d62d46dc9d2fb2d3e0b0287e4b7";
   };
 
   nativeBuildInputs = [ setuptools-git setuptools-scm ];
diff --git a/pkgs/development/python-modules/phik/default.nix b/pkgs/development/python-modules/phik/default.nix
index b309fb287d803..09a240f4c4a64 100644
--- a/pkgs/development/python-modules/phik/default.nix
+++ b/pkgs/development/python-modules/phik/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "phik";
-  version = "0.10.0";
+  version = "0.12.0";
   format = "wheel";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version format;
     python = "py3";
-    sha256 = "b745313c5ff9d6a3092eefa97f83fa4dbed178c9ce69161b655e95497cb2f38b";
+    sha256 = "57db39d1c74c84a24d0270b63d1c629a5cb975462919895b96a8522ae0678408";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix
index d51a83a054781..fc593e6a48fb1 100644
--- a/pkgs/development/python-modules/pkgconfig/default.nix
+++ b/pkgs/development/python-modules/pkgconfig/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pkgconfig";
-  version = "1.5.4";
+  version = "1.5.5";
 
   inherit (pkg-config)
     setupHooks
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c34503829fd226822fd93c902b1cf275516908a023a24be0a02ba687f3a00399";
+    sha256 = "deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899";
   };
 
 
diff --git a/pkgs/development/python-modules/pkginfo/default.nix b/pkgs/development/python-modules/pkginfo/default.nix
index 1b1834e324bb7..6bfed6305a8a4 100644
--- a/pkgs/development/python-modules/pkginfo/default.nix
+++ b/pkgs/development/python-modules/pkginfo/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pkginfo";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "029a70cb45c6171c329dfc890cde0879f8c52d6f3922794796e06f577bb03db4";
+    sha256 = "e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd";
   };
 
   doCheck = false; # I don't know why, but with doCheck = true it fails.
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index 567fdd42d0d3e..b864dedecfe70 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, requests, pytest }:
 
 buildPythonPackage rec {
-  version = "7.4.0";
+  version = "8.1.0";
   pname = "plaid-python";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab70467116adc110b56eb5a1fdeed726307cc216e04dda46a782aa1a1468ce0e";
+    sha256 = "b1f7b5b58ba3c171bb795352119d54797c8c50877bc376d26cd756de2453e9fd";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix
index 90eb35f993a35..f49b8716211ea 100644
--- a/pkgs/development/python-modules/platformdirs/default.nix
+++ b/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "2.2.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "15f08czqfmxy1y947rlrsjs20jgsy2vc1wqhv4b08b3ijxj0jpqh";
+    sha256 = "sha256-g2DPNN7VxK3EjOXOpSWA4a+PghZ7v2jmjw9+VQyCTBI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index e2496d6097d9b..4b849dd016b87 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -1,38 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, decorator
-, nbformat
 , pytz
 , requests
-, retrying
 , six
+, tenacity
 }:
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "4.14.3";
+  version = "5.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14cxlfl79i9bh3awsf4xgwr14ywm7lnrz2a81s7gp0if77nsx2kx";
+    sha256 = "b6dc306c56e7d5fa7d017718894099b27290b427abf4acad8e5b77fdc3bd32ec";
   };
 
   propagatedBuildInputs = [
-    decorator
-    nbformat
     pytz
     requests
-    retrying
     six
+    tenacity
   ];
 
   # No tests in archive
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "Python plotting library for collaborative, interactive, publication-quality graphs";
     homepage = "https://plot.ly/python/";
-    license = with lib.licenses; [ mit ];
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pluggy/0.nix b/pkgs/development/python-modules/pluggy/0.nix
new file mode 100644
index 0000000000000..30fa2e1945b21
--- /dev/null
+++ b/pkgs/development/python-modules/pluggy/0.nix
@@ -0,0 +1,34 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, setuptools-scm
+, importlib-metadata
+}:
+
+buildPythonPackage rec {
+  pname = "pluggy";
+  version = "0.13.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0";
+  };
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # To prevent infinite recursion with pytest
+  doCheck = false;
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [ importlib-metadata ];
+
+  meta = {
+    description = "Plugin and hook calling mechanisms for Python";
+    homepage = "https://github.com/pytest-dev/pluggy";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/pluggy/default.nix b/pkgs/development/python-modules/pluggy/default.nix
index 30fa2e1945b21..1a1c23f22d0ab 100644
--- a/pkgs/development/python-modules/pluggy/default.nix
+++ b/pkgs/development/python-modules/pluggy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pluggy";
-  version = "0.13.1";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0";
+    sha256 = "4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/poetry-core/default.nix b/pkgs/development/python-modules/poetry-core/default.nix
index 4d8c444dcd20b..d5262ee22c471 100644
--- a/pkgs/development/python-modules/poetry-core/default.nix
+++ b/pkgs/development/python-modules/poetry-core/default.nix
@@ -1,7 +1,6 @@
 { lib, buildPythonPackage, fetchFromGitHub, pythonOlder, isPy27
 , importlib-metadata
 , intreehooks
-, isort
 , pathlib2
 , pep517
 , pytest-mock
@@ -13,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "poetry-core";
-  version = "1.0.3";
+  version = "1.0.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python-poetry";
     repo = pname;
     rev = version;
-    sha256 = "07x0zagf9cfr7g3132jjd5byywkbnzpfbxjfjzpzpj70fqw70qrc";
+    sha256 = "0jgd4d7m5y8ly8n0l9lcq7cjab2y3hifk90f343ksmjzssfd5lg3";
   };
 
   postPatch = lib.optionalString (pythonOlder "3.8") ''
diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix
index 7287797ef331a..4b7d35093662f 100644
--- a/pkgs/development/python-modules/poetry/default.nix
+++ b/pkgs/development/python-modules/poetry/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "poetry";
-  version = "1.1.7";
+  version = "1.1.8";
   format = "pyproject";
   disabled = isPy27;
 
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "python-poetry";
     repo = pname;
     rev = version;
-    sha256 = "03cbzjw0sb8rs85iq191ndk9523d6qpymh2nhw5bvcxfvsf9042d";
+    sha256 = "0qcgjb78nj69sppd8146519q9422xxg1bi34gyxy51sjkvd5lxhz";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix
index 0f18a6ad20722..105fa9e180b7e 100644
--- a/pkgs/development/python-modules/prance/default.nix
+++ b/pkgs/development/python-modules/prance/default.nix
@@ -1,51 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , chardet
-, pyyaml
 , requests
+, ruamel_yaml
 , six
 , semver
 , pytestCheckHook
-, pytest-cov
-, pytest-runner
 , openapi-spec-validator
 }:
 
 buildPythonPackage rec {
   pname = "prance";
-  version = "0.21.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "43ebe3a5b38f0c65c428427004c4d8ce8d7155ddad50610276c89c192680f138";
+  version = "0.21.8.0";
+
+  src = fetchFromGitHub {
+    owner = "RonnyPfannschmidt";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-kGANMHfWwhW3ZBw2ZVCJZR/bV2EPhcydMKhDeDTVwcQ=";
   };
 
-  buildInputs = [
-    pytest-runner
-  ];
-
   propagatedBuildInputs = [
     chardet
-    pyyaml
     requests
+    ruamel_yaml
     six
     semver
   ];
 
   checkInputs = [
     pytestCheckHook
-    pytest-cov
     openapi-spec-validator
   ];
 
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "tests_require = dev_require," "tests_require = None," \
-      --replace "chardet~=4.0" "" \
-      --replace "semver~=2.13" ""
     substituteInPlace setup.cfg \
-      --replace "--cov-fail-under=90" ""
+      --replace "--cov=prance --cov-report=term-missing --cov-fail-under=90" ""
   '';
 
   # Disable tests that require network
diff --git a/pkgs/development/python-modules/prettytable/default.nix b/pkgs/development/python-modules/prettytable/default.nix
index 23702f8e8cfbd..5b3253b31b396 100644
--- a/pkgs/development/python-modules/prettytable/default.nix
+++ b/pkgs/development/python-modules/prettytable/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "prettytable";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5882ed9092b391bb8f6e91f59bcdbd748924ff556bb7c634089d5519be87baa0";
+    sha256 = "bd81678c108e6c73d4f1e47cd4283de301faaa6ff6220bcd1d4022038c56b416";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/priority/default.nix b/pkgs/development/python-modules/priority/default.nix
index a699f6ff812f7..0f11347a74b8c 100644
--- a/pkgs/development/python-modules/priority/default.nix
+++ b/pkgs/development/python-modules/priority/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "priority";
-  version = "1.3.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gpzn9k9zgks0iw5wdmad9b4dry8haiz2sbp6gycpjkzdld9dhbb";
+    sha256 = "c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/psd-tools/default.nix b/pkgs/development/python-modules/psd-tools/default.nix
index 92810ec6a5fbc..a642d6ba10d13 100644
--- a/pkgs/development/python-modules/psd-tools/default.nix
+++ b/pkgs/development/python-modules/psd-tools/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "psd-tools";
-  version = "1.9.17";
+  version = "1.9.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d01e11581442dfcc1bd73ac3278bdf1f98e9df8f083a11e5989632ff97322b65";
+    sha256 = "d7e510790512f0bb8150c508531c8681c3d9d0ea63b3ba9b11bbf0952cbd69a8";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index af653f260cd3e..6df85ca5f089b 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2020.1";
+  version = "2021.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ef23d3371439f13fffbe7f8b9fc180a19d4183dc9cab204d878d7c7766464bf";
+    sha256 = "309ee82b45a0ffca0bc4c7f521fd3e357589c764f339bdf9dcabb7ad40692d6e";
   };
 
   propagatedBuildInputs = [ pygments urwid ];
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
index c8d5068e4e73b..e027aaeb294b9 100644
--- a/pkgs/development/python-modules/py3status/default.nix
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.38";
+  version = "3.39";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5660163a91590f320685263a738ab910c7a86346d9c85a68639a19ab83433ce6";
+    sha256 = "d2a11dde0cc82d0eb5e938fe624f223d852ed848c57299ff562827bc4557375f";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index 58d1d0c694a71..f53038b2e1f66 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "3.8.3";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afdd887fff42a963f13d09a1f4f5fd24aef08f4b8a594f2ac11e0a29022f1518";
+    sha256 = "6accc4af505ee5b312689eaee1a9bc93cb6ea31a2d905a877c6b47f0888c3dcc";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pybids/default.nix b/pkgs/development/python-modules/pybids/default.nix
index 97187abd75919..daa879a58a0d0 100644
--- a/pkgs/development/python-modules/pybids/default.nix
+++ b/pkgs/development/python-modules/pybids/default.nix
@@ -14,12 +14,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.13.1";
+  version = "0.13.2";
   pname = "pybids";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ySDhVX4drotnFiXXDK+9woQ3uigistudpMJYenYl47o=";
+    sha256 = "9692013af3b86b096b5423b88179c6c9b604baff5a6b6f89ba5f40429feb7a3e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 3f825a06cd3c2..e6be3f063fef0 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iEXoNTsfsDq79bKV7A4aOCHr11rT/cqnyLghEtGsaks=";
+    sha256 = "13nq16pxz4vck7jn936ymhm0y0q82hd7kkw0ip7k85cx7wywzbql";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index fb0852e2bf110..07fe662f6ec08 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "82";
+  version = "83";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
     rev = "v${version}";
-    sha256 = "sha256-DdZ6bf+2rMjgjm5aRxcSRI/hN0zfP7uV8PaM40c9IJo=";
+    sha256 = "0azpdgmfby8plsp22hy1ip9vzbnmvf9brmah7hcwkpypg31rb61y";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfaidx/default.nix b/pkgs/development/python-modules/pyfaidx/default.nix
index c179688a8a5bf..317691066f47b 100644
--- a/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/pkgs/development/python-modules/pyfaidx/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fae5d2264f62f40e6f37090422a764197de610df36afb5ae827b167d34b8621a";
+    sha256 = "d1258f8d053cba0c90fe329254e8ec59eb28b535b48d9d06e8c7f1d74b8e4531";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index ab4c2f3607604..217e552aa0e12 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.5.0";
+  version = "4.5.1";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "58b017b3437bbe97803a23755876c6d6aeb5aea37e52cec15e5d86b59c4c7295";
+    sha256 = "002a065dcbf59c2caa039e4fc4ba01d1d636aa63ee9c794d4c9fc01f0e2d6dc0";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pykka/default.nix b/pkgs/development/python-modules/pykka/default.nix
index 075b607c772ea..dfd84fe066d0a 100644
--- a/pkgs/development/python-modules/pykka/default.nix
+++ b/pkgs/development/python-modules/pykka/default.nix
@@ -1,21 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pytest-mock }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, pytest-mock
+}:
 
 buildPythonPackage rec {
-  pname = "Pykka";
-  version = "2.0.3";
+  pname = "pykka";
+  version = "3.0.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.6.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4b9d2363365b3455a0204bf163f09bd351d24b938c618c79d975a9510e128e95";
+  src = fetchFromGitHub {
+    owner = "jodal";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1h3brgm8y4a9s991y0drkp0vvmxix9f2b49f9w6ibhkhr37gc0lh";
   };
 
-  checkInputs = [ pytestCheckHook pytest-mock ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
 
   meta = with lib; {
     homepage = "https://www.pykka.org/";
     description = "A Python implementation of the actor model";
     changelog = "https://github.com/jodal/pykka/blob/v${version}/docs/changes.rst";
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index ef42bd43239a1..2e4953ec7b9b6 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,12 +1,13 @@
 { stdenv
 , lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , installShellFiles
 , astroid
 , isort
 , mccabe
+, platformdirs
 , toml
 , pytest-benchmark
 , pytest-xdist
@@ -15,13 +16,15 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.7.4";
+  version = "2.10.2";
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bd38914c7731cdc518634a8d3c5585951302b6e2b6de60fbb3f7a0220e21eeee";
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-hkrkgUdC5LO1oSPFL6gvIk0zFpMw45gCmnoRbdPZuRs=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +35,7 @@ buildPythonPackage rec {
     astroid
     isort
     mccabe
+    platformdirs
     toml
   ];
 
@@ -58,6 +62,12 @@ buildPythonPackage rec {
     "-n auto"
   ];
 
+  disabledTestPaths = [
+    # tests miss multiple input files
+    # FileNotFoundError: [Errno 2] No such file or directory
+    "tests/pyreverse/test_writer.py"
+  ];
+
   disabledTests = lib.optionals stdenv.isDarwin [
     "test_parallel_execution"
     "test_py3k_jobs_option"
diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix
index 08924d5157322..a305a8309a93a 100644
--- a/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/pkgs/development/python-modules/pylitterbot/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2021.8.0";
+  version = "2021.8.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "natekspencer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Z7/j5ZZd8cOJhY/GfKUcDSJZvmU/TR/KDK60j1eYsik=";
+    sha256 = "sha256-ULaybf2uV8lY9J9EHlszbnLWZJ0QO7y6BQxvdQX+nMU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index 364514b6b5d09..56e436e96d2ca 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2022.0.11";
+  version = "2022.0.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "901d00105142c9added48275188e289e91b3098251ec107aef90acaef3ea6d0d";
+    sha256 = "bad712c883a12d774a8a58c35abc5d582c5e5eafdbb5351dc06ebe98c28bd135";
   };
 
   nativeBuildInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/pymc3/default.nix b/pkgs/development/python-modules/pymc3/default.nix
index e322bb14f7ba3..095f3baf97ae7 100644
--- a/pkgs/development/python-modules/pymc3/default.nix
+++ b/pkgs/development/python-modules/pymc3/default.nix
@@ -20,12 +20,12 @@
 
 buildPythonPackage rec {
   pname = "pymc3";
-  version = "3.11.2";
+  version = "3.11.4";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3b93c8923ae8c8107c5adfd22f7c37fa0849a00a9723e0e0a0ca6afb582d6c3";
+    sha256 = "3b88d1e6c85f7fb8a9b99d6f136ac860672170370ec4146338fdd160c3b3fd3f";
   };
 
   # No need for coverage stats in Nix builds
diff --git a/pkgs/development/python-modules/pynndescent/default.nix b/pkgs/development/python-modules/pynndescent/default.nix
index fa9db26b5e397..7256749f8decf 100644
--- a/pkgs/development/python-modules/pynndescent/default.nix
+++ b/pkgs/development/python-modules/pynndescent/default.nix
@@ -1,43 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
+, joblib
+, llvmlite
+, numba
 , scikit-learn
 , scipy
-, numba
-, llvmlite
-, joblib
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pynndescent";
-  version = "0.5.2";
+  version = "0.5.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w87c2v0li2rdbx6qfc2lb6y6bxpdy3jwfgzfs1kcr4d1chj5zfr";
+    sha256 = "221124cbad8e3cf3ed421a4089d80ac5a29d3215e76cb49effc1df887533d2a8";
   };
 
   propagatedBuildInputs = [
+    joblib
+    llvmlite
+    numba
     scikit-learn
     scipy
-    numba
-    llvmlite
-    joblib
   ];
 
   checkInputs = [
-    nose
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
-
   meta = with lib; {
     description = "Nearest Neighbor Descent";
     homepage = "https://github.com/lmcinnes/pynndescent";
     license = licenses.bsd2;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/development/python-modules/pyocr/default.nix b/pkgs/development/python-modules/pyocr/default.nix
index 099c9e2371115..df20d3bb6c47d 100644
--- a/pkgs/development/python-modules/pyocr/default.nix
+++ b/pkgs/development/python-modules/pyocr/default.nix
@@ -1,6 +1,16 @@
-{ lib, fetchFromGitLab, buildPythonPackage, pillow, setuptools-scm,
-setuptools-scm-git-archive , tesseract, cuneiform, isPy3k, substituteAll,
-pytest, tox }:
+{ lib
+, fetchFromGitLab
+, buildPythonPackage
+, pillow
+, setuptools-scm
+, setuptools-scm-git-archive
+, tesseract
+, cuneiform
+, isPy3k
+, substituteAll
+, pytestCheckHook
+, tox
+}:
 
 buildPythonPackage rec {
   pname = "pyocr";
@@ -17,20 +27,25 @@ buildPythonPackage rec {
     sha256 = "09ab86bmizpv94w3mdvdqkjyyvk1vafw3jqhkiw5xx7p180xn3il";
   };
 
-  patches = [ (substituteAll {
-    src = ./paths.patch;
-    inherit cuneiform tesseract;
-  })
+  patches = [
+    (substituteAll {
+      src = ./paths.patch;
+      inherit cuneiform tesseract;
+    })
   ];
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   buildInputs = [ setuptools-scm setuptools-scm-git-archive ];
+
   propagatedBuildInputs = [ pillow ];
-  checkInputs = [ pytest tox ];
-  checkPhase = "pytest";
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
     inherit (src.meta) homepage;
     description = "A Python wrapper for Tesseract and Cuneiform";
-    license = lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyosmium/default.nix b/pkgs/development/python-modules/pyosmium/default.nix
index 6bd3600360002..bd6b5d701dda2 100644
--- a/pkgs/development/python-modules/pyosmium/default.nix
+++ b/pkgs/development/python-modules/pyosmium/default.nix
@@ -1,10 +1,10 @@
 { lib, buildPythonPackage, fetchFromGitHub, cmake, python
 , libosmium, protozero, boost, expat, bzip2, zlib, pybind11
-, nose, shapely, pythonOlder, isPyPy, lz4 }:
+, nose, shapely, pythonOlder, isPyPy, lz4, requests }:
 
 buildPythonPackage rec {
   pname = "pyosmium";
-  version = "3.1.3";
+  version = "3.2.0";
 
   disabled = pythonOlder "3.4" || isPyPy;
 
@@ -12,11 +12,12 @@ buildPythonPackage rec {
     owner = "osmcode";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11ma8nr7k2ixwwb55fiqvrj5qbmpgkyfk0canz4l0m8b7rcw3qsc";
+    sha256 = "0s9h1blz4vrgcvdiikbpi2d4cy69kg2s8ki4dzampm1s0pa92if5";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ libosmium protozero boost expat bzip2 zlib pybind11 lz4 ];
+  propagatedBuildInputs = [ requests ];
 
   preBuild = "cd ..";
 
diff --git a/pkgs/development/python-modules/pyphen/default.nix b/pkgs/development/python-modules/pyphen/default.nix
index 2f573b67838bc..74581ba7e33c2 100644
--- a/pkgs/development/python-modules/pyphen/default.nix
+++ b/pkgs/development/python-modules/pyphen/default.nix
@@ -1,14 +1,26 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  pname = "Pyphen";
-  version = "0.10.0";
+  pname = "pyphen";
+  version = "0.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "719b21dfb4b04fbc11cc0f6112418535fe35474021120cccfffc43a25fe63128";
+    sha256 = "e2c3ed82c3a04317df5102addafe89652b0876bc6c6265f5dd4c3efaf02315e8";
   };
 
+  preCheck = ''
+    sed -i '/addopts/d' pyproject.toml
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     description = "Pure Python module to hyphenate text";
     homepage = "https://github.com/Kozea/Pyphen";
diff --git a/pkgs/development/python-modules/pyramid/default.nix b/pkgs/development/python-modules/pyramid/default.nix
index 95333f746d0cd..da9569b7fb730 100644
--- a/pkgs/development/python-modules/pyramid/default.nix
+++ b/pkgs/development/python-modules/pyramid/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "pyramid";
-  version = "1.10.8";
+  version = "2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7cd66595bef92f81764b976ddde2b2fa8e4f5f325e02f65f6ec7f3708b29cf6";
+    sha256 = "45431b387587ed0fac6213b54d6e9f0936f0cc85238a8f5af7852fc9484c5c77";
   };
 
   checkInputs = [ webtest zope_component ];
diff --git a/pkgs/development/python-modules/pyroma/default.nix b/pkgs/development/python-modules/pyroma/default.nix
index 03eea0b8b5e94..9d2c220c472f8 100644
--- a/pkgs/development/python-modules/pyroma/default.nix
+++ b/pkgs/development/python-modules/pyroma/default.nix
@@ -2,10 +2,10 @@
 , buildPythonPackage
 , fetchFromGitHub
 , docutils
+, python
 , pygments
 , setuptools
 , requests
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -26,16 +26,11 @@ buildPythonPackage rec {
     requests
   ];
 
-  checkInputs = [
-    pytestCheckHook
-  ];
-
-  pytestFlagsArray = [ "pyroma/tests.py" ];
-
-  disabledTests = [
-    # PyPI tests require network access
-    "PyPITest"
-  ];
+  # https://github.com/regebro/pyroma/blob/3.2/Makefile#L23
+  # PyPITest requires network access
+  checkPhase = ''
+    ${python.interpreter} -m unittest -k 'not PyPITest' pyroma.tests
+  '';
 
   pythonImportsCheck = [ "pyroma" ];
 
@@ -43,6 +38,6 @@ buildPythonPackage rec {
     description = "Test your project's packaging friendliness";
     homepage = "https://github.com/regebro/pyroma";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/pyrsistent/default.nix b/pkgs/development/python-modules/pyrsistent/default.nix
index 8a6eb47a46c71..75cecc7d70916 100644
--- a/pkgs/development/python-modules/pyrsistent/default.nix
+++ b/pkgs/development/python-modules/pyrsistent/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pyrsistent";
-  version = "0.17.3";
+  version = "0.18.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e";
+    sha256 = "773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pysatochip/default.nix b/pkgs/development/python-modules/pysatochip/default.nix
index f24571a78cf1f..a2e7269035540 100644
--- a/pkgs/development/python-modules/pysatochip/default.nix
+++ b/pkgs/development/python-modules/pysatochip/default.nix
@@ -1,17 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, pyscard, ecdsa, pyaes
-, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, certifi
+, cryptography
+, ecdsa
+, pyaes
+, pyopenssl
+, pyscard
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pysatochip";
-  version = "0.11.4";
+  version = "0.12.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Jj/zZIS9aXmZ2xdi29Eun7iRIrIk9oBlrtN9+6opIMo=";
+    sha256 = "24db358a65c0402c299c0c62efcfbbfc98e494181cd30d3996949ac667d5b4d4";
   };
 
-  propagatedBuildInputs = [ pyscard ecdsa pyaes ];
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "cryptography==3.3.2" "cryptography" \
+      --replace "ecdsa==0.15" "ecdsa" \
+      --replace "pyopenssl==20.0.0" "pyopenssl"
+  '';
+
+  propagatedBuildInputs = [ cryptography ecdsa pyaes pyopenssl pyscard ];
+
+  checkInputs = [ certifi ];
 
   pythonImportsCheck = [ "pysatochip" ];
 
diff --git a/pkgs/development/python-modules/pysdl2/default.nix b/pkgs/development/python-modules/pysdl2/default.nix
index be9663245bb50..26aece1afb219 100644
--- a/pkgs/development/python-modules/pysdl2/default.nix
+++ b/pkgs/development/python-modules/pysdl2/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "PySDL2";
-  version = "0.9.7";
+  version = "0.9.8";
   # The tests use OpenGL using find_library, which would have to be
   # patched; also they seem to actually open X windows and test stuff
   # like "screensaver disabling", which would have to be cleverly
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e4fcc8aa1108e4917cb56794575ee08c2a3d9c2c52620474e3ecc8538dadf209";
+    sha256 = "4dfa3168e4e4e9301a2cd5904bdcea15e2bf62a1c9abb5d3f92d9122ea22c26e";
   };
 
   # Deliberately not in propagated build inputs; users can decide
diff --git a/pkgs/development/python-modules/pytest-doctestplus/default.nix b/pkgs/development/python-modules/pytest-doctestplus/default.nix
index 01ec38458c9fe..8cd73f483fa8b 100644
--- a/pkgs/development/python-modules/pytest-doctestplus/default.nix
+++ b/pkgs/development/python-modules/pytest-doctestplus/default.nix
@@ -1,40 +1,50 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
-, six
+, pythonOlder
+, packaging
 , pytest
 , pytestCheckHook
-, numpy
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-doctestplus";
-  version = "0.9.0";
-  disabled = isPy27; # abandoned upstream
+  version = "0.10.1";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6fe747418461d7b202824a3486ba8f4fa17a9bd0b1eddc743ba1d6d87f03391a";
+    sha256 = "7e9e0912c206c53cd6ee996265aa99d5c99c9334e37d025ce6114bc0416ffc14";
   };
 
   nativeBuildInputs = [
     setuptools-scm
   ];
+
   buildInputs = [
     pytest
   ];
 
   propagatedBuildInputs = [
-    six
-    numpy
+    packaging
   ];
 
   checkInputs = [
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
+    # __main__.py: error: unrecognized arguments: --remote-data
+    "test_remote_data_url"
+    "test_remote_data_float_cmp"
+    "test_remote_data_ignore_whitespace"
+    "test_remote_data_ellipsis"
+    "test_remote_data_requires"
+    "test_remote_data_ignore_warnings"
+  ];
+
   meta = with lib; {
     description = "Pytest plugin with advanced doctest features";
     homepage = "https://astropy.org";
diff --git a/pkgs/development/python-modules/pytest-httpx/default.nix b/pkgs/development/python-modules/pytest-httpx/default.nix
index 6e7fd37b915e5..b0bc07b6c1629 100644
--- a/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "sha256-eyR0h0fW5a+L6QslTnM0TPvQCto06aMcKCE+b8LqHcQ=";
+    sha256 = "0lh7df3ysxmjzvx6242xb6qiwpfxrnj70kjmw5sndvzmy5dfpxfc";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-isort/default.nix b/pkgs/development/python-modules/pytest-isort/default.nix
index fe74f692df5e2..e628e6a158c51 100644
--- a/pkgs/development/python-modules/pytest-isort/default.nix
+++ b/pkgs/development/python-modules/pytest-isort/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-isort";
-  version = "1.3.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "46a12331a701e2f21d48548b2828c8b0a7956dbf1cd5347163f537deb24332dd";
+    sha256 = "821a8c5c9c4f3a3c52cfa9c541fbe89ac9e28728125125af53724c4c3f129117";
   };
 
   propagatedBuildInputs = [ isort ];
diff --git a/pkgs/development/python-modules/pytest-randomly/default.nix b/pkgs/development/python-modules/pytest-randomly/default.nix
index 0020a4bf433f7..734e0e64b31df 100644
--- a/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, factory_boy, faker, numpy, backports-entry-points-selectable
+, factory_boy, faker, numpy, importlib-metadata
 , pytestCheckHook, pytest-xdist
 }:
 
 buildPythonPackage rec {
   pname = "pytest-randomly";
-  version = "3.6.0";
+  version = "3.10.1";
 
   disabled = pythonOlder "3.6";
 
@@ -14,11 +14,11 @@ buildPythonPackage rec {
     repo = pname;
     owner = "pytest-dev";
     rev = version;
-    sha256 = "17s7gx8b7sl7mp77f5dxzwbb32qliz9awrp6xz58bhjqp7pcsa5h";
+    sha256 = "10z7hsr8yd80sf5113i61p0g1c0nqkx7p4xi19v3d133f6vjbh3k";
   };
 
-  propagatedBuildInputs = [
-    backports-entry-points-selectable
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pytest-relaxed/default.nix b/pkgs/development/python-modules/pytest-relaxed/default.nix
index 19d031b6a2b16..1030f76050ca7 100644
--- a/pkgs/development/python-modules/pytest-relaxed/default.nix
+++ b/pkgs/development/python-modules/pytest-relaxed/default.nix
@@ -4,6 +4,7 @@
 , pytest
 , six
 , decorator
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -15,22 +16,23 @@ buildPythonPackage rec {
     sha256 = "e39a7e5b14e14dfff0de0ad720dfffa740c128d599ab14cfac13f4deb34164a6";
   };
 
+  # newer decorator versions are incompatible and cause the test suite to fail
+  # but only a few utility functions are used from this package which means it has no actual impact on test execution in paramiko and Fabric
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "decorator>=4,<5" "decorator>=4" \
+      --replace "pytest>=3,<5" "pytest>=3"
+  '';
+
   buildInputs = [ pytest ];
-  checkInputs = [ pytest ];
 
   propagatedBuildInputs = [ six decorator ];
 
-  patchPhase = ''
-    sed -i "s/pytest>=3,<5/pytest/g" setup.py
-  '';
+  checkInputs = [ pytestCheckHook ];
 
-  # skip tests due to dir requirements
+  # lots of assertion errors mainly around decorator
   doCheck = false;
 
-  checkPhase = ''
-    pytest tests
-  '';
-
   meta = with lib; {
     homepage = "https://pytest-relaxed.readthedocs.io/";
     description = "Relaxed test discovery/organization for pytest";
diff --git a/pkgs/development/python-modules/pytest-xprocess/default.nix b/pkgs/development/python-modules/pytest-xprocess/default.nix
index 0695b49191b42..fcd72ce9b9761 100644
--- a/pkgs/development/python-modules/pytest-xprocess/default.nix
+++ b/pkgs/development/python-modules/pytest-xprocess/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-xprocess";
-  version = "0.17.1";
+  version = "0.18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "59c739edee7f3f2258e7c77989241698e356c552f5efb28bb46b478616888bf6";
+    sha256 = "fd9f30ed1584b5833bc34494748adf0fb9de3ca7bacc4e88ad71989c21cba266";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/pytest/4.nix b/pkgs/development/python-modules/pytest/4.nix
index c764b55d1f104..fd6d3507afb85 100644
--- a/pkgs/development/python-modules/pytest/4.nix
+++ b/pkgs/development/python-modules/pytest/4.nix
@@ -11,6 +11,11 @@ buildPythonPackage rec {
     sha256 = "50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0"
+  '';
+
   checkInputs = [ hypothesis mock ];
   buildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites wcwidth packaging ]
diff --git a/pkgs/development/python-modules/pytest/5.nix b/pkgs/development/python-modules/pytest/5.nix
index b3e69578d7eb9..b38c1a759fe37 100644
--- a/pkgs/development/python-modules/pytest/5.nix
+++ b/pkgs/development/python-modules/pytest/5.nix
@@ -30,6 +30,11 @@ buildPythonPackage rec {
     sha256 = "1n67lk8iwlsmfdm8663k8l7isllg1xd3n9p1yla7885szhdk6ybr";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0"
+  '';
+
   checkInputs = [ hypothesis pygments ];
   nativeBuildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 19289426d71aa..f2438622f6a67 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -19,14 +19,19 @@
 
 buildPythonPackage rec {
   pname = "pytest";
-  version = "6.2.4";
+  version = "6.2.5";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b";
+    sha256 = "131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pluggy>=0.12,<1.0.0a1" "pluggy>=0.23,<2.0"
+  '';
+
   nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
index 246e253e191d5..9df9bf8a593b2 100644
--- a/pkgs/development/python-modules/python-daemon/default.nix
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -1,9 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib
+, buildPythonPackage
+, fetchPypi
 , docutils
 , lockfile
 , mock
 , pytest_4
 , testscenarios
+, testtools
 , twine
 }:
 
@@ -16,13 +19,31 @@ buildPythonPackage rec {
     sha256 = "bda993f1623b1197699716d68d983bb580043cf2b8a66a01274d9b8297b0aeaf";
   };
 
-  nativeBuildInputs = [ twine ];
-  propagatedBuildInputs = [ docutils lockfile ];
+  nativeBuildInputs = [
+    twine
+  ];
+
+  propagatedBuildInputs = [
+    docutils
+    lockfile
+  ];
+
+  checkInputs = [
+    pytest_4
+    mock
+    testscenarios
+    testtools
+  ];
 
-  checkInputs = [ pytest_4 mock testscenarios ];
+  # tests disabled due to incompatibilities with testtools>=2.5.0
   checkPhase = ''
-    pytest -k 'not detaches_process_context \
-                and not standard_stream_file_descriptors'
+    runHook preCheck
+    pytest -k ' \
+      not detaches_process_context and \
+      not standard_stream_file_descriptors and \
+      not test_module_has_attribute and \
+      not test_module_attribute_has_duck_type'
+    runHook postCheck
   '';
 
   pythonImportsCheck = [
@@ -35,6 +56,10 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library to implement a well-behaved Unix daemon process";
     homepage = "https://pagure.io/python-daemon/";
-    license = [ licenses.gpl3Plus licenses.asl20 ];
+    license = with licenses; [
+      gpl3Plus
+      asl20
+    ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/python-dotenv/default.nix b/pkgs/development/python-modules/python-dotenv/default.nix
index 6fbda114d3389..22bf7ea7ece49 100644
--- a/pkgs/development/python-modules/python-dotenv/default.nix
+++ b/pkgs/development/python-modules/python-dotenv/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "python-dotenv";
-  version = "0.17.1";
+  version = "0.19.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b1ae5e9643d5ed987fc57cc2583021e38db531946518130777734f9589b3141f";
+    sha256 = "f521bc2ac9a8e03c736f62911605c5d83970021e3fa95b37d769e2bbbe9b6172";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/python-ethtool/default.nix b/pkgs/development/python-modules/python-ethtool/default.nix
index 03c1473970685..e758f4a1ef71b 100644
--- a/pkgs/development/python-modules/python-ethtool/default.nix
+++ b/pkgs/development/python-modules/python-ethtool/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "python-ethtool";
-  version = "0.14";
+  version = "0.15";
 
   src = fetchFromGitHub {
     owner = "fedora-python";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Sp7ssfLZ/1FEKrvX257pKcaureZ5mdpJ7jCEh/ft1l0=";
+    sha256 = "0arkcfq64a4fl88vjjsx4gd3mhcpa7mpq6sblpkgs4k4m9mccz6i";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index 831ae6e396686..a5c40533c169e 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.10.0";
+  version = "2.10.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-N2s+mCOBzsc0RxxQKz2ixueFio300DyZNJnmp1k5UOY=";
+    sha256 = "7afa7d7c062fa62c173190452265a30feefb844428efc58ea5244f3b9fc0d40f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 8a9fca2c5d0f0..7d2bdf6c99290 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -45,6 +45,12 @@ buildPythonPackage rec {
     sha256 = "sha256-RuZfCvYeO4mthZrg06UhwPp57qvuUI1yYyne5nzIHhE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
+      --replace "--cov pylsp --cov test" ""
+  '';
+
   propagatedBuildInputs = [
     jedi
     pluggy
@@ -52,14 +58,14 @@ buildPythonPackage rec {
     setuptools
     ujson
   ] ++ lib.optional withAutopep8 autopep8
-    ++ lib.optional withFlake8 flake8
-    ++ lib.optional withMccabe mccabe
-    ++ lib.optional withPycodestyle pycodestyle
-    ++ lib.optional withPydocstyle pydocstyle
-    ++ lib.optional withPyflakes pyflakes
-    ++ lib.optional withPylint pylint
-    ++ lib.optional withRope rope
-    ++ lib.optional withYapf yapf;
+  ++ lib.optional withFlake8 flake8
+  ++ lib.optional withMccabe mccabe
+  ++ lib.optional withPycodestyle pycodestyle
+  ++ lib.optional withPydocstyle pydocstyle
+  ++ lib.optional withPyflakes pyflakes
+  ++ lib.optional withPylint pylint
+  ++ lib.optional withRope rope
+  ++ lib.optional withYapf yapf;
 
   checkInputs = [
     flaky
@@ -70,7 +76,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config";
+  disabledTests = [
+    # pytlint output changed
+    "test_lint_free_pylint"
+  ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config";
 
   disabledTestPaths = lib.optional (!withAutopep8) "test/plugins/test_autopep8_format.py"
     ++ lib.optional (!withRope) "test/plugins/test_completion.py"
@@ -83,12 +92,6 @@ buildPythonPackage rec {
     ++ lib.optional (!withRope) "test/plugins/test_rope_rename.py"
     ++ lib.optional (!withYapf) "test/plugins/test_yapf_format.py";
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
-      --replace "--cov pylsp --cov test" ""
-  '';
-
   preCheck = ''
     export HOME=$(mktemp -d);
   '';
diff --git a/pkgs/development/python-modules/python-rapidjson/default.nix b/pkgs/development/python-modules/python-rapidjson/default.nix
index 63dc4018b27df..a939caf49703b 100644
--- a/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/pkgs/development/python-modules/python-rapidjson/default.nix
@@ -8,13 +8,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0";
+  version = "1.4";
   pname = "python-rapidjson";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a61fa61e41b0b85ba9e78444242fddcb3be724de1df79314e6b4766b66e4e11c";
+    sha256 = "018c20d3983cccfdc9cfed64407d4ba861ef3d64fe324a486f7130431afdefa7";
   };
 
   LC_ALL="en_US.utf-8";
diff --git a/pkgs/development/python-modules/pythran/default.nix b/pkgs/development/python-modules/pythran/default.nix
index cb25b09dad724..382a01e7b870f 100644
--- a/pkgs/development/python-modules/pythran/default.nix
+++ b/pkgs/development/python-modules/pythran/default.nix
@@ -2,6 +2,7 @@
 , python
 , buildPythonPackage
 , fetchFromGitHub
+, openmp
 , pytest-runner
 , ply
 , networkx
@@ -34,7 +35,7 @@ in buildPythonPackage rec {
     # Hardcode path to mp library
     (substituteAll {
       src = ./0001-hardcode-path-to-libgomp.patch;
-      gomp = "${stdenv.cc.cc.lib}/lib/libgomp${stdenv.hostPlatform.extensions.sharedLibrary}";
+      gomp = "${if stdenv.cc.isClang then openmp else stdenv.cc.cc.lib}/lib/libgomp${stdenv.hostPlatform.extensions.sharedLibrary}";
     })
   ];
 
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index 93ff393608300..bd5b9e374f16b 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "10.9.3";
+  version = "11.0.1";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    sha256 = "sha256-x4u68O9dNhDZ+1Q+S4ou6zPqoR2/Yn5lcKgR2kyM/uo=";
+    sha256 = "04s4hganb6x0dlfyyg9gjah5z0vxd7bxzqwgvd28hqnf0iwc2byb";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyusb/default.nix b/pkgs/development/python-modules/pyusb/default.nix
index 43ae18741e1d3..05fb6b682716d 100644
--- a/pkgs/development/python-modules/pyusb/default.nix
+++ b/pkgs/development/python-modules/pyusb/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyusb";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d449ad916ce58aff60b89aae0b65ac130f289c24d6a5b7b317742eccffafc38";
+    sha256 = "a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index ea40fc573b634..c3eb750783fd0 100644
--- a/pkgs/development/python-modules/pyvips/default.nix
+++ b/pkgs/development/python-modules/pyvips/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pyvips";
-  version = "2.1.14";
+  version = "2.1.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "244e79c625be65237677c79424d4476de6c406805910015d4adbd0186c64a6a2";
+    sha256 = "8bca4077dbdc1434dcbc6759407367b6561e3505aa9555b1bc0b45989dcf50b2";
   };
 
   nativeBuildInputs = [ pytest-runner pkgconfig pkg-config ];
diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix
index 5aca8d6d66c68..816c46204f88f 100644
--- a/pkgs/development/python-modules/pyzmq/default.nix
+++ b/pkgs/development/python-modules/pyzmq/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "22.1.0";
+  version = "22.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7040d6dd85ea65703904d023d7f57fab793d7ffee9ba9e14f3b897f34ff2415d";
+    sha256 = "6d18c76676771fd891ca8e0e68da0bbfb88e30129835c0ade748016adb3b6242";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix
index 17e1d9dbe83b7..7ee51449ed900 100644
--- a/pkgs/development/python-modules/qtpy/default.nix
+++ b/pkgs/development/python-modules/qtpy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "QtPy";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13cw8l7zrhbdi03k1wl1pg9xdl4ahdfa7yz8gd0f23sxnm22rdrd";
+    sha256 = "3d20f010caa3b2c04835d6a2f66f8873b041bdaf7a76085c2a0d7890cdd65ea9";
   };
 
   # no concrete propagatedBuildInputs as multiple backends are supposed
diff --git a/pkgs/development/python-modules/quantities/default.nix b/pkgs/development/python-modules/quantities/default.nix
index 233eb8a44b321..28e08eade43db 100644
--- a/pkgs/development/python-modules/quantities/default.nix
+++ b/pkgs/development/python-modules/quantities/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , numpy
-, python
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -14,15 +14,27 @@ buildPythonPackage rec {
     sha256 = "67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} setup.py test -V 1
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  meta = {
-    description = "Quantities is designed to handle arithmetic and";
+  disabledTests = [
+    # Tests don't work with current numpy
+    # https://github.com/python-quantities/python-quantities/pull/195
+    "test_arctan2"
+    "test_fix"
+  ];
+
+  pythonImportsCheck = [ "quantities" ];
+
+  meta = with lib; {
+    description = "Quantities is designed to handle arithmetic and conversions of physical quantities";
     homepage = "https://python-quantities.readthedocs.io/";
-    license = lib.licenses.bsd2;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/queuelib/default.nix b/pkgs/development/python-modules/queuelib/default.nix
index 7534974237a9b..cd83914669e59 100644
--- a/pkgs/development/python-modules/queuelib/default.nix
+++ b/pkgs/development/python-modules/queuelib/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "queuelib";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "631d067c9be57e395c382d680d3653ca1452cd29e8da25c5e8d94b5c0c528c31";
+    sha256 = "4b207267f2642a8699a1f806045c56eb7ad1a85a10c0e249884580d139c2fcd2";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/r2pipe/default.nix b/pkgs/development/python-modules/r2pipe/default.nix
index 3fbb0fb4042c6..ffe784ad19953 100644
--- a/pkgs/development/python-modules/r2pipe/default.nix
+++ b/pkgs/development/python-modules/r2pipe/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "r2pipe";
-  version = "1.5.3";
+  version = "1.6.0";
 
   postPatch = let
     r2lib = "${lib.getOutput "lib" radare2}/lib";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f3708195c8a6e91c5753940fd348cd821df1389d23b889b01b3e88acf407485";
+    sha256 = "f7d1f629130fac597dc444df57168cf011a18abb1be2f690c8993fc5fb4c78a0";
   };
 
   # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
diff --git a/pkgs/development/python-modules/rdflib-jsonld/default.nix b/pkgs/development/python-modules/rdflib-jsonld/default.nix
index 6e038dd334333..9a0b02c329f72 100644
--- a/pkgs/development/python-modules/rdflib-jsonld/default.nix
+++ b/pkgs/development/python-modules/rdflib-jsonld/default.nix
@@ -17,5 +17,7 @@ buildPythonPackage rec {
     license = licenses.bsdOriginal;
     description = "rdflib extension adding JSON-LD parser and serializer";
     maintainers = [ maintainers.koslambrou ];
+    # incomptiable with rdflib 6.0.0, half of the test suite fails with import and atrribute errors
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix
index 261ba794e70a6..5b16e2f744e24 100644
--- a/pkgs/development/python-modules/rdflib/default.nix
+++ b/pkgs/development/python-modules/rdflib/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "rdflib";
-  version = "5.0.0";
+  version = "6.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mdi7xh4zcr3ngqwlgqdqf0i5bxghwfddyxdng1zwpiqkpa9s53q";
+    sha256 = "7ce4d757eb26f4dd43205ec340d8c097f29e5adfe45d6ea20238c731dc679879";
   };
 
   propagatedBuildInputs = [isodate html5lib SPARQLWrapper ];
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index 0445b02c1f336..92ce64d186dba 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2021.4.4";
+  version = "2021.8.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Uro9P5uULEnX5LwQW7KFUcRAZfE5plBiq3kSvvEMmvs=";
+    sha256 = "f585cbbeecb35f35609edccb95efd95a3e35824cd7752b586503f7e6087303f1";
   };
 
   # Sources for different Python releases are located in same folder
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index c9f2600efe1e3..71d4cd7425d16 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.5.67";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cf2206c73fbca752c8bd39e12bb9ad7f2d01e6fcb2b25b9eaf94ea042fe86c9";
+    sha256 = "68f9324000cfc5570b5a59a92306691b5d655078a399f20bc72c2581fe903261";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index 8b5514f639367..f7c2cdbf27ac8 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -1,7 +1,10 @@
 { lib
+, brotli
+, brotlicffi
 , buildPythonPackage
 , certifi
 , chardet
+, charset-normalizer
 , fetchPypi
 , idna
 , pytest-mock
@@ -9,18 +12,23 @@
 , pytestCheckHook
 , urllib3
 , isPy27
+, isPy3k
+, trustme
 }:
 
 buildPythonPackage rec {
   pname = "requests";
-  version = "2.25.1";
+  version = "2.26.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-J5c91KkEpPE7JjoZyGbBO5KjntHJZGVfAl8/jT11uAQ=";
+    sha256 = "sha256-uKpY+M95P/2HgtPYyxnmbvNverpDU+7IWedGeLAbB6c=";
   };
 
-  patches = [ ./0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch ];
+  patches = [
+    # Use the default NixOS CA bundle from the certifi package
+    ./0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch
+  ];
 
   postPatch = ''
     # Use latest idna
@@ -28,16 +36,24 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
+    brotlicffi
     certifi
+    charset-normalizer
     chardet
     idna
     urllib3
+  ] ++ lib.optionals (isPy3k) [
+    brotlicffi
+    charset-normalizer
+  ] ++ lib.optionals (isPy27) [
+    brotli
   ];
 
   checkInputs = [
     pytest-mock
     pytest-xdist
     pytestCheckHook
+    trustme
   ];
 
   # AttributeError: 'KeywordMapping' object has no attribute 'get'
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index 323bd8ba86850..6c953a4579ea2 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "10.7.0";
+  version = "10.9.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "willmcgugan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1drh08cmcn8dqi0mpfwscz3ljsv2s60kyhxy6iiw5si7rf717j4p";
+    sha256 = "0lf2s7n9b31aavwl5xjl3x1pjc756s8pbk0whh5kag80z5v6qc32";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/robotframework-sshlibrary/default.nix b/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
index 4d72a2b3b0a16..82a5fd3fed671 100644
--- a/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.6.0";
+  version = "3.7.0";
   pname = "robotframework-sshlibrary";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "169c343f4db71e1969169fa6f383ca7fff549aa8f83bdd3d9cbd03cea928b688";
+    sha256 = "55bd5a11bb1fe60a5a83446e6a3e1e81b13fc671e3b660aa55912a263c1f63aa";
   };
 
   # unit tests are impure
diff --git a/pkgs/development/python-modules/ruamel_yaml/default.nix b/pkgs/development/python-modules/ruamel_yaml/default.nix
index 863b62c1bccef..efd418e454d49 100644
--- a/pkgs/development/python-modules/ruamel_yaml/default.nix
+++ b/pkgs/development/python-modules/ruamel_yaml/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "ruamel.yaml";
-  version = "0.17.9";
+  version = "0.17.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "374373b4743aee9f6d9f40bea600fe020a7ac7ae36b838b4a6a93f72b584a14c";
+    sha256 = "1a771fc92d3823682b7f0893ad56cb5a5c87c48e62b5399d6f42c8759a583b33";
   };
 
   # Tests use relative paths
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 2b16b99bea733..23fa728a78a03 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.54.0";
+  version = "2.57.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uLsBHqzpcuTugRXBihdbib64l396m+os39OhP+tLLCM=";
+    sha256 = "b03b340fe54f91b0533d3ce19d5b7fdf403da21b5befab70a9915466e48f6e75";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/sanic-testing/default.nix b/pkgs/development/python-modules/sanic-testing/default.nix
index b59781e5c4591..5e7deb51362e9 100644
--- a/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/pkgs/development/python-modules/sanic-testing/default.nix
@@ -19,6 +19,13 @@ buildPythonPackage rec {
     sha256 = "1pf619cd3dckn3d8gh18vbn7dflvb0mzpf6frx4y950x2j3rdplk";
   };
 
+  postPatch = ''
+    # https://github.com/sanic-org/sanic-testing/issues/19
+    substituteInPlace setup.py \
+      --replace '"websockets==8.1",' '"websockets>=9.1",' \
+      --replace "httpx==0.18.*" "httpx"
+  '';
+
   propagatedBuildInputs = [
     httpx
     sanic
@@ -30,12 +37,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # https://github.com/sanic-org/sanic-testing/issues/19
-    substituteInPlace setup.py \
-      --replace '"websockets==8.1",' '"websockets>=9.1",'
-  '';
-
   # `sanic` is explicitly set to null when building `sanic` itself
   # to prevent infinite recursion.  In that case we skip running
   # the package at all.
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index fa7dabc272933..177032aea7f34 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -37,12 +37,12 @@
 }:
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "21.6.7";
+  version = "21.8.4";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "056923ce556cd6d402e5cc98567cb0331a1b6349d03ec565f8ce1c9c37f3a783";
+    sha256 = "c18340067244274c67e166f701c60e747e1d0bccb17efc99f277a4bc0a5a13c6";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix
index 007cca251436a..e6342b90bba4d 100644
--- a/pkgs/development/python-modules/schema-salad/default.nix
+++ b/pkgs/development/python-modules/schema-salad/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "schema-salad";
-  version = "8.1.20210716111910";
+  version = "8.1.20210721123742";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f851b385d044c58d359285ba471298b6199478a4978f892a83b15cbfb282f25";
+    sha256 = "1549555b9b5656cfc690716f04fb76b9fa002feb278638c446522f030632b450";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-image/default.nix b/pkgs/development/python-modules/scikit-image/default.nix
index f7d3fd63b17b6..b34d3ff7b8de7 100644
--- a/pkgs/development/python-modules/scikit-image/default.nix
+++ b/pkgs/development/python-modules/scikit-image/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-image";
-  version = "0.18.1";
+  version = "0.18.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171";
+    sha256 = "ecae99f93f4c5e9b1bf34959f4dc596c41f2f6b2fc407d9d9ddf85aebd3137ca";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 7a9643aa7d247..2e19d2d42042b 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -3,7 +3,9 @@
 , fetchPypi
 , python
 , buildPythonPackage
+, cython
 , gfortran
+, pythran
 , nose
 , pytest
 , pytest-xdist
@@ -13,18 +15,21 @@
 
 buildPythonPackage rec {
   pname = "scipy";
-  version = "1.6.3";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707";
+    sha256 = "6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764";
   };
 
-  checkInputs = [ nose pytest pytest-xdist ];
-  nativeBuildInputs = [ gfortran ];
+  nativeBuildInputs = [ cython gfortran pythran ];
+
   buildInputs = [ numpy.blas pybind11 ];
+
   propagatedBuildInputs = [ numpy ];
 
+  checkInputs = [ nose pytest pytest-xdist ];
+
   # Remove tests because of broken wrapper
   prePatch = ''
     rm scipy/linalg/tests/test_lapack.py
@@ -41,7 +46,6 @@ buildPythonPackage rec {
     ln -s ${numpy.cfg} site.cfg
   '';
 
-
   # disable stackprotector on aarch64-darwin for now
   #
   # build error:
diff --git a/pkgs/development/python-modules/screeninfo/default.nix b/pkgs/development/python-modules/screeninfo/default.nix
index 80933043b3b9f..21b3f30e1323b 100644
--- a/pkgs/development/python-modules/screeninfo/default.nix
+++ b/pkgs/development/python-modules/screeninfo/default.nix
@@ -1,36 +1,50 @@
-{ lib, buildPythonApplication, fetchPypi, isPy27, isPy36, dataclasses, libX11, libXinerama, libXrandr }:
+{ lib
+, buildPythonApplication
+, dataclasses
+, fetchPypi
+, libX11
+, libXinerama
+, libXrandr
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonApplication rec {
   pname = "screeninfo";
-  version = "0.6.7";
-  disabled = isPy27; # dataclasses isn't available for python2
+  version = "0.7";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c4bac1ca329da3f68cbc4d2fbc92256aa9bb8ff8583ee3e14f91f0a7baa69cb";
+    sha256 = "12a97c3527e3544ac5dbd7c1204283e2653d655cbd15844c990a83b1b13ef500";
   };
 
-  # dataclasses is a compatibility shim for python 3.6 ONLY
-  patchPhase = if isPy36 then "" else ''
-    substituteInPlace setup.py \
-      --replace "\"dataclasses\"," ""
-  '' + ''
-    substituteInPlace screeninfo/enumerators/xinerama.py \
-      --replace "load_library(\"X11\")" "ctypes.cdll.LoadLibrary(\"${libX11}/lib/libX11.so\")" \
-      --replace "load_library(\"Xinerama\")" "ctypes.cdll.LoadLibrary(\"${libXinerama}/lib/libXinerama.so\")"
-    substituteInPlace screeninfo/enumerators/xrandr.py \
-      --replace "load_library(\"X11\")" "ctypes.cdll.LoadLibrary(\"${libX11}/lib/libX11.so\")" \
-      --replace "load_library(\"Xrandr\")" "ctypes.cdll.LoadLibrary(\"${libXrandr}/lib/libXrandr.so\")"
-  '';
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [
+    dataclasses
+  ];
+
+  buildInputs = [
+    libX11
+    libXinerama
+    libXrandr
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = lib.optional isPy36 dataclasses;
+  disabledTestPaths = [
+    # We don't have a screen
+    "screeninfo/test_screeninfo.py"
+  ];
 
-  buildInputs = [ libX11 libXinerama libXrandr];
+  pythonImportsCheck = [ "screeninfo" ];
 
   meta = with lib; {
     description = "Fetch location and size of physical screens";
     homepage = "https://github.com/rr-/screeninfo";
     license = licenses.mit;
-    maintainers = [ maintainers.nickhu ];
+    maintainers = with maintainers; [ nickhu ];
   };
 }
diff --git a/pkgs/development/python-modules/setuptools-scm/default.nix b/pkgs/development/python-modules/setuptools-scm/default.nix
index a4cff6d056b00..87f8c3d13ae4e 100644
--- a/pkgs/development/python-modules/setuptools-scm/default.nix
+++ b/pkgs/development/python-modules/setuptools-scm/default.nix
@@ -1,15 +1,25 @@
-{ lib, buildPythonPackage, fetchPypi, toml }:
+{ lib, buildPythonPackage, fetchPypi, toml, tomli }:
 
 buildPythonPackage rec {
-  pname = "setuptools_scm";
+  pname = "setuptools-scm";
+  # don't update to 6.1.0 or 6.2.0, releases were pulled because of regression
+  # https://github.com/pypa/setuptools_scm/issues/615
   version = "6.0.1";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92";
+    pname = "setuptools_scm";
+    inherit version;
+    sha256 = "sha256-0ZJaacsH6bKUFqJ1ufrbAJojwUis6QWy+yIGSabBjpI=";
   };
 
-  propagatedBuildInputs = [ toml ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "tomli~=1.0.0" "tomli>=1.0.0"
+  '';
+
+  # TODO: figure out why both toml and tomli are needed when only tomli is listed in setuptools-scm
+  # if not both are listed some packages like zipp silently fallback to a 0.0.0 version number and break version pins in other packages
+  propagatedBuildInputs = [ toml tomli ];
 
   # Requires pytest, circular dependency
   doCheck = false;
diff --git a/pkgs/development/python-modules/simple-salesforce/default.nix b/pkgs/development/python-modules/simple-salesforce/default.nix
index 592e23578095a..7a0cebc44f924 100644
--- a/pkgs/development/python-modules/simple-salesforce/default.nix
+++ b/pkgs/development/python-modules/simple-salesforce/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "simple-salesforce";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1xysym0b1qnxck4hbj5d0l5wapwfahmkr280f6iskz2hi5j2j1yb";
+    sha256 = "16bd40n0xy0vmsgi2499vc6mx57ksyjrm6v88bwxp49p9qrm4a23";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
index 0d4d45cce5d69..52e55c71aff0e 100644
--- a/pkgs/development/python-modules/simplejson/default.nix
+++ b/pkgs/development/python-modules/simplejson/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "simplejson";
-  version = "3.17.3";
+  version = "3.17.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ev1vKyxexPvTT+esf9ngUcHu70Brl27P3qbS5fK2HxU=";
+    sha256 = "1vljsd5bk12gasadkxcddwhmp38fj64x1aqi4frk3frq9lp8h3a1";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/singledispatch/default.nix b/pkgs/development/python-modules/singledispatch/default.nix
index 8fa62e835f225..837271b4d57c7 100644
--- a/pkgs/development/python-modules/singledispatch/default.nix
+++ b/pkgs/development/python-modules/singledispatch/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "singledispatch";
-  version = "3.6.2";
+  version = "3.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5bb9405a4b8de48e36709238e8b91b4f6f300f81a5132ba2531a9a738eca391";
+    sha256 = "c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 6183ee7b0cba8..92712b2ce41f4 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.10.0";
+  version = "3.10.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "v${version}";
-    sha256 = "sha256-FOpUO9bXrEOgYGmRmAhHnovzBafu6D2ZSLcgw0+0uzs=";
+    sha256 = "1m9jbn5wn892f22lxkxgahlbnwflak50hfjrydblp4agsag94nsg";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slowapi/default.nix b/pkgs/development/python-modules/slowapi/default.nix
index 921a191d5fa1a..a1e54a6c5f935 100644
--- a/pkgs/development/python-modules/slowapi/default.nix
+++ b/pkgs/development/python-modules/slowapi/default.nix
@@ -43,6 +43,12 @@ buildPythonPackage rec {
     starlette
   ];
 
+  disabledTests = [
+    # E       AssertionError: Regex pattern 'parameter `request` must be an instance of starlette.requests.Request' does not match 'This portal is not running'.
+    "test_endpoint_request_param_invalid"
+    "test_endpoint_response_param_invalid"
+  ];
+
   patches = [
     # Switch to poetry-core, https://github.com/laurentS/slowapi/pull/54
     (fetchpatch {
diff --git a/pkgs/development/python-modules/smart-meter-texas/default.nix b/pkgs/development/python-modules/smart-meter-texas/default.nix
index f8bd6825673cb..a9364ad0d1f29 100644
--- a/pkgs/development/python-modules/smart-meter-texas/default.nix
+++ b/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -3,13 +3,14 @@
 , pythonOlder
 , fetchFromGitHub
 , aiohttp
+, asn1
 , python-dateutil
 , tenacity
 }:
 
 buildPythonPackage rec {
   pname = "smart-meter-texas";
-  version = "0.4.4";
+  version = "0.4.7";
 
   disabled = pythonOlder "3.6";
 
@@ -17,7 +18,7 @@ buildPythonPackage rec {
     owner = "grahamwetzler";
     repo = "smart-meter-texas";
     rev = "v${version}";
-    sha256 = "sha256-jewibcsqWnl0OQ2oEEOSOcyyDCIGZiG4EZQfuFUbxK4=";
+    sha256 = "1hfvv3kpkc7i9mn58bjgvwjj0mi2syr8fv4r8bwbhq5sailma27j";
   };
 
   postPatch = ''
@@ -27,6 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
+    asn1
     python-dateutil
     tenacity
   ];
diff --git a/pkgs/development/python-modules/smart-open/default.nix b/pkgs/development/python-modules/smart-open/default.nix
index 5e86281642afb..bbe8b1b468ee5 100644
--- a/pkgs/development/python-modules/smart-open/default.nix
+++ b/pkgs/development/python-modules/smart-open/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "smart-open";
-  version = "5.2.0";
+  version = "5.2.1";
 
   disabled = pythonOlder "3.5";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "RaRe-Technologies";
     repo = "smart_open";
     rev = "v${version}";
-    sha256 = "sha256-eC9BYHeACzGp382QBNgLcNMYDkHi0WXyEj/Re9ShXuA=";
+    sha256 = "13a1qsb4vwrhx45hz4qcl0d7bgv20ai5vsy7cq0q6qbj212nff19";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 0b0c961e7d095..81d939db66bed 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.5.1";
+  version = "2.6.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8af2a51ac890d9e0ffe0cd509ba83198076e2564fb8fdc63c6814b773e70b33a";
+    sha256 = "0198d9c1934540ae9c7276d98f1048f3432160613d9d0e49398112bb21b0f0bb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/snscrape/default.nix b/pkgs/development/python-modules/snscrape/default.nix
index a8f565aa3533a..98933759f0bbe 100644
--- a/pkgs/development/python-modules/snscrape/default.nix
+++ b/pkgs/development/python-modules/snscrape/default.nix
@@ -1,33 +1,48 @@
 { lib
+, beautifulsoup4
 , buildPythonPackage
-, isPy3k
-, fetchPypi
-, setuptools-scm
-, setuptools
-, requests
+, fetchFromGitHub
 , lxml
-, beautifulsoup4
+, pythonOlder
+, pytz
+, requests
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "snscrape";
-  version = "0.3.4";
+  version = "unstable-2021-08-30";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "36ba7f95c8bf5202749189f760e591952f19c849379c35ff598aafafe5d0cfef";
+  src = fetchFromGitHub {
+    owner = "JustAnotherArchivist";
+    repo = pname;
+    rev = "c76f1637ce1d7a154af83495b67ead2559cd5715";
+    sha256 = "01x4961fxj1p98y6fcyxw5sv8fa87x41fdx9p31is12bdkmqxi6v";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    lxml
+    requests
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    pytz
+  ];
+
   # There are no tests; make sure the executable works.
   checkPhase = ''
     export PATH=$PATH:$out/bin
     snscrape --help
   '';
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ setuptools requests lxml beautifulsoup4 ];
+  pythonImportsCheck = [ "snscrape" ];
 
   meta = with lib; {
     homepage = "https://github.com/JustAnotherArchivist/snscrape";
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index d37ccd3e44896..cf792da1249ea 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 # propagatedBuildInputs
 , Babel
 , alabaster
@@ -39,6 +40,14 @@ buildPythonPackage rec {
     sha256 = "sha256-0QdgHFX4r40BDHjpi9R40lXqT4n5ZgrIny+w070LZPE=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix tests with pygments 2.10
+      url = "https://github.com/sphinx-doc/sphinx/commit/bde6c8d2effc56dc8b9098abee796167f972c306.patch";
+      sha256 = "0d0ddhgrrh7z9ix0f3zrc2gjb4d73f6ffm98zl62fzv5l4fd00lr";
+    })
+  ];
+
   propagatedBuildInputs = [
     Babel
     alabaster
diff --git a/pkgs/development/python-modules/sphinxcontrib-autoapi/default.nix b/pkgs/development/python-modules/sphinxcontrib-autoapi/default.nix
index 484b692f69f8b..9f72e6f3d64fa 100644
--- a/pkgs/development/python-modules/sphinxcontrib-autoapi/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-autoapi/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sphinx-autoapi";
-  version = "1.8.1";
+  version = "1.8.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "842c0a8f49c824803f7edee31cb1cabd5001a987553bec7b4681283ec9e47d4a";
+    sha256 = "8c4ec5fbedc1e6e8f4692bcc4fcd1abcfb9e8dfca8a4ded60ad811a743c22ccc";
   };
 
   propagatedBuildInputs = [ astroid jinja2 pyyaml sphinx unidecode ];
diff --git a/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix b/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
index 8ca631a2b3c91..4efdb2633f28b 100644
--- a/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-htmlhelp";
-  version = "1.0.3";
+  version = "2.0.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b";
+    sha256 = "f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2";
   };
 
 
diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch b/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch
deleted file mode 100644
index 847a6e076918b..0000000000000
--- a/pkgs/development/python-modules/sphinxcontrib-tikz/binary-paths.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/sphinxcontrib/tikz.py b/sphinxcontrib/tikz.py
-index ee21113..a4f4589 100644
---- a/sphinxcontrib/tikz.py
-+++ b/sphinxcontrib/tikz.py
-@@ -242,7 +242,7 @@ def render_tikz(self, node, libs='', stringsubst=False):
-         tf.write(latex)
-         tf.close()
- 
--        system([self.builder.config.latex_engine, '--interaction=nonstopmode',
-+        system(['@texLive@/bin/pdflatex', '--interaction=nonstopmode',
-                 'tikz-%s.tex' % shasum],
-                self.builder)
- 
-@@ -281,7 +281,7 @@ def render_tikz(self, node, libs='', stringsubst=False):
-                     '-sOutputFile=%s' % outfn, '-r' + resolution + 'x' + resolution,
-                     '-f', 'tikz-%s.pdf' % shasum], self.builder)
-         elif self.builder.config.tikz_proc_suite == "pdf2svg":
--            system(['pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder)
-+            system(['@pdf2svg@/bin/pdf2svg', 'tikz-%s.pdf' % shasum, outfn], self.builder)
-         else:
-             self.builder._tikz_warned = True
-             raise TikzExtError('Error (tikz extension): Invalid configuration '
diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
index 19f386d7d2785..cc5412fe42ffc 100644
--- a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -9,19 +9,18 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-tikz";
-  version = "0.4.13";
+  version = "0.4.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "882e3ccfa202559bf77b90c93ee5eb13ec50cdd7714b3673dc6580dea7236740";
+    sha256 = "1614a45c960b80009dd42f96689122c9c0781018a0c5ec5828f4cdc5e35b11ad";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./binary-paths.patch;
-      inherit texLive pdf2svg;
-    })
-  ];
+  postPatch = ''
+    substituteInPlace sphinxcontrib/tikz.py \
+      --replace "config.latex_engine" "${texLive}/bin/pdflatex" \
+      --replace "system(['pdf2svg'" "system(['${pdf2svg}/bin/pdf2svg'"
+  '';
 
   propagatedBuildInputs = [ sphinx ];
 
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index fa29236563e45..5ce41d8d7575f 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
-  version = "1.10.3";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cecb0ca0115a42bab864c199a737c859a8534a510fc7edfa33dc42abcbb5287f";
+    sha256 = "6c287207c7855bb581eae66ef8d990407382d5f9caccb1e0cabf909aaaf10c9b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index 5aaf4cb4a757e..dbe54d52e3a9e 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "4.2.5";
+  version = "5.1.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03159003f6ea51458e10000091e65e77888b095dba48e64ca2b36c75a648580c";
+    sha256 = "6551acfd6fedfebd1f938ef67d3db415b33540f8377e7de3f4d4a2a11dd1b915";
   };
 
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index 35f7d7c07c98d..8f5f7fd619c5f 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -4,36 +4,38 @@
 , pythonOlder
 , click
 , click-default-group
+, dateutils
 , sqlite-fts4
 , tabulate
 , pytestCheckHook
-, pytest-runner
-, black
 , hypothesis
-, sqlite
 }:
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.9.1";
+  version = "3.17";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a08ed62eb269e26ae9c35b9be9cd3d395b0522157e6543128a40cc5302d8aa81";
+    sha256 = "77acd202aa568a1f6888c5d8879f306bb3f8acedc82df0df98eb615caa491abb";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner"' ""
+  '';
+
   propagatedBuildInputs = [
     click
     click-default-group
+    dateutils
     sqlite-fts4
     tabulate
   ];
 
   checkInputs = [
     pytestCheckHook
-    pytest-runner
-    black
     hypothesis
   ];
 
@@ -43,5 +45,4 @@ buildPythonPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ meatcar ];
   };
-
 }
diff --git a/pkgs/development/python-modules/ssdp/default.nix b/pkgs/development/python-modules/ssdp/default.nix
index ac39cffa393ec..bd73a6abaead4 100644
--- a/pkgs/development/python-modules/ssdp/default.nix
+++ b/pkgs/development/python-modules/ssdp/default.nix
@@ -1,31 +1,51 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy27
+, fetchFromGitHub
 , pbr
-, pytest
-, isPy3k
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "ssdp";
-  version = "1.0.1";
-  disabled = !isPy3k;
+  version = "1.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0yhjqs9jyvwmba8fi72xfi9k8pxy11wkz4iywayrg71ka3la49bk";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "codingjoe";
+    repo = pname;
+    rev = version;
+    sha256 = "19d2b5frpq2qkfkpz173wpjk5jwhkjpk75p8q92nm8iv41nrzljy";
   };
 
-  buildInputs = [ pbr ];
-  checkInputs = [ pytest ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    pbr
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pytest-runner" "" \
+      --replace "--cov=ssdp" ""
+  '';
 
-  # test suite uses new async primitives
-  doCheck = !isPy27;
+  pythonImportsCheck = [ "ssdp" ];
 
   meta = with lib; {
+    description = "Python asyncio library for Simple Service Discovery Protocol (SSDP)";
     homepage = "https://github.com/codingjoe/ssdp";
-    description = "Python asyncio library for Simple Service Discovery Protocol (SSDP).";
     license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index 3079b60564f16..e8c130692125d 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -4,6 +4,8 @@
 , fetchFromGitHub
 , isPy27
 , aiofiles
+, anyio
+, contextlib2
 , graphene
 , itsdangerous
 , jinja2
@@ -12,22 +14,24 @@
 , requests
 , aiosqlite
 , databases
-, pytestCheckHook
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, trio
 , typing-extensions
 , ApplicationServices
 }:
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.14.2";
-  disabled = isPy27;
+  version = "0.16.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "0fz28czvwiww693ig9vwdja59xxs7m0yp1df32ms1hzr99666bia";
+    sha256 = "sha256-/NYhRRZdi6I7CtLCohAqK4prsSUayOxa6sBKIJhPv+w=";
   };
 
   postPatch = ''
@@ -37,19 +41,27 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiofiles
+    anyio
     graphene
     itsdangerous
     jinja2
     python-multipart
     pyyaml
     requests
-  ] ++ lib.optional stdenv.isDarwin [ ApplicationServices ];
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    contextlib2
+  ] ++ lib.optional stdenv.isDarwin [
+    ApplicationServices
+  ];
 
   checkInputs = [
     aiosqlite
     databases
     pytest-asyncio
     pytestCheckHook
+    trio
     typing-extensions
   ];
 
@@ -57,8 +69,12 @@ buildPythonPackage rec {
     # fails to import graphql, but integrated graphql support is about to
     # be removed in 0.15, see https://github.com/encode/starlette/pull/1135.
     "tests/test_graphql.py"
-    # contextfunction was removed in Jinja 3.1
-    "tests/test_templates.py"
+  ];
+
+  disabledTests = [
+    # asserts fail due to inclusion of br in Accept-Encoding
+    "test_websocket_headers"
+    "test_request_headers"
   ];
 
   pythonImportsCheck = [ "starlette" ];
diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix
index ee21e9c451687..b8bb9a36586a3 100644
--- a/pkgs/development/python-modules/sure/default.nix
+++ b/pkgs/development/python-modules/sure/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "sure";
-  version = "1.4.11";
+  version = "2.0.0";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c8d5271fb18e2c69e2613af1ad400d8df090f1456081635bd3171847303cdaa";
+    sha256 = "34ae88c846046742ef074036bf311dc90ab152b7bc09c342b281cebf676727a2";
   };
 
   buildInputs = [ rednose ];
diff --git a/pkgs/development/python-modules/tableaudocumentapi/default.nix b/pkgs/development/python-modules/tableaudocumentapi/default.nix
index 5260a678e8c7a..56a3b27e7b965 100644
--- a/pkgs/development/python-modules/tableaudocumentapi/default.nix
+++ b/pkgs/development/python-modules/tableaudocumentapi/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "tableaudocumentapi";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc6d44b62cf6ea29916c073686e2f9f35c9902eccd57b8493f8d44a59a2f60d9";
+    sha256 = "5b1d04817a0fba43d58e1ce23c64ad8dfe54dc029ba5ccae3908944555bb13e0";
   };
 
   # tests not inclued with release
diff --git a/pkgs/development/python-modules/tempora/default.nix b/pkgs/development/python-modules/tempora/default.nix
index 8da8d622a7b3e..7bd7605fc3ff7 100644
--- a/pkgs/development/python-modules/tempora/default.nix
+++ b/pkgs/development/python-modules/tempora/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "tempora";
-  version = "4.0.2";
+  version = "4.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10fdc29bf85fa0df39a230a225bb6d093982fc0825b648a414bbc06bddd79909";
+    sha256 = "c54da0f05405f04eb67abbb1dff4448fd91428b58cb00f0f645ea36f6a927950";
   };
 
   disabled = pythonOlder "3.2";
diff --git a/pkgs/development/python-modules/tensorboard-plugin-profile/default.nix b/pkgs/development/python-modules/tensorboard-plugin-profile/default.nix
index 1ae1aa471be5a..843b9d6c3199f 100644
--- a/pkgs/development/python-modules/tensorboard-plugin-profile/default.nix
+++ b/pkgs/development/python-modules/tensorboard-plugin-profile/default.nix
@@ -6,14 +6,15 @@
 
 buildPythonPackage rec {
   pname = "tensorboard_plugin_profile";
-  version = "2.4.0";
+  version = "2.5.0";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version;
     format = "wheel";
+    dist = "py3";
     python = "py3";
-    sha256 = "0z6dcjvkk3pzmmmjxi2ybawnfshz5qa3ga92kqj69ld1g9k3i9bj";
+    sha256 = "16jch9py98h7wrffdiz6j0i3kdykxdp5m0kfxr1fxy2phqanpjqk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
index 27c159349b0ac..aff355d963ce7 100644
--- a/pkgs/development/python-modules/terminado/default.nix
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "terminado";
-  version = "0.10.1";
+  version = "0.11.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "89d5dac2f4e2b39758a0ff9a3b643707c95a020a6df36e70583b88297cd59cbe";
+    sha256 = "962b402edbb480718054dc37027bada293972ecadfb587b89f01e2b8660a2132";
   };
 
   propagatedBuildInputs = [ ptyprocess tornado ];
diff --git a/pkgs/development/python-modules/termplotlib/default.nix b/pkgs/development/python-modules/termplotlib/default.nix
index dae40dcb993a3..492d51dcb2ca8 100644
--- a/pkgs/development/python-modules/termplotlib/default.nix
+++ b/pkgs/development/python-modules/termplotlib/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "termplotlib";
-  version = "0.3.5";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "nschloe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1z6bw6lkbrgjyq3ndsx20gwpai4scm1q9rjh4rdz0rvja4jdcv3z";
+    sha256 = "10k70pb7554cc2zwkcgxfak8nb7iqqw6njbnaqfdz07l4v9f6smm";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/tern/default.nix b/pkgs/development/python-modules/tern/default.nix
index 0468ee6f84b17..b8aee5ab93152 100644
--- a/pkgs/development/python-modules/tern/default.nix
+++ b/pkgs/development/python-modules/tern/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "tern";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "749c18ef493ebe3ac28624b2b26c6e38f77de2afd6a6579d2c92393d8fbdbd46";
+    sha256 = "cfd59431cafd6adf05ccb94be964098d9301f83a03bf715def7861811e4a4b74";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 750b070804c31..6fefda407f905 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "0.18.3";
+  version = "0.19.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hdc5gm6dg1vw6qfs3z6mg2m94scrvjphj0lin6pi8n3zqj1h26k";
+    sha256 = "04ihjxysfmppwa7rnz86nd89wrqks2gwvcza8707yddzfp5hh8id";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index 8ef3d9c4320f1..a07117a1e46db 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "testtools";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "64c974a6cca4385d05f4bbfa2deca1c39ce88ede31c3448bee86a7259a9a61c8";
+    sha256 = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f";
   };
 
   propagatedBuildInputs = [ pbr python_mimeparse extras unittest2 ];
diff --git a/pkgs/development/python-modules/texttable/default.nix b/pkgs/development/python-modules/texttable/default.nix
index a8c6d9dcfda89..b104bd8459626 100644
--- a/pkgs/development/python-modules/texttable/default.nix
+++ b/pkgs/development/python-modules/texttable/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "texttable";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce0faf21aa77d806bbff22b107cc22cce68dc9438f97a2df32c93e9afa4ce436";
+    sha256 = "42ee7b9e15f7b225747c3fa08f43c5d6c83bc899f80ff9bae9319334824076e9";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index 40654366ea215..236f3443ca6bc 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "2021.6.14";
+  version = "2021.8.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a2f83d82800a8d83cbd04340f9d65a6873a970874947a6b823b1b1238e84cba6";
+    sha256 = "8260f31c4700143e8374ff6cde5cef7fe54fc9b7313afe88329f407881901dc5";
   };
 
   patches = lib.optional isPy27 ./python2-regex-compat.patch;
diff --git a/pkgs/development/python-modules/tomli/default.nix b/pkgs/development/python-modules/tomli/default.nix
index c658339dcd9cf..79cd5a4f500cc 100644
--- a/pkgs/development/python-modules/tomli/default.nix
+++ b/pkgs/development/python-modules/tomli/default.nix
@@ -1,9 +1,8 @@
 { lib
 , buildPythonPackage
+, callPackage
 , fetchFromGitHub
 , flit-core
-, pytestCheckHook
-, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -11,6 +10,11 @@ buildPythonPackage rec {
   version = "1.1.0";
   format = "pyproject";
 
+  outputs = [
+    "out"
+    "testsout"
+  ];
+
   src = fetchFromGitHub {
     owner = "hukkin";
     repo = pname;
@@ -20,17 +24,24 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ flit-core ];
 
-  checkInputs = [
-    pytestCheckHook
-    python-dateutil
-  ];
+  postInstall = ''
+    mkdir $testsout
+    cp -R benchmark/ pyproject.toml tests/ $testsout/
+  '';
 
   pythonImportsCheck = [ "tomli" ];
 
+  # check in passthru.tests.pytest to escape infinite recursion with setuptools-scm
+  doCheck = false;
+
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
+
   meta = with lib; {
     description = "A Python library for parsing TOML, fully compatible with TOML v1.0.0";
     homepage = "https://github.com/hukkin/tomli";
     license = licenses.mit;
-    maintainers = with maintainers; [ veehaitch ];
+    maintainers = with maintainers; [ veehaitch SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/tomli/tests.nix b/pkgs/development/python-modules/tomli/tests.nix
new file mode 100644
index 0000000000000..5d3d67dbd128c
--- /dev/null
+++ b/pkgs/development/python-modules/tomli/tests.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage
+, tomli
+, pytestCheckHook
+, python-dateutil
+}:
+
+buildPythonPackage rec {
+  pname = "tomli-tests";
+  inherit (tomli) version;
+
+  src = tomli.testsout;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    pytestCheckHook
+    python-dateutil
+    tomli
+  ];
+}
diff --git a/pkgs/development/python-modules/towncrier/default.nix b/pkgs/development/python-modules/towncrier/default.nix
index 6b699a2fbc246..83215f5e0af37 100644
--- a/pkgs/development/python-modules/towncrier/default.nix
+++ b/pkgs/development/python-modules/towncrier/default.nix
@@ -3,6 +3,7 @@
 , click-default-group
 , incremental
 , jinja2
+, mock
 , pytestCheckHook
 , toml
 , twisted
@@ -11,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "towncrier";
-  version = "19.9.0";
+  version = "21.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19916889879353a8863f3de8cb1ef19b305a0b5cfd9d36159d76ca2fef08e9aa";
+    sha256 = "6eed0bc924d72c98c000cb8a64de3bd566e5cb0d11032b73fcccf8a8f956ddfe";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +29,12 @@ buildPythonPackage rec {
 
   # zope.interface collision
   doCheck = !isPy27;
-  checkInputs = [ git twisted pytestCheckHook ];
+  checkInputs = [
+    git
+    mock
+    twisted
+    pytestCheckHook
+  ];
   pythonImportsCheck = [ "towncrier" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index 035bb9701bb52..c660327ad72e7 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.23.1";
+  version = "3.24.3";
 
   buildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "307a81ddb82bd463971a273f33e9533a24ed22185f27db8ce3386bff27d324e3";
+    sha256 = "c6c4e77705ada004283610fd6d9ba4f77bc85d235447f875df9f0ba1bc23b634";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index fe2eb35d4df77..babea4357a793 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.61.1";
+  version = "4.62.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "24be966933e942be5f074c29755a95b315c69a91f839a29139bf26ffffe2d3fd";
+    sha256 = "a4d6d112e507ef98513ac119ead1159d286deab17dffedd96921412c2d236ff5";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/traitlets/default.nix b/pkgs/development/python-modules/traitlets/default.nix
index 3bc05897af667..23412d0a6940f 100644
--- a/pkgs/development/python-modules/traitlets/default.nix
+++ b/pkgs/development/python-modules/traitlets/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "traitlets";
-  version = "5.0.5";
+  version = "5.1.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396";
+    sha256 = "bd382d7ea181fbbcce157c133db9a829ce06edffe097bcf3ab945b435452b46d";
   };
 
   checkInputs = [ glibcLocales pytest mock ];
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index d5ddf8f588026..75e1ee68e4b30 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonApplication rec {
   pname = "trytond";
-  version = "5.8.9";
+  version = "6.0.5";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5f14e9615ff91e18c146c74eb4c1cd56112662361a52c73389f15baced0bef18";
+    sha256 = "3ccb98dbf905d99991ed0151e13c91cd9267e4aa104fa40097df4e02580dadfc";
   };
 
   # Tells the tests which database to use
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index da5c4a9c3f516..f5809b0a9b909 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -14,12 +14,13 @@
 
 buildPythonPackage rec {
   pname = "twine";
-  version = "3.4.1";
+  version = "3.4.2";
+  format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a56c985264b991dc8a8f4234eb80c5af87fa8080d0c224ad8f2cd05a2c22e83b";
+    sha256 = "4caec0f1ed78dc4c9b83ad537e453d03ce485725f2aea57f1bb3fdde78dae936";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index 2fc5cc0d4503f..4b3f9c1726c88 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.1.0";
+  version = "2021.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hzjz6wgzfyybcfli4rpmfxk49cn6x3slbs2xdmlnckvlahs5pxd";
+    sha256 = "448828a06f2aaa840e57364d866c661645a045e532f817e4f10c8c3ab2b66651";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix
index fd8a25a485b98..939ca25eb1a31 100644
--- a/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/pkgs/development/python-modules/typing-extensions/default.nix
@@ -4,11 +4,11 @@ let
 
 in buildPythonPackage rec {
   pname = "typing_extensions";
-  version = "3.10.0.0";
+  version = "3.10.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342";
+    sha256 = "49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e";
   };
 
   checkInputs = lib.optional (pythonOlder "3.5") typing;
diff --git a/pkgs/development/python-modules/tzlocal/default.nix b/pkgs/development/python-modules/tzlocal/default.nix
index c5514cfa53a48..363e1d12a55ef 100644
--- a/pkgs/development/python-modules/tzlocal/default.nix
+++ b/pkgs/development/python-modules/tzlocal/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "tzlocal";
-  version = "2.1";
+  version = "2.1"; # version needs to be compatible with APScheduler
 
   propagatedBuildInputs = [ pytz ];
 
diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix
index a762ec55ee368..c7e11ab6c2582 100644
--- a/pkgs/development/python-modules/uvloop/default.nix
+++ b/pkgs/development/python-modules/uvloop/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "uvloop";
-  version = "0.15.2";
+  version = "0.16.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2bb0624a8a70834e54dde8feed62ed63b50bad7a1265c40d6403a2ac447bce01";
+    sha256 = "f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index 2bcfa88b6ae4e..10e1ebbc87bc1 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -1,6 +1,9 @@
-{ buildPythonPackage
-, appdirs
-, contextlib2
+{ stdenv
+, lib
+, buildPythonPackage
+, pythonOlder
+, isPy27
+, backports-entry-points-selectable
 , cython
 , distlib
 , fetchPypi
@@ -8,26 +11,23 @@
 , flaky
 , importlib-metadata
 , importlib-resources
-, isPy27
-, lib
 , pathlib2
+, platformdirs
 , pytest-freezegun
 , pytest-mock
 , pytest-timeout
 , pytestCheckHook
-, pythonOlder
 , setuptools-scm
 , six
-, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.4.7";
+  version = "20.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14fdf849f80dbb29a4eb6caa9875d476ee2a5cf76a5f5415fa2f1606010ab467";
+    sha256 = "9ef4e8ee4710826e98ff3075c9a4739e2cb1040de6a2a8d35db0055840dc96a0";
   };
 
   nativeBuildInputs = [
@@ -35,13 +35,12 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    appdirs
+    backports-entry-points-selectable
     distlib
     filelock
+    platformdirs
     six
-  ] ++ lib.optionals isPy27 [
-    contextlib2
-  ] ++ lib.optionals (isPy27 && !stdenv.hostPlatform.isWindows) [
+  ] ++ lib.optionals (pythonOlder "3.4" && !stdenv.hostPlatform.isWindows) [
     pathlib2
   ] ++ lib.optionals (pythonOlder "3.7") [
     importlib-resources
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index 849f25ef0df3b..9ebbfcd77e879 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -1,15 +1,26 @@
-{ lib, buildPythonPackage, substituteAll, stdenv,
-  fetchPypi, numpy, cython, freetype-py, fontconfig, libGL,
-  setuptools-scm, setuptools-scm-git-archive
-  }:
+{ lib
+, stdenv
+, buildPythonPackage
+, substituteAll
+, fetchPypi
+, cython
+, fontconfig
+, freetype-py
+, hsluv
+, kiwisolver
+, libGL
+, numpy
+, setuptools-scm
+, setuptools-scm-git-archive
+}:
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.6.6";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f3c4d00be9e6761c046d520a86693d78a0925d47eeb2fc095e95dac776f74ee";
+    sha256 = "6e482e68487f5384205d349f288580d6287fd690df4cdc3ad4c573afc39990f1";
   };
 
   patches = [
@@ -21,15 +32,37 @@ buildPythonPackage rec {
   ];
 
   nativeBuildInputs = [
-    cython setuptools-scm setuptools-scm-git-archive
+    cython
+    setuptools-scm
+    setuptools-scm-git-archive
+  ];
+
+  buildInputs = [
+    libGL
   ];
 
   propagatedBuildInputs = [
-    numpy freetype-py fontconfig libGL
+    fontconfig
+    freetype-py
+    hsluv
+    kiwisolver
+    numpy
   ];
 
   doCheck = false;  # otherwise runs OSX code on linux.
-  pythonImportsCheck = [ "vispy" ];
+
+  pythonImportsCheck = [
+    "vispy"
+    "vispy.color"
+    "vispy.geometry"
+    "vispy.gloo"
+    "vispy.glsl"
+    "vispy.io"
+    "vispy.plot"
+    "vispy.scene"
+    "vispy.util"
+    "vispy.visuals"
+  ];
 
   meta = with lib; {
     homepage = "https://vispy.org/index.html";
diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix
index 43e54bda9d6cd..5dc8bc2254d40 100644
--- a/pkgs/development/python-modules/vivisect/default.nix
+++ b/pkgs/development/python-modules/vivisect/default.nix
@@ -10,12 +10,12 @@
 }:
 buildPythonPackage rec {
   pname = "vivisect";
-  version = "0.2.1";
+  version = "1.0.4";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fc4d2097a1d0d8d97aa8c540984cb52432df759f04f2281a21a4e1b7d1a95a7";
+    sha256 = "bd47b2cf5874cd2f74e6c36b8a97bf301785bacf9ac0297bbe78ec1b8c86c755";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index 0a75600bb0f04..1a1c6a33acb33 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "vowpalwabbit";
-  version = "8.10.2";
+  version = "8.11.0";
 
   src = fetchPypi{
     inherit pname version;
-    sha256 = "e9f7d525a6e88ebff41406409a5c31f79bb008f524fc63a61dc74bac6a1ac887";
+    sha256 = "cfde0515a3fa4d224aad5461135372f3441ae1a64717ae6bff5e23509d70b0bd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
index d3881032af13a..dff14d15b901f 100644
--- a/pkgs/development/python-modules/wasmer/default.nix
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -1,45 +1,99 @@
-{ lib
-, stdenv
+{ stdenv
+, lib
 , rustPlatform
+, callPackage
 , fetchFromGitHub
 , buildPythonPackage
 , libiconv
+, llvm_11
+, libffi
+, libxml2
+, ncurses
+, zlib
 }:
 
-buildPythonPackage rec {
-  pname = "wasmer";
-  version = "1.0.0";
+let
+  common =
+    { pname
+    , buildAndTestSubdir
+    , cargoHash
+    , extraNativeBuildInputs ? [ ]
+    , extraBuildInputs ? [ ]
+    }: buildPythonPackage rec {
+      inherit pname;
+      version = "1.0.0";
+      format = "pyproject";
 
-  src = fetchFromGitHub {
-    owner = "wasmerio";
-    repo = "wasmer-python";
-    rev = version;
-    hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY=";
-  };
+      outputs = [ "out" ] ++ lib.optional (pname == "wasmer") "testsout";
 
-  cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    hash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc=";
-  };
+      src = fetchFromGitHub {
+        owner = "wasmerio";
+        repo = "wasmer-python";
+        rev = version;
+        hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY=";
+      };
+
+      cargoDeps = rustPlatform.fetchCargoTarball {
+        inherit src;
+        name = "${pname}-${version}";
+        sha256 = cargoHash;
+      };
+
+      nativeBuildInputs = (with rustPlatform; [ cargoSetupHook maturinBuildHook ])
+        ++ extraNativeBuildInputs;
+
+      buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]
+        ++ extraBuildInputs;
 
-  format = "pyproject";
+      inherit buildAndTestSubdir;
 
-  nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
+      postInstall = lib.optionalString (pname == "wasmer") ''
+        mkdir $testsout
+        cp -R tests $testsout/tests
+      '';
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+      # check in passthru.tests.pytest because all packages are required to run the tests
+      doCheck = false;
 
-  buildAndTestSubdir = "packages/api";
+      passthru.tests = lib.optionalAttrs (pname == "wasmer") {
+        pytest = callPackage ./tests.nix { };
+      };
 
-  doCheck = false;
+      pythonImportsCheck = [ "${lib.replaceStrings ["-"] ["_"] pname}" ];
 
-  pythonImportsCheck = [ "wasmer" ];
+      meta = with lib; {
+        description = "Python extension to run WebAssembly binaries";
+        homepage = "https://github.com/wasmerio/wasmer-python";
+        license = licenses.mit;
+        platforms = platforms.unix;
+        maintainers = with maintainers; [ SuperSandro2000 ];
+      };
+    };
+in
+rec {
+  wasmer = common {
+    pname = "wasmer";
+    buildAndTestSubdir = "packages/api";
+    cargoHash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc=";
+  };
+
+  wasmer-compiler-cranelift = common {
+    pname = "wasmer-compiler-cranelift";
+    buildAndTestSubdir = "packages/compiler-cranelift";
+    cargoHash = "sha256-cHgAUwqnbQV3E5nUYGYQ48ntbIFfq4JXfU5IrSFZ3zI=";
+  };
+
+  wasmer-compiler-llvm = common {
+    pname = "wasmer-compiler-llvm";
+    buildAndTestSubdir = "packages/compiler-llvm";
+    cargoHash = "sha256-Jm22CC5S3pN/vdVvsGZdvtoAgPzWVLto8wavSJdxY3A=";
+    extraNativeBuildInputs = [ llvm_11 ];
+    extraBuildInputs = [ libffi libxml2.out ncurses zlib ];
+  };
 
-  meta = with lib; {
-    description = "Python extension to run WebAssembly binaries";
-    homepage = "https://github.com/wasmerio/wasmer-python";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ SuperSandro2000 ];
+  wasmer-compiler-singlepass = common {
+    pname = "wasmer-compiler-singlepass";
+    buildAndTestSubdir = "packages/compiler-singlepass";
+    cargoHash = "sha256-lmqEo3+jYoN+4EEYphcoE4b84jdFcvYVycjrJ956Bh8=";
   };
 }
diff --git a/pkgs/development/python-modules/wasmer/tests.nix b/pkgs/development/python-modules/wasmer/tests.nix
new file mode 100644
index 0000000000000..bdb3adfe93cef
--- /dev/null
+++ b/pkgs/development/python-modules/wasmer/tests.nix
@@ -0,0 +1,25 @@
+{ buildPythonPackage
+, wasmer
+, pytestCheckHook
+, wasmer-compiler-cranelift
+, wasmer-compiler-llvm
+, wasmer-compiler-singlepass
+}:
+
+buildPythonPackage rec {
+  pname = "wasmer-tests";
+  inherit (wasmer) version;
+
+  src = wasmer.testsout;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    pytestCheckHook
+    wasmer
+    wasmer-compiler-cranelift
+    wasmer-compiler-llvm
+    wasmer-compiler-singlepass
+  ];
+}
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index 921ed5af4aa14..7dab01b3ca095 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "watchdog";
-  version = "2.1.3";
+  version = "2.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5SNqjoYCq220uHNmTC01bDZas8rJb73sSXCtYWQV3UU=";
+    sha256 = "5563b005907613430ef3d4aaac9c78600dd5704e84764cb6deda4b3d72807f09";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
diff --git a/pkgs/development/python-modules/webargs/default.nix b/pkgs/development/python-modules/webargs/default.nix
index 6db909992f48f..63ad60c9f0841 100644
--- a/pkgs/development/python-modules/webargs/default.nix
+++ b/pkgs/development/python-modules/webargs/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "webargs";
-  version = "8.0.0";
+  version = "8.0.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xy6na8axc5wnp2wg3kvqbpl2iv0hx0rsnlrmrgkgp88znx6cmjn";
+    sha256 = "bcce022250ee97cfbb0ad07b02388ac90a226ef4b479ec84317152345a565614";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index d3dce5018d97f..898fa4556ec3e 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -8,15 +8,16 @@
 , pytest-timeout
 , pytest-xprocess
 , pytestCheckHook
- }:
+}:
 
 buildPythonPackage rec {
-  pname = "Werkzeug";
+  pname = "werkzeug";
   version = "2.0.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Werkzeug";
+    inherit version;
     sha256 = "0hlwawnn8c41f254qify5jnjj8xb97n294h09bqimzqhs0qdpq8x";
   };
 
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index 675461a63cc6e..ee07adeb9d5bb 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.18.2";
+  version = "0.19.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d2e72a228286fcf60f66e16876bd27629a1a70bf64822c565f16515c4d10284";
+    sha256 = "3a365ce09127fc841ba88baa63f37ca61376ffe389a6c5e66d52f2c88c23a62b";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index c975218e5b1d1..b623fc37c2243 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.8.0";
+  version = "3.9.1";
   disabled = pythonAtLeast "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e25a9d73acf57ade798fc67841277dbbdb81ced390e6f84362370305b127426";
+    sha256 = "76cee167e81fc3cc0e0cc696fe58cadd039e19a774c8f4d2e5c0fea724c7aaca";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmlsec/default.nix b/pkgs/development/python-modules/xmlsec/default.nix
index b8c60f1b64253..c94f018382a6c 100644
--- a/pkgs/development/python-modules/xmlsec/default.nix
+++ b/pkgs/development/python-modules/xmlsec/default.nix
@@ -9,7 +9,6 @@
 , xmlsec
 , pkgconfig
 , setuptools-scm
-, toml
 , lxml
 , hypothesis
 }:
@@ -28,7 +27,7 @@ buildPythonPackage rec {
     ./reset-lxml-in-tests.patch
   ];
 
-  nativeBuildInputs = [ pkg-config pkgconfig setuptools-scm toml ];
+  nativeBuildInputs = [ pkg-config pkgconfig setuptools-scm ];
 
   buildInputs = [ xmlsec libxslt libxml2 libtool ];
 
diff --git a/pkgs/development/python-modules/yamlloader/default.nix b/pkgs/development/python-modules/yamlloader/default.nix
index d2b66cb073d73..97da02102c7fd 100644
--- a/pkgs/development/python-modules/yamlloader/default.nix
+++ b/pkgs/development/python-modules/yamlloader/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "yamlloader";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e96dc3dc6895d814c330c054c966d993fc81ef1dbf5a30a4bdafeb256359e058";
+    sha256 = "8a297c7a197683ba02e5e2b882ffd6c6180d01bdefb534b69cd3962df020bfe6";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yt/default.nix b/pkgs/development/python-modules/yt/default.nix
index 42bde9909b8c5..9611b27222956 100644
--- a/pkgs/development/python-modules/yt/default.nix
+++ b/pkgs/development/python-modules/yt/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "yt";
-  version = "3.6.1";
+  version = "4.0.1";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "be454f9d05dcbe0623328b4df43a1bfd1f0925e516be97399710452931a19bb0";
+    sha256 = "6219cbf971871320a13679a57722c0363e50db5e6d4d64ea9d197461b2a7f70f";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index 6ec5fda2ca588..77a579eba9c7d 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.18.0";
+  version = "0.19.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RH0ballPSZQvesdUEsulnBkbbzVA2YrGWhMzRFvuwW0=";
+    sha256 = "1b8a050e2208b3d05359106d8c44c3d62e60edf6753529bd8a207788a6caeb95";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zarr/default.nix b/pkgs/development/python-modules/zarr/default.nix
index 9fc5589d281db..a26fa1dfef3ca 100644
--- a/pkgs/development/python-modules/zarr/default.nix
+++ b/pkgs/development/python-modules/zarr/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "zarr";
-  version = "2.9.1";
+  version = "2.9.4";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "688afec069e0f85b87c1ef4572766f998309c64ab7bea1884cec60e92d109544";
+    sha256 = "5544c47bc2a35f8e8af58bee92378518018b484ba550e997759d18f40fa75719";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zconfig/default.nix b/pkgs/development/python-modules/zconfig/default.nix
index a6a00ad821b86..521bca4ece8cc 100644
--- a/pkgs/development/python-modules/zconfig/default.nix
+++ b/pkgs/development/python-modules/zconfig/default.nix
@@ -1,32 +1,27 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
 , zope_testrunner
 , manuel
 , docutils
-, pythonAtLeast
+, pygments
 }:
 
 buildPythonPackage rec {
   pname = "ZConfig";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s7aycxna07a04b4rswbkj4y5qh3gxy2mcsqb9dmy0iimj9f9550";
+    sha256 = "sha256-oo6VoK4zV5V0fsytNbLLcI831Ex/Ml4qyyAemDMLFuU=";
   };
 
-  patches = [
-    # fixes 3.8+ logger validation issues, has been merged into master, remove next bump
-    (fetchpatch {
-      url = "https://github.com/zopefoundation/ZConfig/commit/f0c2990d35ac3c924ecc8be4a5c71c8e4abbd0e5.patch";
-      sha256 = "1bjg3wrvii0rwzf3s0vlpzgg2ckj0h2zxkyxwjcr64s4k2vaq9ij";
-    })
-  ] ++ lib.optional stdenv.hostPlatform.isMusl ./remove-setlocale-test.patch;
+  patches = lib.optional stdenv.hostPlatform.isMusl ./remove-setlocale-test.patch;
 
   buildInputs = [ manuel docutils ];
   propagatedBuildInputs = [ zope_testrunner ];
+  checkInputs = [ pygments ];
 
   meta = with lib; {
     description = "Structured Configuration Library";
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index 1279bb804de69..be522214164ba 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -7,11 +7,12 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
-, zigpy }:
+, zigpy
+}:
 
 buildPythonPackage rec {
   pname = "zigpy-xbee";
-  version = "0.13.0";
+  version = "0.14.0";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-xbee";
     rev = version;
-    sha256 = "Krdqb9bYKwUC2cdNppB2+tLwWjzmzIHhXnQ1KRduofU=";
+    sha256 = "sha256-veAkaBHPYgVd3iwvnH/A2upYX4T/qXXNRcaysbRQvNI=";
   };
 
   buildInputs = [
@@ -36,6 +37,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # assertion failure
+    # E       assert ff:ff:ff:ff:ff:ff:ff:ff is None
+    "test_startup_api_mode_config_fails"
+  ];
+
   meta = with lib; {
     description = "A library which communicates with XBee radios for zigpy";
     homepage = "https://github.com/zigpy/zigpy-xbee";
diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix
index 474e7f309e34c..f8413d9aa17f4 100644
--- a/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy-znp";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nnA/gVXBpCZFkspcO6kF3ZkEDu0vV0d9p1WNGVrN0u8=";
+    sha256 = "0jki9qmjazh0by02c0w17dyaz0nl3gzjiy064mj6pi502d175831";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 7dab5cda6cc56..af498c59cf065 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.36.1";
+  version = "0.37.1";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "0rfif8ds6m9ndxnc0f02fivc2pwidf476ylyx9y2b1sa2qz36z5w";
+    sha256 = "sha256-tDpu6tv8qwIPB3G5GKURtDi6QOYxF5jEVbzmJ2Px5W4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zipp/default.nix b/pkgs/development/python-modules/zipp/default.nix
index 7ef26dbd7606e..c070e23277727 100644
--- a/pkgs/development/python-modules/zipp/default.nix
+++ b/pkgs/development/python-modules/zipp/default.nix
@@ -2,31 +2,22 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools-scm
-, pytest
-, pytest-flake8
 , more-itertools
-, toml
 }:
 
 buildPythonPackage rec {
   pname = "zipp";
-  version = "3.4.1";
+  version = "3.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76";
+    sha256 = "f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4";
   };
 
-  nativeBuildInputs = [ setuptools-scm toml ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [ more-itertools ];
 
-  checkInputs = [ pytest pytest-flake8 ];
-
-  checkPhase = ''
-    pytest
-  '';
-
   # Prevent infinite recursion with pytest
   doCheck = false;
 
@@ -34,5 +25,6 @@ buildPythonPackage rec {
     description = "Pathlib-compatible object wrapper for zip files";
     homepage = "https://github.com/jaraco/zipp";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/zodb/default.nix b/pkgs/development/python-modules/zodb/default.nix
index aa7cc6c97ebd7..e4f1e403cd970 100644
--- a/pkgs/development/python-modules/zodb/default.nix
+++ b/pkgs/development/python-modules/zodb/default.nix
@@ -2,7 +2,6 @@
 , fetchPypi
 , buildPythonPackage
 , python
-, pythonAtLeast
 , zope_testrunner
 , transaction
 , six
@@ -16,46 +15,43 @@
 }:
 
 buildPythonPackage rec {
-    pname = "ZODB";
-    version = "5.6.0";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "1zh7rd182l15swkbkm3ib0wgyn16xasdz2mzry8k4lwk6dagnm26";
-    };
-
-    # remove broken test
-    postPatch = ''
-      rm -vf src/ZODB/tests/testdocumentation.py
-    '';
-
-    # ZConfig 3.5.0 is not compatible with Python 3.8
-    disabled = pythonAtLeast "3.8";
-
-    propagatedBuildInputs = [
-      transaction
-      six
-      zope_interface
-      zodbpickle
-      zconfig
-      persistent
-      zc_lockfile
-      BTrees
-    ];
-
-    checkInputs = [
-      manuel
-      zope_testrunner
-    ];
-
-    checkPhase = ''
-      ${python.interpreter} -m zope.testrunner --test-path=src []
-    '';
-
-    meta = with lib; {
-      description = "Zope Object Database: object database and persistence";
-      homepage = "https://pypi.python.org/pypi/ZODB";
-      license = licenses.zpl21;
-      maintainers = with maintainers; [ goibhniu ];
-    };
+  pname = "ZODB";
+  version = "5.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zh7rd182l15swkbkm3ib0wgyn16xasdz2mzry8k4lwk6dagnm26";
+  };
+
+  # remove broken test
+  postPatch = ''
+    rm -vf src/ZODB/tests/testdocumentation.py
+  '';
+
+  propagatedBuildInputs = [
+    transaction
+    six
+    zope_interface
+    zodbpickle
+    zconfig
+    persistent
+    zc_lockfile
+    BTrees
+  ];
+
+  checkInputs = [
+    manuel
+    zope_testrunner
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m zope.testrunner --test-path=src []
+  '';
+
+  meta = with lib; {
+    description = "Zope Object Database: object database and persistence";
+    homepage = "https://pypi.python.org/pypi/ZODB";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
 }
diff --git a/pkgs/development/python-modules/zope_component/default.nix b/pkgs/development/python-modules/zope_component/default.nix
index 41c15fcd1307f..a5cbcffe43364 100644
--- a/pkgs/development/python-modules/zope_component/default.nix
+++ b/pkgs/development/python-modules/zope_component/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "zope.component";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df541a0501c79123f9ac30c6686a9e45c2690c5c3ae4f2b7f4c6fd1a3aaaf614";
+    sha256 = "32cbe426ba8fa7b62ce5b211f80f0718a0c749cc7ff09e3f4b43a57f7ccdf5e5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index 67e8a191d97a4..2d1a5880d0dee 100644
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/pkgs/development/python-modules/zope_proxy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.proxy";
-  version = "4.3.5";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a66a0d94e5b081d5d695e66d6667e91e74d79e273eee95c1747717ba9cb70792";
+    sha256 = "b244904c5148067c3f1899d29a2c1a28faca747b143192c0f825e6bf3170a347";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
index 2bf9d84caa06d..3106e9c24ca76 100644
--- a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
+++ b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
@@ -34,6 +34,7 @@ paths.each do |path|
 ENV["BUNDLE_GEMFILE"] = #{gemfile.dump}
 ENV.delete 'BUNDLE_PATH'
 ENV['BUNDLE_FROZEN'] = '1'
+ENV['BUNDLE_IGNORE_CONFIG'] = '1'
 
 Gem.paths = { 'GEM_HOME' => #{bundle_path.dump} }
 
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 912bace202015..3306648368219 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.2.20";
-  source.sha256 = "259ba486173d72a71df43fee8e3bc8dcb868c8a65e0c4020af3a6f13c3a57ff8";
+  version = "2.2.24";
+  source.sha256 = "1x3czmqhlyb593ap7mxkk47idi2jnbnrpwj8xlsjdpi7iair9y62";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 40c9958c3447b..c370cddbe4368 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -44,7 +44,7 @@ python3.pkgs.buildPythonApplication rec {
       --replace "Flask~=1.1.2" "Flask~=2.0" \
       --replace "dateparser~=0.7" "dateparser>=0.7" \
       --replace "docker~=4.2.0" "docker>=4.2.0" \
-      --replace "requests==" "requests~=" \
+      --replace "requests==" "requests #" \
       --replace "watchdog==" "watchdog #"
   '';
 
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
index 5016aa590b5fb..c6c66d4d212d3 100644
--- a/pkgs/development/tools/boost-build/default.nix
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -2,18 +2,36 @@
 , stdenv
 , fetchFromGitHub
 , bison
+# boost derivation to use for the src and version.
+# This is used by the boost derivation to build
+# a b2 matching their version (by overriding this
+# argument). Infinite recursion is not an issue
+# since we only look at src and version of boost.
+, useBoost ? {}
 }:
 
-stdenv.mkDerivation rec {
+let
+  defaultVersion = "4.4.1";
+in
+
+stdenv.mkDerivation {
   pname = "boost-build";
-  version = "4.4.1";
+  version =
+    if useBoost ? version
+    then "boost-${useBoost.version}"
+    else defaultVersion;
 
-  src = fetchFromGitHub {
+  src = useBoost.src or (fetchFromGitHub {
     owner = "boostorg";
     repo = "build";
-    rev = version;
+    rev = defaultVersion;
     sha256 = "1r4rwlq87ydmsdqrik4ly5iai796qalvw7603mridg2nwcbbnf54";
-  };
+  });
+
+  # b2 is in a subdirectory of boost source tarballs
+  postUnpack = lib.optionalString (useBoost ? src) ''
+    sourceRoot="$sourceRoot/tools/build"
+  '';
 
   patches = [
     # Upstream defaults to gcc on darwin, but we use clang.
@@ -32,8 +50,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
+
     ./b2 install --prefix="$out"
-    ln -s b2 "$out/bin/bjam"
+
+    # older versions of b2 created this symlink,
+    # which we want to support building via useBoost.
+    test -e "$out/bin/bjam" || ln -s b2 "$out/bin/bjam"
+
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/build-managers/cmake/application-services.patch b/pkgs/development/tools/build-managers/cmake/application-services.patch
index f64e220eb29ba..7c77336b41be6 100644
--- a/pkgs/development/tools/build-managers/cmake/application-services.patch
+++ b/pkgs/development/tools/build-managers/cmake/application-services.patch
@@ -1,8 +1,8 @@
 diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
-index 1b6bb00d4c..487114daa8 100644
+index 9a18184fd3..278d146dd1 100644
 --- a/Source/CMakeLists.txt
 +++ b/Source/CMakeLists.txt
-@@ -893,7 +893,6 @@ endif()
+@@ -933,7 +933,6 @@ endif()
  # On Apple we need CoreFoundation and CoreServices
  if(APPLE)
    target_link_libraries(CMakeLib "-framework CoreFoundation")
@@ -11,27 +11,25 @@ index 1b6bb00d4c..487114daa8 100644
  
  if(WIN32 AND NOT UNIX)
 diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
-index a5ce5d18f4..3d6838ce82 100644
+index 77403b076a..d5aac95e1e 100644
 --- a/Source/cmGlobalXCodeGenerator.cxx
 +++ b/Source/cmGlobalXCodeGenerator.cxx
-@@ -43,11 +43,10 @@
- 
- struct cmLinkImplementation;
+@@ -49,10 +49,6 @@ struct cmLinkImplementation;
  
  #if !defined(CMAKE_BOOTSTRAP) && defined(__APPLE__)
--#  define HAVE_APPLICATION_SERVICES
--#  include <ApplicationServices/ApplicationServices.h>
-+#  include <CoreFoundation/CoreFoundation.h>
+ #  include <CoreFoundation/CoreFoundation.h>
+-#  if !TARGET_OS_IPHONE
+-#    define HAVE_APPLICATION_SERVICES
+-#    include <ApplicationServices/ApplicationServices.h>
+-#  endif
  #endif
-
- #if !defined(CMAKE_BOOTSTRAP)
- #  include "cmXMLParser.h"
  
+ #if !defined(CMAKE_BOOTSTRAP)
 diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
-index bfcaf30bb7..1da540aee5 100644
+index 79452ffff6..a848731b7e 100644
 --- a/Utilities/cmlibarchive/CMakeLists.txt
 +++ b/Utilities/cmlibarchive/CMakeLists.txt
-@@ -2007,11 +2007,6 @@ IF(ENABLE_TEST)
+@@ -2013,11 +2013,6 @@ IF(ENABLE_TEST)
  ENDIF(ENABLE_TEST)
  ENDIF()
  
diff --git a/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch b/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch
new file mode 100644
index 0000000000000..dc10e6b342311
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch
@@ -0,0 +1,14 @@
+Revert of commit 1af23c4de2c7d58c06171d70b37794b5c860d5f4.
+--- b/Modules/Platform/Darwin.cmake
++++ a/Modules/Platform/Darwin.cmake
+@@ -47,9 +47,7 @@
+ set(CMAKE_SHARED_MODULE_SUFFIX ".so")
+ set(CMAKE_MODULE_EXISTS 1)
+ set(CMAKE_DL_LIBS "")
++set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+-if(NOT "${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
+-  set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+-endif()
+ 
+ foreach(lang C CXX OBJC OBJCXX)
+   set(CMAKE_${lang}_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index a29ac38eb136d..33dbc25d9bf89 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -2,6 +2,7 @@
 , bzip2, curlMinimal, expat, libarchive, xz, zlib, libuv, rhash
 , buildPackages
 # darwin attributes
+, SystemConfiguration
 , ps
 , isBootstrap ? false
 , useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin)
@@ -13,15 +14,14 @@
 
 stdenv.mkDerivation rec {
   pname = "cmake"
-          + lib.optionalString isBootstrap "-boot"
-          + lib.optionalString useNcurses "-cursesUI"
-          + lib.optionalString withQt5 "-qt5UI";
-  version = "3.19.7";
+    + lib.optionalString isBootstrap "-boot"
+    + lib.optionalString useNcurses "-cursesUI"
+    + lib.optionalString withQt5 "-qt5UI";
+  version = "3.21.2";
 
   src = fetchurl {
     url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
-    # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt
-    sha256 = "sha256-WKFfDVagr8zDzFNxI0/Oc/zGyPnb13XYmOUQuDF1WI4=";
+    sha256 = "sha256-lCdeC2HIS7QnEPUyCiPG3LLG7gMq59KmFvU/aLPSFlk=";
   };
 
   patches = [
@@ -34,7 +34,11 @@ stdenv.mkDerivation rec {
     # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
     ./libuv-application-services.patch
 
-  ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
+  ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch
+  # Derived from https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51
+  ++ lib.optional (stdenv.isDarwin && isBootstrap) ./remove-systemconfiguration-dep.patch
+  # On Darwin, always set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG.
+  ++ lib.optional stdenv.isDarwin ./darwin-always-set-runtime-c-flag.patch;
 
   outputs = [ "out" ]
     ++ lib.optionals buildDocs [ "man" "info" ];
@@ -48,11 +52,11 @@ stdenv.mkDerivation rec {
     ++ lib.optionals buildDocs [ texinfo ]
     ++ lib.optionals withQt5 [ wrapQtAppsHook ];
 
-  buildInputs = []
-    ++ lib.optionals useSharedLibraries [ bzip2 curlMinimal expat libarchive xz zlib libuv rhash ]
+  buildInputs = lib.optionals useSharedLibraries [ bzip2 curlMinimal expat libarchive xz zlib libuv rhash ]
     ++ lib.optional useOpenSSL openssl
     ++ lib.optional useNcurses ncurses
-    ++ lib.optional withQt5 qtbase;
+    ++ lib.optional withQt5 qtbase
+    ++ lib.optional (stdenv.isDarwin && !isBootstrap) SystemConfiguration;
 
   propagatedBuildInputs = lib.optional stdenv.isDarwin ps;
 
@@ -62,27 +66,24 @@ stdenv.mkDerivation rec {
       --subst-var-by libc_bin ${lib.getBin stdenv.cc.libc} \
       --subst-var-by libc_dev ${lib.getDev stdenv.cc.libc} \
       --subst-var-by libc_lib ${lib.getLib stdenv.cc.libc}
-  ''
-  # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake
-  + ''
+    # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake
     configureFlags="--parallel=''${NIX_BUILD_CORES:-1} CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD $configureFlags"
   '';
 
   configureFlags = [
     "--docdir=share/doc/${pname}${version}"
   ] ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup
-    ++ lib.optional withQt5 "--qt-gui"
-    ++ lib.optionals buildDocs [
-      "--sphinx-build=${sphinx}/bin/sphinx-build"
-      "--sphinx-man"
-      "--sphinx-info"
-    ]
-    # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568
-    ++ lib.optionals stdenv.hostPlatform.is32bit [
-      "CFLAGS=-D_FILE_OFFSET_BITS=64"
-      "CXXFLAGS=-D_FILE_OFFSET_BITS=64"
-    ]
-    ++ [
+  ++ lib.optional withQt5 "--qt-gui"
+  ++ lib.optionals buildDocs [
+    "--sphinx-build=${sphinx}/bin/sphinx-build"
+    "--sphinx-man"
+    "--sphinx-info"
+  ]
+  # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568
+  ++ lib.optionals stdenv.hostPlatform.is32bit [
+    "CFLAGS=-D_FILE_OFFSET_BITS=64"
+    "CXXFLAGS=-D_FILE_OFFSET_BITS=64"
+  ] ++ [
     "--"
     # We should set the proper `CMAKE_SYSTEM_NAME`.
     # http://www.cmake.org/Wiki/CMake_Cross_Compiling
@@ -117,8 +118,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://cmake.org/";
-    changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor version}/"
-      + "release/${lib.versions.majorMinor version}.html";
+    changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor version}/release/${lib.versions.majorMinor version}.html";
     description = "Cross-Platform Makefile Generator";
     longDescription = ''
       CMake is an open-source, cross-platform family of tools designed to
diff --git a/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch b/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
new file mode 100644
index 0000000000000..984aaf9830670
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/remove-systemconfiguration-dep.patch
@@ -0,0 +1,89 @@
+From 76523ca5b2227085bb65253900e866b08a2b5efb Mon Sep 17 00:00:00 2001
+From: Tobias Mayer <tobim@fastmail.fm>
+Date: Fri, 30 Jul 2021 10:50:16 +0200
+Subject: [PATCH] Disable NAT64 address synthesis on darwin
+
+This intentionally breaks the feature by partially reverting
+https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51
+
+This is a stop-gap to get CMake to build without the SystemConfiguration
+framework.
+---
+ Utilities/cmcurl/CMakeLists.txt   |  8 --------
+ Utilities/cmcurl/lib/curl_setup.h |  4 ----
+ Utilities/cmcurl/lib/hostip.c     | 17 -----------------
+ 3 files changed, 29 deletions(-)
+
+diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
+index 16ef037ccc..17564bbb69 100644
+--- a/Utilities/cmcurl/CMakeLists.txt
++++ b/Utilities/cmcurl/CMakeLists.txt
+@@ -511,14 +511,6 @@ if(CMAKE_USE_SECTRANSP)
+   list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}")
+ endif()
+ 
+-if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+-  find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
+-  if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
+-     message(FATAL_ERROR "SystemConfiguration framework not found")
+-  endif()
+-  list(APPEND CURL_LIBS "${SYSTEMCONFIGURATION_FRAMEWORK}")
+-endif()
+-
+ if(CMAKE_USE_OPENSSL)
+   find_package(OpenSSL)
+   if(NOT OpenSSL_FOUND)
+diff --git a/Utilities/cmcurl/lib/curl_setup.h b/Utilities/cmcurl/lib/curl_setup.h
+index 2d13a40a55..35160bc0f5 100644
+--- a/Utilities/cmcurl/lib/curl_setup.h
++++ b/Utilities/cmcurl/lib/curl_setup.h
+@@ -251,11 +251,7 @@
+  * performing this task will result in a synthesized IPv6 address.
+  */
+ #if defined(__APPLE__) && !defined(USE_ARES)
+-#include <TargetConditionals.h>
+ #define USE_RESOLVE_ON_IPS 1
+-#  if defined(TARGET_OS_OSX) && TARGET_OS_OSX
+-#    define CURL_OSX_CALL_COPYPROXIES 1
+-#  endif
+ #endif
+ 
+ #ifdef USE_LWIPSOCK
+diff --git a/Utilities/cmcurl/lib/hostip.c b/Utilities/cmcurl/lib/hostip.c
+index e0e3cfc2cb..45190a100b 100644
+--- a/Utilities/cmcurl/lib/hostip.c
++++ b/Utilities/cmcurl/lib/hostip.c
+@@ -68,10 +68,6 @@
+ #include "curl_memory.h"
+ #include "memdebug.h"
+ 
+-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
+-#include <SystemConfiguration/SCDynamicStoreCopySpecific.h>
+-#endif
+-
+ #if defined(CURLRES_SYNCH) && \
+     defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP)
+ /* alarm-based timeouts can only be used with all the dependencies satisfied */
+@@ -533,19 +529,6 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
+         return CURLRESOLV_ERROR;
+     }
+ 
+-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
+-    /*
+-     * The automagic conversion from IPv4 literals to IPv6 literals only works
+-     * if the SCDynamicStoreCopyProxies system function gets called first. As
+-     * Curl currently doesn't support system-wide HTTP proxies, we therefore
+-     * don't use any value this function might return.
+-     *
+-     * This function is only available on a macOS and is not needed for
+-     * IPv4-only builds, hence the conditions above.
+-     */
+-    SCDynamicStoreCopyProxies(NULL);
+-#endif
+-
+ #ifndef USE_RESOLVE_ON_IPS
+     /* First check if this is an IPv4 address string */
+     if(Curl_inet_pton(AF_INET, hostname, &in) > 0)
+-- 
+2.32.0
+
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index f59e74b02f4e0..95994e0924db1 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -21,13 +21,6 @@ let newPython = python3.override {
         sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0";
       };
     });
-    urllib3 = super.urllib3.overridePythonAttrs (oldAttrs: rec {
-      version = "1.25.11";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "18hpzh1am1dqx81fypn57r2wk565fi4g14292qrc5jm1h9dalzld";
-      };
-    });
     # https://github.com/conan-io/conan/issues/8876
     pyjwt = super.pyjwt.overridePythonAttrs (oldAttrs: rec {
       version = "1.7.1";
@@ -59,14 +52,14 @@ let newPython = python3.override {
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.35.0";
+  version = "1.40.0";
   pname = "conan";
 
   src = fetchFromGitHub {
     owner = "conan-io";
     repo = "conan";
     rev = version;
-    sha256 = "19rgylkjxvv47vz5vgh46rw108xskpv7lmax8y2fnm2wd1j3bq9c";
+    sha256 = "1sb4w4wahasrwxkag1g79f135601sca6iafv4r4836f2vi48ka2d";
   };
 
   propagatedBuildInputs = with newPython.pkgs; [
@@ -106,12 +99,6 @@ in newPython.pkgs.buildPythonApplication rec {
   # Not enabled right now due to time constraints/failing tests that I didn't have time to track down
   doCheck = false;
 
-  postPatch = ''
-    substituteInPlace conans/requirements.txt \
-      --replace "deprecation>=2.0, <2.1" "deprecation" \
-      --replace "six>=1.10.0,<=1.15.0" "six>=1.10.0,<=1.16.0"
-  '';
-
   meta = with lib; {
     homepage = "https://conan.io";
     description = "Decentralized and portable C/C++ package manager";
diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
index 042aff09a5fcf..4547f745a98f4 100644
--- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -2,10 +2,11 @@
 
 stdenv.mkDerivation rec {
   # When updating, beware of https://github.com/NixOS/nixpkgs/pull/131928#issuecomment-896614165
-  name = "automake-1.16.3";
+  pname = "automake";
+  version = "1.16.3";
 
   src = fetchurl {
-    url = "mirror://gnu/automake/${name}.tar.xz";
+    url = "mirror://gnu/automake/automake-${version}.tar.xz";
     sha256 = "0fmz2fhmzcpacnprl5msphvaflwiy0hvpgmqlgfny72ddijzfazz";
   };
 
@@ -27,18 +28,16 @@ stdenv.mkDerivation rec {
   # "fixed" path in generated files!
   dontPatchShebangs = true;
 
-  meta = {
+  meta = with lib; {
     branch = "1.16";
     homepage = "https://www.gnu.org/software/automake/";
     description = "GNU standard-compliant makefile generator";
-    license = lib.licenses.gpl2Plus;
-
+    license = licenses.gpl2Plus;
     longDescription = ''
       GNU Automake is a tool for automatically generating
       `Makefile.in' files compliant with the GNU Coding
       Standards.  Automake requires the use of Autoconf.
     '';
-
-    platforms = lib.platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 7a06e290a966c..97f7a6dd8d033 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,16 +1,24 @@
+let
+  execFormatIsELF = platform: platform.parsed.kernel.execFormat.name == "elf";
+in
+
 { stdenv, lib, buildPackages
 , fetchFromGitHub, fetchurl, zlib, autoreconfHook, gettext
 # Enabling all targets increases output size to a multiple.
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? !stdenv.hostPlatform.isStatic
 , noSysDirs
-, gold ? true
+, gold ? execFormatIsELF stdenv.targetPlatform
 , bison ? null
 , flex
 , texinfo
 , perl
 }:
 
+# configure silently disables ld.gold if it's unsupported,
+# so we need to make sure that intent matches result ourselves.
+assert gold -> execFormatIsELF stdenv.targetPlatform;
+
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
 # cgit) that are needed here should be included directly in Nixpkgs as
@@ -70,6 +78,11 @@ stdenv.mkDerivation {
     #     https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=956ea65cd707707c0f725930214cbc781367a831
     ./bfd-elf-Dont-read-non-existing-secondary-relocs.patch
 
+    # Fix building plv8’s v8.
+    # https://github.com/NixOS/nixpkgs/issues/134190
+    # Obtained from: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=586e30940e640f67bd55bd72e1d1355a4faf8079
+    ./gold-Update-GNU_PROPERTY_X86_XXX-macros.patch
+
     ./CVE-2020-35448.patch
   ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
     ++ # This patch was suggested by Nick Clifton to fix
@@ -163,6 +176,7 @@ stdenv.mkDerivation {
 
   passthru = {
     inherit targetPrefix;
+    hasGold = gold;
     isGNU = true;
   };
 
diff --git a/pkgs/development/tools/misc/binutils/gold-Update-GNU_PROPERTY_X86_XXX-macros.patch b/pkgs/development/tools/misc/binutils/gold-Update-GNU_PROPERTY_X86_XXX-macros.patch
new file mode 100644
index 0000000000000..c4eef87a0c8d7
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/gold-Update-GNU_PROPERTY_X86_XXX-macros.patch
@@ -0,0 +1,292 @@
+From 586e30940e640f67bd55bd72e1d1355a4faf8079 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Tue, 13 Oct 2020 05:20:49 -0700
+Subject: [PATCH] gold: Update GNU_PROPERTY_X86_XXX macros
+
+This patch updates GNU_PROPERTY_X86_XXX macros for gold:
+
+1. GNU_PROPERTY_X86_UINT32_AND_XXX: A 4-byte unsigned integer property.
+A bit is set if it is set in all relocatable inputs:
+
+ #define GNU_PROPERTY_X86_UINT32_AND_LO      0xc0000002
+ #define GNU_PROPERTY_X86_UINT32_AND_HI      0xc0007fff
+
+2. GNU_PROPERTY_X86_UINT32_OR_XXX: A 4-byte unsigned integer property.
+A bit is set if it is set in any relocatable inputs:
+
+ #define GNU_PROPERTY_X86_UINT32_OR_LO    0xc0008000
+ #define GNU_PROPERTY_X86_UINT32_OR_HI    0xc000ffff
+
+3. GNU_PROPERTY_X86_UINT32_OR_AND_XXX: A 4-byte unsigned integer property.
+A bit is set if it is set in any relocatable inputs and the property is
+present in all relocatable inputs:
+
+ #define GNU_PROPERTY_X86_UINT32_OR_AND_LO   0xc0010000
+ #define GNU_PROPERTY_X86_UINT32_OR_AND_HI   0xc0017fff
+
+4. GNU_PROPERTY_X86_FEATURE_2_NEEDED, GNU_PROPERTY_X86_FEATURE_2_USED
+and GNU_PROPERTY_X86_FEATURE_2_XXX bits.
+
+GNU_PROPERTY_X86_FEATURE_1_AND is unchanged.  GNU_PROPERTY_X86_ISA_1_USED
+and GNU_PROPERTY_X86_ISA_1_NEEDED are updated to better support targeted
+processors since GNU_PROPERTY_X86_ISA_1_?86 aren't isn't very useful.
+A new set of GNU_PROPERTY_X86_ISA_1_XXX bits are defined.  The previous
+GNU_PROPERTY_X86_ISA_1_XXX macros are deprecated and renamed to
+GNU_PROPERTY_X86_COMPAT_ISA_1_XXX and GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX.
+
+elfcpp/
+
+	* elfcpp.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ...
+	(GNU_PROPERTY_X86_COMPAT_ISA_1_USED): This.
+	(GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ...
+	(GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED): This.
+	(GNU_PROPERTY_X86_UINT32_AND_LO): New.
+	(GNU_PROPERTY_X86_UINT32_AND_HI): Likewise.
+	(GNU_PROPERTY_X86_UINT32_OR_LO): Likewise.
+	(GNU_PROPERTY_X86_UINT32_OR_HI): Likewise.
+	(GNU_PROPERTY_X86_UINT32_OR_AND_LO): Likewise.
+	(GNU_PROPERTY_X86_UINT32_OR_AND_HI): Likewise.
+	(GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED): New.
+	(GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED): Likewise.
+	(GNU_PROPERTY_X86_FEATURE_1_AND): Updated to
+	(GNU_PROPERTY_X86_UINT32_AND_LO + 0).
+	(GNU_PROPERTY_X86_ISA_1_NEEDED): New.  Defined to
+	GNU_PROPERTY_X86_UINT32_OR_LO + 2.
+	(GNU_PROPERTY_X86_FEATURE_2_NEEDED): New.  Defined to
+	(GNU_PROPERTY_X86_UINT32_OR_LO + 1).
+	(GNU_PROPERTY_X86_ISA_1_USED): New.  Defined to
+	GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2.
+	(GNU_PROPERTY_X86_FEATURE_2_USED): New.  Defined to
+	(GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1).
+
+gold/
+
+	* x86_64.cc (Target_x86_64::Target_x86_64): Initialize
+	feature_2_used_, feature_2_needed_ and object_feature_2_used_.
+	(Target_x86_64::feature_2_used_): New data member.
+	(Target_x86_64::feature_2_needed_): Likewise.
+	(Target_x86_64::object_isa_1_used_): Likewise.
+	(Target_x86_64::record_gnu_property): Support
+	GNU_PROPERTY_X86_COMPAT_ISA_1_USED,
+	GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED,
+	GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED,
+	GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED,
+	GNU_PROPERTY_X86_FEATURE_2_USED and
+	GNU_PROPERTY_X86_FEATURE_2_NEEDED.
+	(Target_x86_64::merge_gnu_properties): Merge FEATURE_2_USED bits.
+	Initialize object_feature_2_used_.
+	(Target_x86_64::do_finalize_gnu_properties): Support
+	GNU_PROPERTY_X86_FEATURE_2_USED and
+	GNU_PROPERTY_X86_FEATURE_2_NEEDED.
+	* testsuite/gnu_property_a.S (GNU_PROPERTY_X86_ISA_1_USED): Set
+	to 0xc0010002.
+	(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
+	* testsuite/gnu_property_b.S (GNU_PROPERTY_X86_ISA_1_USED): Set
+	to 0xc0010002.
+	(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
+	* testsuite/gnu_property_c.S (GNU_PROPERTY_X86_ISA_1_USED): Set
+	to 0xc0010002.
+	(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
+	* testsuite/gnu_property_test.sh: Updated.
+---
+ elfcpp/ChangeLog                    | [omitted]
+ elfcpp/elfcpp.h                     | 18 ++++++++++++---
+ gold/ChangeLog                      | [omitted]
+ gold/testsuite/gnu_property_a.S     |  4 ++--
+ gold/testsuite/gnu_property_b.S     |  4 ++--
+ gold/testsuite/gnu_property_c.S     |  4 ++--
+ gold/testsuite/gnu_property_test.sh |  4 ++--
+ gold/x86_64.cc                      | 34 +++++++++++++++++++++++++++--
+ 8 files changed, 110 insertions(+), 13 deletions(-)
+
+diff --git a/elfcpp/elfcpp.h b/elfcpp/elfcpp.h
+index 65d803c00e2..4b6ff94a654 100644
+--- a/elfcpp/elfcpp.h
++++ b/elfcpp/elfcpp.h
+@@ -1013,9 +1013,21 @@ enum
+   GNU_PROPERTY_STACK_SIZE = 1,
+   GNU_PROPERTY_NO_COPY_ON_PROTECTED = 2,
+   GNU_PROPERTY_LOPROC = 0xc0000000,
+-  GNU_PROPERTY_X86_ISA_1_USED = 0xc0000000,
+-  GNU_PROPERTY_X86_ISA_1_NEEDED = 0xc0000001,
+-  GNU_PROPERTY_X86_FEATURE_1_AND = 0xc0000002,
++  GNU_PROPERTY_X86_COMPAT_ISA_1_USED = 0xc0000000,
++  GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED = 0xc0000001,
++  GNU_PROPERTY_X86_UINT32_AND_LO = 0xc0000002,
++  GNU_PROPERTY_X86_UINT32_AND_HI = 0xc0007fff,
++  GNU_PROPERTY_X86_UINT32_OR_LO = 0xc0008000,
++  GNU_PROPERTY_X86_UINT32_OR_HI = 0xc000ffff,
++  GNU_PROPERTY_X86_UINT32_OR_AND_LO = 0xc0010000,
++  GNU_PROPERTY_X86_UINT32_OR_AND_HI = 0xc0017fff,
++  GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 0,
++  GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0,
++  GNU_PROPERTY_X86_FEATURE_1_AND = GNU_PROPERTY_X86_UINT32_AND_LO + 0,
++  GNU_PROPERTY_X86_ISA_1_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 2,
++  GNU_PROPERTY_X86_FEATURE_2_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 1,
++  GNU_PROPERTY_X86_ISA_1_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2,
++  GNU_PROPERTY_X86_FEATURE_2_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1,
+   GNU_PROPERTY_HIPROC = 0xdfffffff,
+   GNU_PROPERTY_LOUSER = 0xe0000000,
+   GNU_PROPERTY_HIUSER = 0xffffffff
+diff --git a/gold/testsuite/gnu_property_a.S b/gold/testsuite/gnu_property_a.S
+index 463bc8e52fe..5fbbbc9c4bb 100644
+--- a/gold/testsuite/gnu_property_a.S
++++ b/gold/testsuite/gnu_property_a.S
+@@ -1,8 +1,8 @@
+ #define NT_GNU_PROPERTY_TYPE_0 5
+ 
+ #define GNU_PROPERTY_STACK_SIZE 1
+-#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
+-#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001
++#define GNU_PROPERTY_X86_ISA_1_USED 0xc0010002
++#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0008002
+ #define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
+ 
+ #if __SIZEOF_PTRDIFF_T__  == 8
+diff --git a/gold/testsuite/gnu_property_b.S b/gold/testsuite/gnu_property_b.S
+index 0c0c038ead1..7028f73d7ab 100644
+--- a/gold/testsuite/gnu_property_b.S
++++ b/gold/testsuite/gnu_property_b.S
+@@ -2,8 +2,8 @@
+ 
+ #define GNU_PROPERTY_STACK_SIZE 1
+ #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2
+-#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
+-#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001
++#define GNU_PROPERTY_X86_ISA_1_USED 0xc0010002
++#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0008002
+ #define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
+ 
+ #if __SIZEOF_PTRDIFF_T__  == 8
+diff --git a/gold/testsuite/gnu_property_c.S b/gold/testsuite/gnu_property_c.S
+index ace159a9a9d..c8cbd8bce28 100644
+--- a/gold/testsuite/gnu_property_c.S
++++ b/gold/testsuite/gnu_property_c.S
+@@ -2,8 +2,8 @@
+ 
+ #define GNU_PROPERTY_STACK_SIZE 1
+ #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2
+-#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
+-#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001
++#define GNU_PROPERTY_X86_ISA_1_USED 0xc0010002
++#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0008002
+ #define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
+ 
+ #if __SIZEOF_PTRDIFF_T__  == 8
+diff --git a/gold/testsuite/gnu_property_test.sh b/gold/testsuite/gnu_property_test.sh
+index 1806d3474cc..a4096005b78 100755
+--- a/gold/testsuite/gnu_property_test.sh
++++ b/gold/testsuite/gnu_property_test.sh
+@@ -77,8 +77,8 @@ check_count gnu_property_test.stdout "^  NOTE" 2
+ 
+ check gnu_property_test.stdout "stack size: 0x111100"
+ check gnu_property_test.stdout "no copy on protected"
+-check gnu_property_test.stdout "x86 ISA used: i486, SSE2, SSE4_2, AVX512CD"
+-check gnu_property_test.stdout "x86 ISA needed: i486, SSE2, SSE4_2, AVX512CD"
++check gnu_property_test.stdout "x86 ISA used: x86-64-v2, <unknown: 10>, <unknown: 100>, <unknown: 1000>"
++check gnu_property_test.stdout "x86 ISA needed: x86-64-v2, <unknown: 10>, <unknown: 100>, <unknown: 1000>"
+ check gnu_property_test.stdout "x86 feature: IBT"
+ 
+ exit 0
+diff --git a/gold/x86_64.cc b/gold/x86_64.cc
+index 9cb2cf0a322..378bac16f78 100644
+--- a/gold/x86_64.cc
++++ b/gold/x86_64.cc
+@@ -706,8 +706,9 @@ class Target_x86_64 : public Sized_target<size, false>
+       rela_irelative_(NULL), copy_relocs_(elfcpp::R_X86_64_COPY),
+       got_mod_index_offset_(-1U), tlsdesc_reloc_info_(),
+       tls_base_symbol_defined_(false), isa_1_used_(0), isa_1_needed_(0),
+-      feature_1_(0), object_isa_1_used_(0), object_feature_1_(0),
+-      seen_first_object_(false)
++      feature_1_(0), feature_2_used_(0), feature_2_needed_(0),
++      object_isa_1_used_(0), object_feature_1_(0),
++      object_feature_2_used_(0), seen_first_object_(false)
+   { }
+ 
+   // Hook for a new output section.
+@@ -1382,6 +1383,8 @@ class Target_x86_64 : public Sized_target<size, false>
+   uint32_t isa_1_used_;
+   uint32_t isa_1_needed_;
+   uint32_t feature_1_;
++  uint32_t feature_2_used_;
++  uint32_t feature_2_needed_;
+   // Target-specific properties from the current object.
+   // These bits get ORed into ISA_1_USED_ after all properties for the object
+   // have been processed. But if either is all zeroes (as when the property
+@@ -1391,6 +1394,7 @@ class Target_x86_64 : public Sized_target<size, false>
+   // These bits get ANDed into FEATURE_1_ after all properties for the object
+   // have been processed.
+   uint32_t object_feature_1_;
++  uint32_t object_feature_2_used_;
+   // Whether we have seen our first object, for use in initializing FEATURE_1_.
+   bool seen_first_object_;
+ };
+@@ -1594,9 +1598,15 @@ Target_x86_64<size>::record_gnu_property(
+ 
+   switch (pr_type)
+     {
++    case elfcpp::GNU_PROPERTY_X86_COMPAT_ISA_1_USED:
++    case elfcpp::GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED:
++    case elfcpp::GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED:
++    case elfcpp::GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED:
+     case elfcpp::GNU_PROPERTY_X86_ISA_1_USED:
+     case elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED:
+     case elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND:
++    case elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED:
++    case elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED:
+       if (pr_datasz != 4)
+ 	{
+ 	  gold_warning(_("%s: corrupt .note.gnu.property section "
+@@ -1625,6 +1635,12 @@ Target_x86_64<size>::record_gnu_property(
+       // If we see multiple feature props in one object, OR them together.
+       this->object_feature_1_ |= val;
+       break;
++    case elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED:
++      this->object_feature_2_used_ |= val;
++      break;
++    case elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED:
++      this->feature_2_needed_ |= val;
++      break;
+     }
+ }
+ 
+@@ -1642,15 +1658,23 @@ Target_x86_64<size>::merge_gnu_properties(const Object*)
+       else if (this->isa_1_used_ != 0)
+ 	this->isa_1_used_ |= this->object_isa_1_used_;
+       this->feature_1_ &= this->object_feature_1_;
++      // If any object is missing the FEATURE_2_USED property, we must
++      // omit it from the output file.
++      if (this->object_feature_2_used_ == 0)
++	this->feature_2_used_ = 0;
++      else if (this->feature_2_used_ != 0)
++	this->feature_2_used_ |= this->object_feature_2_used_;
+     }
+   else
+     {
+       this->isa_1_used_ = this->object_isa_1_used_;
+       this->feature_1_ = this->object_feature_1_;
++      this->feature_2_used_ = this->object_feature_2_used_;
+       this->seen_first_object_ = true;
+     }
+   this->object_isa_1_used_ = 0;
+   this->object_feature_1_ = 0;
++  this->object_feature_2_used_ = 0;
+ }
+ 
+ static inline void
+@@ -1676,6 +1700,12 @@ Target_x86_64<size>::do_finalize_gnu_properties(Layout* layout) const
+   if (this->feature_1_ != 0)
+     add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND,
+ 		 this->feature_1_);
++  if (this->feature_2_used_ != 0)
++    add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_2_USED,
++		 this->feature_2_used_);
++  if (this->feature_2_needed_ != 0)
++    add_property(layout, elfcpp::GNU_PROPERTY_X86_FEATURE_2_NEEDED,
++		 this->feature_2_needed_);
+ }
+ 
+ // Write the first three reserved words of the .got.plt section.
+-- 
+2.27.0
+
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index ffe1fa3662f88..ea0002d78c0ac 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -4,7 +4,7 @@
 , fetchurl, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
-, ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu
+, ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu, sourceHighlight
 
 , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config texinfo perl setupDebugInfoDirs ];
 
-  buildInputs = [ ncurses readline gmp mpfr expat libipt zlib guile ]
+  buildInputs = [ ncurses readline gmp mpfr expat libipt zlib guile sourceHighlight ]
     ++ lib.optional pythonSupport python3
     ++ lib.optional doCheck dejagnu;
 
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index a0c002d8a8c55..28eead7c2e53e 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchurl {
     url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "14npmdxppmh0ci140w8i8cy7zg1pnqg81a1mdsnza711ab7k36k9";
+    sha256 = "1v8px6g0zvhfxqa1inmdqfj4gc8dm70x7874hri4s48szjyd8zjc";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/pkgs/development/tools/ocaml/dune/1.nix b/pkgs/development/tools/ocaml/dune/1.nix
index ad908787911b8..74deb9d2fa556 100644
--- a/pkgs/development/tools/ocaml/dune/1.nix
+++ b/pkgs/development/tools/ocaml/dune/1.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, ocaml, findlib }:
+{ stdenv, lib, fetchurl, ocaml, findlib, ncurses }:
 
 if !lib.versionAtLeast ocaml.version "4.02"
 || lib.versionAtLeast ocaml.version "4.12"
@@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "1rkc8lqw30ifjaz8d81la6i8j05ffd0whpxqsbg6dci16945zjvp";
   };
 
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
+  buildInputs = [ ncurses ];
+  strictDeps = true;
 
   buildFlags = [ "release" ];
   makeFlags = [
@@ -22,6 +24,8 @@ stdenv.mkDerivation rec {
   ];
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   meta = with lib; {
     homepage = "https://dune.build/";
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index 00d593f751072..f80fabedebe4e 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -13,11 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
   };
 
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
+  strictDeps = true;
 
   buildFlags = "release";
 
   dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
   installFlags = [ "PREFIX=${placeholder "out"}" "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index 2286c0945fcf0..497a8ce91c1d5 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -9,25 +9,23 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-K0K4vVRIjWTEvzy3BUtLN70wwdwSvUMeoeTXrYqYD+I=";
   };
 
-  buildInputs = [m4 ncurses ocaml];
+  nativeBuildInputs = [m4 ocaml];
+  buildInputs = [ ncurses ];
 
   patches = [ ./ldconf.patch ./install_topfind.patch ];
 
   dontAddPrefix=true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
 
-  preConfigure=''
-    configureFlagsArray=(
-      -bindir $out/bin
-      -mandir $out/share/man
-      -sitelib $out/lib/ocaml/${ocaml.version}/site-lib
-      -config $out/etc/findlib.conf
-    )
-  '';
+  configureFlags = [
+      "-bindir" "${placeholder "out"}/bin"
+      "-mandir" "${placeholder "out"}/share/man"
+      "-sitelib" "${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib"
+      "-config" "${placeholder "out"}/etc/findlib.conf"
+  ];
 
-  buildPhase = ''
-    make all
-    make opt
-  '';
+  buildFlags = [ "all" "opt" ];
 
   setupHook = writeText "setupHook.sh" ''
     addOCamlPath () {
@@ -37,6 +35,8 @@ stdenv.mkDerivation rec {
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"; then
             export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
         fi
+    }
+    createOcamlDestDir () {
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
         if test -n "''${createFindlibDestdir-}"; then
           mkdir -p $OCAMLFIND_DESTDIR
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     }
 
     addEnvHooks "$targetOffset" addOCamlPath
+    preConfigureHooks+=(createOcamlDestDir)
   '';
 
   meta = {
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 6854c7c20ca3f..10c7bf63aa41f 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -18,9 +18,21 @@ stdenv.mkDerivation {
       ocaml findlib ocamlbuild ocamlmod ocamlify
     ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix $out";
-  buildPhase     = "ocaml setup.ml -build";
-  installPhase   = "ocaml setup.ml -install";
+  configurePhase = ''
+    runHook preConfigure
+    ocaml setup.ml -configure --prefix $out
+    runHook postConfigure
+  '';
+  buildPhase = ''
+    runHook preBuild
+    ocaml setup.ml -build
+    runHook postBuild
+  '';
+  installPhase = ''
+    runHook preInstall
+    ocaml setup.ml -install
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://oasis.forge.ocamlcore.org/";
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 926838ede5456..e3043d46ee5ec 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -12,14 +12,22 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
+  strictDeps = true;
+
+  # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together
+  hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie";
 
   configurePhase = ''
+  runHook preConfigure
+
   make -f configure.make Makefile.config \
     "OCAMLBUILD_PREFIX=$out" \
     "OCAMLBUILD_BINDIR=$out/bin" \
     "OCAMLBUILD_MANDIR=$out/share/man" \
     "OCAMLBUILD_LIBDIR=$OCAMLFIND_DESTDIR"
+
+  runHook postConfigure
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/ocaml/opaline/default.nix b/pkgs/development/tools/ocaml/opaline/default.nix
index 9cdacd289d493..d9ba33bb473e6 100644
--- a/pkgs/development/tools/ocaml/opaline/default.nix
+++ b/pkgs/development/tools/ocaml/opaline/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1aj1fdqymq3pnr39h47hn3kxk5v9pnwx0jap1z2jzh78x970z21m";
   };
 
-  buildInputs = with ocamlPackages; [ ocaml findlib ocamlbuild opam-file-format ];
+  nativeBuildInputs = with ocamlPackages; [ ocaml findlib ocamlbuild ];
+  buildInputs = with ocamlPackages; [ opam-file-format ];
 
   preInstall = "mkdir -p $out/bin";
 
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index a945f3bdde039..c3b09b71d1733 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -1,23 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "re2c";
-  version = "2.1.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner  = "skvadrik";
     repo   = "re2c";
     rev    = version;
-    sha256 = "06nvk5sf4vrc2bvpj4vi2xwy3ggv548sn530drz5fi67nhzgga26";
+    sha256 = "0snfxk1cf2f4dy4hcxd1fx1grav3di0qjgqqn97k85zsf9f6ys78";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+    python3
+  ];
 
   doCheck = true;
   enableParallelBuilding = true;
 
   preCheck = ''
-    patchShebangs run_tests.sh
+    patchShebangs run_tests.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix
index 71394c0989078..8b4780d7ea080 100644
--- a/pkgs/development/tools/rust/cargo-c/default.nix
+++ b/pkgs/development/tools/rust/cargo-c/default.nix
@@ -1,11 +1,11 @@
 { rustPlatform, stdenv, lib, fetchFromGitHub, fetchurl
-, pkg-config, openssl
+, pkg-config, curl, openssl
 , CoreFoundation, libiconv, Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-c";
-  version = "0.8.1";
+  version = "0.9.2";
 
   src = stdenv.mkDerivation rec {
     name = "${pname}-source-${version}";
@@ -14,11 +14,11 @@ rustPlatform.buildRustPackage rec {
       owner = "lu-zero";
       repo = pname;
       rev = "v${version}";
-      sha256 = "0fd0xql5cbqgmir2z3ah91iasaq9133wmi5bnhiy3dv7drcqv4rc";
+      sha256 = "0hvlrhmbplx4cj4l5fynihgr9cdh0rkpwvipizk1gpp6p1ksr5hz";
     };
     cargoLock = fetchurl {
       url = "https://github.com/lu-zero/${pname}/releases/download/v${version}/Cargo.lock";
-      sha256 = "1xlh3h77rxhqyr1nkqyanb120lwdks6fklh202camqpmznd763g5";
+      sha256 = "0ckn31asz7013206j153ig96602dxvxm6skdz1plan0h05j5mgah";
     };
 
     installPhase = ''
@@ -28,12 +28,23 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "0b952xkg0l31laqlhsv3cqdag7v15k9na6xr6q9y8xwy1fjh9gzv";
+  cargoSha256 = "0c0vn2pcy5px02mc0l4a3w7z9n8hc6br5w3ww6nrav5w6911jp52";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ]
+
+  nativeBuildInputs = [ pkg-config (lib.getDev curl) ];
+  buildInputs = [ openssl curl ]
   ++ lib.optionals stdenv.isDarwin [ CoreFoundation libiconv Security ];
 
+  # Ensure that we are avoiding build of the curl vendored in curl-sys
+  doInstallCheck = stdenv.hostPlatform.libc == "glibc";
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    ldd "$out/bin/cargo-cbuild" | grep libcurl.so
+
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     description = "A cargo subcommand to build and install C-ABI compatibile dynamic and static libraries";
     longDescription = ''
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index c1bc2fb4c07b5..69963ea7d1faf 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-cbindgen";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "0753dklr5lm1dmk6hy5khh8k3xyr5srfsq11l07685h71j7z0r00";
+    sha256 = "sha256-BLiAFYkqVJSpeNPW7UF2PpAttd6ADGeQ9yneiVfNi4g=";
   };
 
-  cargoSha256 = "0qyw0iqin7i31kk23ddsmywk7z0xxpd5n4q6dr6mf44y35a8krm8";
+  cargoSha256 = "sha256-P58qANcl0mYqJDP1QnSx560y8BLH+ePTZ+uHuix89R4=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/tools/rust/maturin/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index 5ab47c8aa8deb..9e7e39f3b7210 100644
--- a/pkgs/development/tools/rust/maturin/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "maturin";
-  version = "0.10.6";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    hash = "sha256-qWDrdS1zxe5woQSKLHhDSGJ1KF4SHk1mhaQApJXCCO4=";
+    hash = "sha256-jWkrjFQg0EqM+e/IT2n2E4lGL2kT/Wz7r5BLlzvWSO0=";
   };
 
-  cargoHash = "sha256-NEXgb7yWQkqbbofd3oYQ5n+CmfaM2cWj8HwufrcRKkc=";
+  cargoHash = "sha256-+kXwMGeE2HD59EU0Dzvg8I6LcHiPV7SKSFqnCTfkKwY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/games/portmod/default.nix b/pkgs/games/portmod/default.nix
index 9db57d3e0a940..b677c63defeb5 100644
--- a/pkgs/games/portmod/default.nix
+++ b/pkgs/games/portmod/default.nix
@@ -1,22 +1,22 @@
 { lib, callPackage, python3Packages, fetchFromGitLab, cacert,
   rustPlatform, bubblewrap, git, perlPackages, imagemagick, fetchurl, fetchzip,
-  jre, makeWrapper, tr-patcher, tes3cmd }:
+  jre, makeWrapper, tr-patcher, tes3cmd, fetchpatch }:
 
 let
-  version = "2.0_beta9";
+  version = "2.0.3";
 
   src = fetchFromGitLab {
     owner = "portmod";
     repo = "Portmod";
     rev = "v${version}";
-    sha256 = "0a598rb0z6gsdyr4n0lc0yc583njjii07p6vxw75xsh7292vxksc";
+    sha256 = "sha256-vMdyaI1Ps7bFoRvwdVNVG9vPFEiGb7CPvKEWfxiM128=";
   };
 
   portmod-rust = rustPlatform.buildRustPackage rec {
     inherit src version;
     pname = "portmod-rust";
 
-    cargoHash = "sha256-7Ce+EIbZuOur7iGOUXNWiXReuZO54LQJu+sJPw1CJGg=";
+    cargoHash = "sha256-tAghZmlg34jHr8gtNgL3MQ8EI7K6/TfDcTbBjxdWLr0=";
 
     nativeBuildInputs = [ python3Packages.python ];
 
@@ -44,9 +44,18 @@ python3Packages.buildPythonApplication rec {
   prePatch = ''
     substituteInPlace setup.py \
       --replace "from setuptools_rust import Binding, RustExtension" "" \
-      --replace "RustExtension(\"portmod.portmod\", binding=Binding.PyO3, strip=True)" ""
+      --replace "RustExtension(\"portmodlib.portmod\", binding=Binding.PyO3, strip=True)" ""
   '';
 
+  patches = [
+    (fetchpatch {
+      # fix error when symlinks are present in the path (https://gitlab.com/portmod/portmod/-/merge_requests/393)
+      # happen with ~/.nix-profile
+      url = "https://gitlab.com/portmod/portmod/-/merge_requests/393.patch";
+      sha256 = "sha256-XHifwD/Nh7UiMZdvSNudVF7qpBOpjGTKSr4VVdJqUdA=";
+    })
+  ];
+
   propagatedBuildInputs = with python3Packages; [
     setuptools-scm
     setuptools
@@ -61,6 +70,7 @@ python3Packages.buildPythonApplication rec {
     redbaron
     patool
     packaging
+    fasteners
   ];
 
   checkInputs = with python3Packages; [
@@ -68,7 +78,7 @@ python3Packages.buildPythonApplication rec {
   ] ++ bin-programs;
 
   preCheck = ''
-    cp ${portmod-rust}/lib/libportmod.so portmod/portmod.so
+    cp ${portmod-rust}/lib/libportmod.so portmodlib/portmod.so
     export HOME=$(mktemp -d)
   '';
 
@@ -79,11 +89,14 @@ python3Packages.buildPythonApplication rec {
     "test_execute_network_permissions"
     "test_execute_permissions_bleed"
     "test_git"
+    "test_sync"
+    "test_manifest"
+    "test_add_repo"
   ];
 
   # for some reason, installPhase doesn't copy the compiled binary
   postInstall = ''
-    cp ${portmod-rust}/lib/libportmod.so $out/${python3Packages.python.sitePackages}/portmod/portmod.so
+    cp ${portmod-rust}/lib/libportmod.so $out/${python3Packages.python.sitePackages}/portmodlib/portmod.so
 
     makeWrapperArgs+=("--prefix" "GIT_SSL_CAINFO" ":" "${cacert}/etc/ssl/certs/ca-bundle.crt" \
       "--prefix" "PATH" ":" "${lib.makeBinPath bin-programs }")
diff --git a/pkgs/misc/pylode/default.nix b/pkgs/misc/pylode/default.nix
index 33e78bc152312..18e1123469124 100644
--- a/pkgs/misc/pylode/default.nix
+++ b/pkgs/misc/pylode/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyLODE";
-  version = "2.8.6";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "RDFLib";
     repo = pname;
     rev = version;
-    sha256 = "0zbk5lj9vlg32rmvw1himlw63kxd7sim7nzglrjs5zm6vpi4x5ch";
+    sha256 = "sha256-X/YiJduAJNiceIrlCFwD2PFiMn3HVlzr9NzyDvYcql8=";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -22,7 +22,6 @@ python3Packages.buildPythonApplication rec {
     jinja2
     markdown
     rdflib
-    rdflib-jsonld
     requests
     six
     beautifulsoup4
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index cb85566b51281..66190b7b4e37c 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -69,7 +69,13 @@ appleDerivation' stdenv {
     #define TARGET_OS_UNIX          0
     #define TARGET_OS_EMBEDDED      0
     #define TARGET_OS_IPHONE        0
+    #define TARGET_OS_IOS           0
+    #define TARGET_OS_WATCH         0
+    #define TARGET_OS_BRIDGE        0
+    #define TARGET_OS_TV            0
+    #define TARGET_OS_SIMULATOR     0
     #define TARGET_IPHONE_SIMULATOR 0
+    #define TARGET_OS_NANO          0
     #define TARGET_OS_LINUX         0
 
     #define TARGET_CPU_PPC          0
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 5acf8e560e3d5..344913888d574 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -20,7 +20,7 @@
 }:
 
 let
-  apparmor-version = "3.0.1";
+  apparmor-version = "3.0.3";
 
   apparmor-meta = component: with lib; {
     homepage = "https://apparmor.net/";
@@ -32,7 +32,7 @@ let
 
   apparmor-sources = fetchurl {
     url = "https://launchpad.net/apparmor/${lib.versions.majorMinor apparmor-version}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "096zbg3v7b51x7f1ly61mzd3iy9alad6sd4lam98j2d6v5ragbcg";
+    sha256 = "0nasq8pdmzkrf856yg1v8z5hcs0nn6gw2qr60ab0a7j9ixfv0g8m";
   };
 
   aa-teardown = writeShellScript "aa-teardown" ''
@@ -56,7 +56,7 @@ let
       name = "0003-Added-missing-typedef-definitions-on-parser.patch";
       sha256 = "0yyaqz8jlmn1bm37arggprqz0njb4lhjni2d9c8qfqj0kll0bam0";
     })
-    ];
+  ];
 
   # Set to `true` after the next FIXME gets fixed or this gets some
   # common derivation infra. Too much copy-paste to fix one by one.
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index a43b9eff3c813..7cc28e7f314f0 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.41";
+  version = "0.42";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
     rev = version;
-    sha256 = "sha256-UCE+PgGmbePlOoAc8jXxCX6fHr16qf1AQMKxizfSTJM=";
+    sha256 = "sha256-GgQhSzVqGCpljWewtevCc9rpkks7devRNp5TN+5JNN4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index e0a1a566d777e..fbae4a6011bad 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.15";
+  version = "1.16";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-qGQDIzJfeBT9VLwr9Ci9vXcM0ZvFvjL2E9PcKoZ8E94=";
+    sha256 = "sha256-Nu6vb5UOJ/KgmJZM4bMKwLpOoKMLcnZPYCqFBQjuCYY=";
   };
 
   outputs = [ "out" "man" ]
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index c82f872e48899..1ce4a21e24243 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -881,6 +881,22 @@ let
       # Keeping it a built-in ensures it will be used if possible.
       FB_SIMPLE = yes;
 
+    } // optionalAttrs (versionAtLeast version "5.4" && (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux")) {
+      # Required for various hardware features on Chrome OS devices
+      CHROME_PLATFORMS = yes;
+      CHROMEOS_TBMC = module;
+
+      CROS_EC = module;
+
+      CROS_EC_I2C = module;
+      CROS_EC_SPI = module;
+      CROS_EC_LPC = module;
+      CROS_EC_ISHTP = module;
+
+      CROS_KBD_LED_BACKLIGHT = module;
+    } // optionalAttrs (versionAtLeast version "5.4" && stdenv.hostPlatform.system == "x86_64-linux") {
+      CHROMEOS_LAPTOP = module;
+      CHROMEOS_PSTORE = module;
     };
   };
 in
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 2e52e49639e2f..fed7152d07ae3 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -67,23 +67,14 @@ stdenv.mkDerivation rec {
     sed -i 's|^#define LVM_CONFIGURE_LINE.*$|#define LVM_CONFIGURE_LINE "<removed>"|g' ./include/configure.h
   '';
 
-
-  patches = lib.optionals stdenv.hostPlatform.isMusl [
-    (fetchpatch {
-      name = "fix-stdio-usage.patch";
-      url = "https://git.alpinelinux.org/aports/plain/main/lvm2/fix-stdio-usage.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
-      sha256 = "0m6wr6qrvxqi2d2h054cnv974jq1v65lqxy05g1znz946ga73k3p";
-    })
+  patches = [
+    # Musl fixes from Alpine.
+    ./fix-stdio-usage.patch
     (fetchpatch {
       name = "mallinfo.patch";
       url = "https://git.alpinelinux.org/aports/plain/main/lvm2/mallinfo.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
       sha256 = "0g6wlqi215i5s30bnbkn8w7axrs27y3bnygbpbnf64wwx7rxxlj0";
     })
-    (fetchpatch {
-      name = "mlockall-default-config.patch";
-      url = "https://git.alpinelinux.org/aports/plain/main/lvm2/mlockall-default-config.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
-      sha256 = "1ivbj3sphgf8n1ykfiv5rbw7s8dgnj5jcr9jl2v8cwf28lkacw5l";
-    })
   ];
 
   doCheck = false; # requires root
diff --git a/pkgs/os-specific/linux/lvm2/fix-stdio-usage.patch b/pkgs/os-specific/linux/lvm2/fix-stdio-usage.patch
new file mode 100644
index 0000000000000..59666ffbad5a5
--- /dev/null
+++ b/pkgs/os-specific/linux/lvm2/fix-stdio-usage.patch
@@ -0,0 +1,53 @@
+diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
+index 296618686..96343eeb7 100644
+--- a/lib/commands/toolcontext.c
++++ b/lib/commands/toolcontext.c
+@@ -1619,7 +1619,7 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd,
+ 	/* FIXME Make this configurable? */
+ 	reset_lvm_errno(1);
+ 
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ 	/* Set in/out stream buffering before glibc */
+ 	if (set_buffering
+ #ifdef SYS_gettid
+@@ -2006,7 +2006,7 @@ void destroy_toolcontext(struct cmd_context *cmd)
+ 
+ 	if (cmd->pending_delete_mem)
+ 		dm_pool_destroy(cmd->pending_delete_mem);
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ 	if (cmd->linebuffer) {
+ 		/* Reset stream buffering to defaults */
+ 		if (is_valid_fd(STDIN_FILENO) &&
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index d97ff5720..bbbda82bd 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3342,7 +3342,7 @@ static int _check_standard_fds(void)
+ 	int err = is_valid_fd(STDERR_FILENO);
+ 
+ 	if (!is_valid_fd(STDIN_FILENO) &&
+-	    !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++	    !freopen(_PATH_DEVNULL, "r", stdin)) {
+ 		if (err)
+ 			perror("stdin stream open");
+ 		else
+@@ -3352,7 +3352,7 @@ static int _check_standard_fds(void)
+ 	}
+ 
+ 	if (!is_valid_fd(STDOUT_FILENO) &&
+-	    !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++	    !freopen(_PATH_DEVNULL, "w", stdout)) {
+ 		if (err)
+ 			perror("stdout stream open");
+ 		/* else no stdout */
+@@ -3360,7 +3360,7 @@ static int _check_standard_fds(void)
+ 	}
+ 
+ 	if (!is_valid_fd(STDERR_FILENO) &&
+-	    !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++	    !freopen(_PATH_DEVNULL, "w", stderr)) {
+ 		printf("stderr stream open: %s\n",
+ 		       strerror(errno));
+ 		return 0;
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 01d2db5b2f1af..63f82923cb7f0 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -12,7 +12,6 @@
 , coreutils
 , gperf
 , getent
-, patchelf
 , glibcLocales
 , glib
 , substituteAll
@@ -90,7 +89,6 @@
   # name argument
 , pname ? "systemd"
 
-
 , libxslt
 , docbook_xsl
 , docbook_xml_dtd_42
@@ -113,10 +111,10 @@ assert withCryptsetup ->
 let
   wantCurl = withRemote || withImportd;
 
-  version = "247.6";
 in
-stdenv.mkDerivation {
-  inherit version pname;
+stdenv.mkDerivation rec {
+  inherit pname;
+  version = "247.6";
 
   # We use systemd/systemd-stable for src, and ship NixOS-specific patches inside nixpkgs directly
   # This has proven to be less error-prone than the previous systemd fork.
@@ -267,55 +265,51 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "man" "dev" ];
 
-  nativeBuildInputs =
-    [
-      pkg-config
-      gperf
-      ninja
-      meson
-      coreutils # meson calls date, stat etc.
-      glibcLocales
-      patchelf
-      getent
-      m4
-
-      intltool
-      gettext
-
-      libxslt
-      docbook_xsl
-      docbook_xml_dtd_42
-      docbook_xml_dtd_45
-      (buildPackages.python3Packages.python.withPackages (ps: with ps; [ python3Packages.lxml ]))
-    ];
-
-  buildInputs =
-    [
-      acl
-      audit
-      glib
-      kmod
-      libcap
-      libgcrypt
-      libidn2
-      libuuid
-      linuxHeaders
-      pam
-    ]
-
-    ++ lib.optional withApparmor libapparmor
-    ++ lib.optional wantCurl (lib.getDev curl)
-    ++ lib.optionals withCompression [ bzip2 lz4 xz ]
-    ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev)
-    ++ lib.optional withEfi gnu-efi
-    ++ lib.optional withKexectools kexec-tools
-    ++ lib.optional withLibseccomp libseccomp
-    ++ lib.optional withNetworkd iptables
-    ++ lib.optional withPCRE2 pcre2
-    ++ lib.optional withResolved libgpgerror
-    ++ lib.optional withSelinux libselinux
-    ++ lib.optional withRemote libmicrohttpd
-    ++ lib.optionals withHomed [ p11-kit libfido2 ]
+  nativeBuildInputs = [
+    pkg-config
+    gperf
+    ninja
+    meson
+    glibcLocales
+    getent
+    m4
+
+    intltool
+    gettext
+
+    libxslt
+    docbook_xsl
+    docbook_xml_dtd_42
+    docbook_xml_dtd_45
+    (buildPackages.python3Packages.python.withPackages (ps: with ps; [ python3Packages.lxml ]))
+  ];
+
+  buildInputs = [
+    acl
+    audit
+    glib
+    kmod
+    libcap
+    libgcrypt
+    libidn2
+    libuuid
+    linuxHeaders
+    pam
+  ]
+
+  ++ lib.optional withApparmor libapparmor
+  ++ lib.optional wantCurl (lib.getDev curl)
+  ++ lib.optionals withCompression [ bzip2 lz4 xz ]
+  ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev)
+  ++ lib.optional withEfi gnu-efi
+  ++ lib.optional withKexectools kexec-tools
+  ++ lib.optional withLibseccomp libseccomp
+  ++ lib.optional withNetworkd iptables
+  ++ lib.optional withPCRE2 pcre2
+  ++ lib.optional withResolved libgpgerror
+  ++ lib.optional withSelinux libselinux
+  ++ lib.optional withRemote libmicrohttpd
+  ++ lib.optionals withHomed [ p11-kit libfido2 ]
   ;
 
   #dontAddPrefix = true;
@@ -368,14 +362,14 @@ stdenv.mkDerivation {
     "-Db_pie=true"
     "-Dinstall-sysconfdir=false"
     /*
-    As of now, systemd doesn't allow runtime configuration of these values. So
-    the settings in /etc/login.defs have no effect on it. Many people think this
-    should be supported however, see
-    - https://github.com/systemd/systemd/issues/3855
-    - https://github.com/systemd/systemd/issues/4850
-    - https://github.com/systemd/systemd/issues/9769
-    - https://github.com/systemd/systemd/issues/9843
-    - https://github.com/systemd/systemd/issues/10184
+      As of now, systemd doesn't allow runtime configuration of these values. So
+      the settings in /etc/login.defs have no effect on it. Many people think this
+      should be supported however, see
+      - https://github.com/systemd/systemd/issues/3855
+      - https://github.com/systemd/systemd/issues/4850
+      - https://github.com/systemd/systemd/issues/9769
+      - https://github.com/systemd/systemd/issues/9843
+      - https://github.com/systemd/systemd/issues/10184
     */
     "-Dsystem-uid-max=999"
     "-Dsystem-gid-max=999"
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index bf45a50376166..ceaa6535c6cf6 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ pkgs, lib, stdenv, fetchFromGitHub
 , autoreconfHook269, util-linux, nukeReferences, coreutils
 , perl, nixosTests
 , configFile ? "all"
@@ -16,7 +16,7 @@
 , enablePython ? true
 
 # for determining the latest compatible linuxPackages
-, linuxPackages_5_13
+, linuxPackages_5_13 ? pkgs.linuxKernel.packages.linux_5_13
 }:
 
 with lib;
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index ef322524ca925..b6dd0b9872012 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -18,9 +18,9 @@ python3.pkgs.buildPythonApplication rec {
 
   prePatch = ''
     substituteInPlace setup.cfg \
-        --replace "requests>=2.11.1,<2.25.0" "requests>=2.11.1,<2.26.0" \
-        --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
-        --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0"
+      --replace "requests>=2.11.1,<2.25.0" "requests" \
+      --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
+      --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0"
   '';
 
   patches = [
diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix
index acb8c139be6fd..04043600e9612 100644
--- a/pkgs/servers/gerbera/default.nix
+++ b/pkgs/servers/gerbera/default.nix
@@ -65,13 +65,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gerbera";
-  version = "1.8.2";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     repo = "gerbera";
     owner = "gerbera";
     rev = "v${version}";
-    sha256 = "sha256-RVFzATHNCW4lR9dVrtY2fo2BiJrXPCpelBaUXBwOWyY=";
+    sha256 = "sha256-2nSxc5Tvy5EXYH1FqR455r84Y07Jg0sOgIScuAdDn6Q=";
   };
 
   postPatch = lib.optionalString enableMysql ''
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 68a80dc41d7e4..2e1dbfbcacb8a 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -185,7 +185,9 @@ in with py.pkgs; buildPythonApplication rec {
       --replace "awesomeversion==21.4.0" "awesomeversion" \
       --replace "bcrypt==3.1.7" "bcrypt" \
       --replace "cryptography==3.3.2" "cryptography" \
+      --replace "httpx==0.18.2" "httpx>=0.18.2" \
       --replace "pip>=8.0.3,<20.3" "pip" \
+      --replace "requests==2.25.1" "requests>=2.25.1" \
       --replace "ruamel.yaml==0.15.100" "ruamel.yaml"
     substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
   '';
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 9b7cd567a77cb..e25b6758b49b5 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -4,10 +4,25 @@
 , callPackage
 }:
 
-with python3.pkgs;
+let
+py = python3.override {
+  packageOverrides = self: super: {
+    frozendict = super.frozendict.overridePythonAttrs (oldAttrs: rec {
+      version = "1.2";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp";
+      };
+      doCheck = false;
+    });
+  };
+};
+in
+
+with py.pkgs;
 
 let
-  plugins = python3.pkgs.callPackage ./plugins { };
+  plugins = py.pkgs.callPackage ./plugins { };
   tools = callPackage ./tools { };
 in
 buildPythonApplication rec {
@@ -66,13 +81,13 @@ buildPythonApplication rec {
   doCheck = !stdenv.isDarwin;
 
   checkPhase = ''
-    PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial tests
+    PYTHONPATH=".:$PYTHONPATH" ${py.interpreter} -m twisted.trial tests
   '';
 
   passthru.tests = { inherit (nixosTests) matrix-synapse; };
   passthru.plugins = plugins;
   passthru.tools = tools;
-  passthru.python = python3;
+  passthru.python = py;
 
   meta = with lib; {
     homepage = "https://matrix.org";
diff --git a/pkgs/servers/sql/mariadb/connector-c/3_2.nix b/pkgs/servers/sql/mariadb/connector-c/3_2.nix
new file mode 100644
index 0000000000000..8b1c8b04bdcec
--- /dev/null
+++ b/pkgs/servers/sql/mariadb/connector-c/3_2.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./. (args // {
+  version = "3.2.3";
+  sha256 = "1x1i4ck4c3sgkw083v02zk3rbkm5h0x1vl4m58j95q1qcijkiamn";
+})
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index fa9b5c414ed97..a49c0549a668a 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -22,14 +22,14 @@ mariadb = server // {
 };
 
 common = rec { # attributes common to both builds
-  version = "10.5.11";
+  version = "10.6.3";
 
   src = fetchurl {
     urls = [
       "https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
       "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
     ];
-    sha256 = "0yn4bhqciy6jyig31rmkjc588l03k4bj3194yf9y6373bxh5643n";
+    sha256 = "1nqq1g6h2gvsraqziv2qq42v7y6fzbfw357mh3d1zv7md9h2bhav";
     name   = "mariadb-${version}.tar.gz";
   };
 
@@ -95,7 +95,7 @@ common = rec { # attributes common to both builds
     rm "$out"/bin/{mariadb_config,mysql_config}
     rm -r $out/include
     rm -r $out/lib/pkgconfig
-    rm -r $out/share/aclocal
+    rm -rf "$out"/share/aclocal
   '';
 
   passthru.mysqlVersion = "5.7";
@@ -135,7 +135,7 @@ client = stdenv.mkDerivation (common // {
   ];
 
   postInstall = common.postInstall + ''
-    rm -r "$out"/share/doc
+    rm -rf "$out"/share/doc
     rm "$out"/bin/{mysqltest,mytop}
     libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt})
     rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}}
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 2b387db66cdc6..1f4bbc0586ffe 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.8";
+  version = "26.4.9";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    sha256 = "0rx710dfijiykpi41rhxx8vafk07bffv2nbl3d4ggc32rzv88369";
+    sha256 = "1nf8vv0b9v7rjsxl93avgvv0lz5jjg91brnric0dhlnp2dzzxi6g";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 81f813aae9c7f..0acf8b099891a 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1002,11 +1002,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libXfont2 = callPackage ({ stdenv, pkg-config, fetchurl, libfontenc, xorgproto, freetype, xtrans, zlib }: stdenv.mkDerivation {
     pname = "libXfont2";
-    version = "2.0.4";
+    version = "2.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/lib/libXfont2-2.0.4.tar.bz2";
-      sha256 = "1rk9pjxcm01lbr1dxhnvk4f2qrn6zp068qjbvvz5w0z5d0rin5bd";
+      url = "mirror://xorg/individual/lib/libXfont2-2.0.5.tar.bz2";
+      sha256 = "0gmm20p3qq23pd2bhc5rsxil60wqvj9xi7l1nh55q8gp3hhnyz5a";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
@@ -3057,11 +3057,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xorgcffiles = callPackage ({ stdenv, pkg-config, fetchurl }: stdenv.mkDerivation {
     pname = "xorg-cf-files";
-    version = "1.0.6";
+    version = "1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2";
-      sha256 = "0kckng0zs1viz0nr84rdl6dswgip7ndn4pnh5nfwnviwpsfmmksd";
+      url = "mirror://xorg/individual/util/xorg-cf-files-1.0.7.tar.bz2";
+      sha256 = "0233jyjxjkhlar03vp8l5sm3iq6354izm3crk41h5291pgap39vl";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/x11/xorg/imake.patch b/pkgs/servers/x11/xorg/imake.patch
index 1d0ec88761d43..e8ce66cdee002 100644
--- a/pkgs/servers/x11/xorg/imake.patch
+++ b/pkgs/servers/x11/xorg/imake.patch
@@ -1,31 +1,35 @@
-diff -Naur imake-1.0.7-orig/imake.c imake-1.0.7/imake.c
---- imake-1.0.7-orig/imake.c	2013-08-17 10:11:50.000000000 +0000
-+++ imake-1.0.7/imake.c	2015-02-04 09:41:59.000000000 +0000
-@@ -1045,6 +1045,7 @@
- static void
- get_distrib(FILE *inFile)
- {
-+#if 0
-   struct stat sb;
+Disable imake autodetection for:
+- LinuxDistribution to avoid injection of /usr paths
+- gcc to avoid use uf /usr/bin/gcc
+
+https://github.com/NixOS/nixpkgs/issues/135337
+--- a/imake.c
++++ b/imake.c
+@@ -1065,6 +1065,7 @@ get_distrib(FILE *inFile)
+   fprintf (inFile, "%s\n", "#define LinuxWare       11");
+   fprintf (inFile, "%s\n", "#define LinuxYggdrasil  12");
  
-   static const char*   suse = "/etc/SuSE-release";
-@@ -1090,6 +1091,7 @@
++#if 0 /* disable system autodetection. Fall through to LinuxUnknown. */
+ # ifdef CROSSCOMPILE
+   if (CrossCompiling) {
+       fprintf (inFile, "%s\n",
+@@ -1090,6 +1091,7 @@ get_distrib(FILE *inFile)
       * at the content of /etc/debian_version */
      return;
    }
-+#endif  
++#endif
    /* what's the definitive way to tell what any particular distribution is? */
  
    fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown");
-@@ -1337,6 +1339,7 @@
+@@ -1337,6 +1339,7 @@ get_gcc_version(FILE *inFile, char *name)
  static boolean
  get_gcc(char *cmd)
  {
-+#if 0
++#if 0 /* disable gcc autodetection. Fall through to explicitly set. */
    struct stat sb;
      static const char* gcc_path[] = {
  #if defined(linux) || \
-@@ -1385,6 +1388,9 @@
+@@ -1385,6 +1388,9 @@ get_gcc(char *cmd)
  	}
        }
      return FALSE;
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 0f6ab40ed9064..9b36ca3625998 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -187,7 +187,7 @@ mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2
 mirror://xorg/individual/lib/libXfixes-6.0.0.tar.bz2
 mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
-mirror://xorg/individual/lib/libXfont2-2.0.4.tar.bz2
+mirror://xorg/individual/lib/libXfont2-2.0.5.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.3.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.10.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2
@@ -217,5 +217,5 @@ mirror://xorg/individual/util/imake-1.0.8.tar.bz2
 mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2
-mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2
+mirror://xorg/individual/util/xorg-cf-files-1.0.7.tar.bz2
 mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 719f679982664..971be95e935d7 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -90,6 +90,38 @@ rec {
       });
     });
 
+  # Best effort static binaries. Will still be linked to libSystem,
+  # but more portable than Nix store binaries.
+  makeStaticDarwin = stdenv: stdenv.override (old: {
+    # extraBuildInputs are dropped in cross.nix, but darwin still needs them
+    extraBuildInputs = [ pkgs.buildPackages.darwin.CF ];
+    mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
+      NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "")
+        + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc";
+      nativeBuildInputs = (args.nativeBuildInputs or []) ++ [
+        (pkgs.buildPackages.makeSetupHook {
+          substitutions = {
+            libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib";
+          };
+        } ./darwin/portable-libsystem.sh)
+      ];
+    });
+  });
+
+  # Puts all the other ones together
+  makeStatic = stdenv: lib.foldl (lib.flip lib.id) stdenv (
+    lib.optional stdenv.hostPlatform.isDarwin makeStaticDarwin
+
+    ++ [ makeStaticLibraries propagateBuildInputs ]
+
+    # Apple does not provide a static version of libSystem or crt0.o
+    # So we can’t build static binaries without extensive hacks.
+    ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeStaticBinaries
+
+    # Glibc doesn’t come with static runtimes by default.
+    # ++ lib.optional (stdenv.hostPlatform.libc == "glibc") ((lib.flip overrideInStdenv) [ self.stdenv.glibc.static ])
+  );
+
 
   /* Modify a stdenv so that all buildInputs are implicitly propagated to
      consuming derivations
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 18a6e2a473727..613b8d5304c01 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -35,12 +35,16 @@ in lib.init bootStages ++ [
   })
 
   # Run Packages
-  (buildPackages: {
+  (buildPackages: let
+    adaptStdenv =
+      if crossSystem.isStatic
+      then buildPackages.stdenvAdapters.makeStatic
+      else lib.id;
+  in {
     inherit config;
-    overlays = overlays ++ crossOverlays
-      ++ (if (with crossSystem; isWasm || isRedox) then [(import ../../top-level/static.nix)] else []);
+    overlays = overlays ++ crossOverlays;
     selfBuild = false;
-    stdenv = buildPackages.stdenv.override (old: rec {
+    stdenv = adaptStdenv (buildPackages.stdenv.override (old: rec {
       buildPlatform = localSystem;
       hostPlatform = crossSystem;
       targetPlatform = crossSystem;
@@ -83,7 +87,7 @@ in lib.init bootStages ++ [
            # to recognize 64-bit DLLs
         ++ lib.optional (hostPlatform.config == "x86_64-w64-mingw32") buildPackages.file
         ;
-    });
+    }));
   })
 
 ]
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index ec5a5e6dcb9d8..4431936e3d40a 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -199,6 +199,29 @@ isELF() {
     if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
 }
 
+# Return success if the specified file is a Mach-O object.
+isMachO() {
+    local fn="$1"
+    local fd
+    local magic
+    exec {fd}< "$fn"
+    read -r -n 4 -u "$fd" magic
+    exec {fd}<&-
+    # https://opensource.apple.com/source/lldb/lldb-310.2.36/examples/python/mach_o.py.auto.html
+    if [[ "$magic" = $'\xfe\xed\xfa\xcf' || "$magic" = $'\xcf\xfa\xed\xfe' ]]; then
+        # MH_MAGIC_64 || MH_CIGAM_64
+        return 0;
+    elif [[ "$magic" = $'\xfe\xed\xfa\xce' || "$magic" = $'\xce\xfa\xed\xfe' ]]; then
+        # MH_MAGIC || MH_CIGAM
+        return 0;
+    elif [[ "$magic" = $'\xca\xfe\xba\xbe' || "$magic" = $'\xbe\xba\xfe\xca' ]]; then
+        # FAT_MAGIC || FAT_CIGAM
+        return 0;
+    else
+        return 1;
+    fi
+}
+
 # Return success if the specified file is a script (i.e. starts with
 # "#!").
 isScript() {
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 05936d1d1f3da..d751cb8f087a7 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -13,9 +13,11 @@ stdenv.mkDerivation {
   buildInputs = [ libXt libXaw libXtst xorgproto libXi Xaw3d libXpm ];
   installTargets = [ "install" "install.man" ];
   makeFlags = [
-    "BINDIR=$(out)/bin"
-    "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
-    "MANPATH=$(out)/man"
+    "BINDIR=${placeholder "out"}/bin"
+    "CONFDIR=${placeholder "out"}/etc/X11"
+    "LIBDIR=${placeholder "out"}/lib/X11"
+    "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
+    "MANPATH=${placeholder "out"}/man"
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 0d0d2ec80ffe8..556539eddd2ba 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -21,11 +21,11 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.19.97"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.19.106"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-kecuyQMk4GWH9G0/f4Gi/hWtW4Zme9Q4i7XclcZTlNc=";
+    sha256 = "sha256-6o24GUcT3efgK5+Wa7n4+EeA5qXmAGhybzed7ybdT9Q=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 0c5d08fd25c5c..0b7be59231ca8 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -2,6 +2,14 @@
 let
   py = python3.override {
     packageOverrides = self: super: {
+      awscrt = super.awscrt.overridePythonAttrs (oldAttrs: rec {
+        version = "0.11.24";
+        src = self.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "sha256-uKpovKQEvwCFvgVw7/W1QtAffo48D5sIWav+XgcBYv8=";
+        };
+      });
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
         version = "2.0.0dev138";
         src = fetchFromGitHub {
@@ -43,12 +51,12 @@ with py.pkgs; buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "awscrt==0.11.24" "awscrt" \
       --replace "colorama>=0.2.5,<0.4.4" "colorama" \
       --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \
       --replace "docutils>=0.10,<0.16" "docutils" \
       --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
-      --replace "wcwidth<0.2.0" "wcwidth"
+      --replace "wcwidth<0.2.0" "wcwidth" \
+      --replace "distro>=1.5.0,<1.6.0" "distro"
   '';
 
   checkInputs = [ jsonschema mock nose ];
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 2cde5a1da5798..1cae7c1cc1fb4 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -87,6 +87,7 @@ let
         postPatch = ''
           substituteInPlace setup.py \
             --replace "azure-mgmt-core>=1.2.0,<1.3.0" "azure-mgmt-core~=1.2" \
+            --replace "requests~=2.25.1" "requests~=2.25" \
             --replace "cryptography>=3.2,<3.4" "cryptography"
         '';
 
@@ -98,7 +99,7 @@ let
           PYTHONPATH=$PWD:$PYTHONPATH HOME=$TMPDIR pytest \
             --ignore=azure/cli/core/tests/test_profile.py \
             --ignore=azure/cli/core/tests/test_generic_update.py \
-            -k 'not metadata_url'
+            -k 'not metadata_url and not test_send_raw_requests'
         '';
 
         pythonImportsCheck = [
@@ -157,7 +158,7 @@ let
         "sha256-39msNYlZeZdn8cJ4LjZw9oxzy0YrNSPVEIN21wnkMKs=";
 
       azure-mgmt-recoveryservices = overrideAzureMgmtPackage super.azure-mgmt-recoveryservices "1.0.0" "zip"
-        "0v0ycyjnnx09jqf958hj2q6zfpsn80bxxm98jf59y8rj09v99rza";
+        "sha256-q4cQjA1c4n2AWDtL+tlmrQcEncvA6awoxkqmu9rmTiI=";
 
       azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.12.0" "zip"
         "sha256-mrw1Gs3LMOPFiL5mSSrm+g1/dxihplA6ItYHbwljJbM=";
@@ -201,6 +202,9 @@ let
       azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "2.0.0" "zip"
         "653a765f0beb6af0c9ecbd290b4101e1b5e0f6450405faf28ab8234c15d8b38b";
 
+      azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "0.2.0" "zip"
+        "sha256-jDes/Rwzq6hF8uAwLvcmbK0xy6UDzJkKSGhGWay3uR0=";
+
       azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "4.1.0" "zip"
         "e6d4810f454c0d63a5e816eaa7e54a073a3f70b2256162ff1c234cfe91783ae6";
 
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index c785211e682f9..ec0f096915f11 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gettext, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "sharutils-4.15.2";
+  pname = "sharutils";
+  version = "4.15.2";
 
   src = fetchurl {
-    url = "mirror://gnu/sharutils/${name}.tar.xz";
+    url = "mirror://gnu/sharutils/sharutils-${version}.tar.xz";
     sha256 = "16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b";
   };
 
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index e74637ca25ec1..584f981aff70f 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -3,11 +3,12 @@
 , enableNLS ? false, libnatspec
 }:
 
-stdenv.mkDerivation {
-  name = "unzip-6.0";
+stdenv.mkDerivation rec {
+  pname = "unzip";
+  version = "6.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/infozip/unzip60.tar.gz";
+    url = "mirror://sourceforge/infozip/unzip${lib.replaceStrings ["."] [""] version}.tar.gz";
     sha256 = "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83";
   };
 
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index 58c748fe4e8ad..ab91cfc648348 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -2,12 +2,13 @@
 
 assert enableNLS -> libnatspec != null;
 
-stdenv.mkDerivation {
-  name = "zip-3.0";
+stdenv.mkDerivation rec {
+  pname = "zip";
+  version = "3.0";
 
   src = fetchurl {
     urls = [
-      "ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz"
+      "ftp://ftp.info-zip.org/pub/infozip/src/zip${lib.replaceStrings ["."] [""] version}.tgz"
       "https://src.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz"
     ];
     sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h";
diff --git a/pkgs/tools/audio/mpd-mpris/default.nix b/pkgs/tools/audio/mpd-mpris/default.nix
index b90ab80befdca..71d823244faee 100644
--- a/pkgs/tools/audio/mpd-mpris/default.nix
+++ b/pkgs/tools/audio/mpd-mpris/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mpd-mpris";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "natsukagami";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kzjbv04b2garb99l64wdq8yksnm4pbhkgyzh89j5j3gb9k55zal";
+    sha256 = "sha256-eI7/E5rhNCZfURwGkfa0f+Yie1EU8zR9r+1eAqrlmVY=";
   };
 
-  vendorSha256 = "1ggrqwd3h602rav1dc3amsf4wxsq8mdq4ijkdsg759sqhpzl6rqs";
+  vendorSha256 = "sha256-GmdD/4VYp3KeblNGgltFWHdOnK5qsBa2ygIYOBrH+b0=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/backup/automysqlbackup/default.nix b/pkgs/tools/backup/automysqlbackup/default.nix
index 5ecdcc4e7edb0..55186cfb21f07 100644
--- a/pkgs/tools/backup/automysqlbackup/default.nix
+++ b/pkgs/tools/backup/automysqlbackup/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchurl, makeWrapper, mariadb, mailutils, pbzip2, pigz, bzip2, gzip }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, mariadb, mailutils, pbzip2, pigz, bzip2, gzip }:
 
 stdenv.mkDerivation rec {
   pname = "automysqlbackup";
-  version = "3.0_rc6";
+  version = "3.0.6";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v${version}.tar.gz";
-    sha256 = "1h1wq86q6my1a682nr8pjagjhai4lxz967m17lhpw1vb116hd7l8";
+  src = fetchFromGitHub {
+    owner = "sixhop";
+    repo = pname;
+    rev = version;
+    sha256 = "0lki2049npc38r8m08garymywp1rzgflm0mxsfdznn9jfp4pk2lp";
   };
 
-  sourceRoot = ".";
-
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A script to run daily, weekly and monthly backups for your MySQL database";
-    homepage = "https://sourceforge.net/projects/automysqlbackup/";
+    homepage = "https://github.com/sixhop/AutoMySQLBackup";
     platforms = platforms.linux;
     maintainers = [ maintainers.aanderse ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index cc021a1ef051e..8304c34af8971 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -8,10 +8,11 @@
 # files.
 
 stdenv.mkDerivation rec {
-  name = "xz-5.2.5";
+  pname = "xz";
+  version = "5.2.5";
 
   src = fetchurl {
-    url = "https://tukaani.org/xz/${name}.tar.bz2";
+    url = "https://tukaani.org/xz/xz-${version}.tar.bz2";
     sha256 = "1ps2i8i212n0f4xpq6clp7h13q7m1y8slqvxha9i8d0bj0qgj5si";
   };
 
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index f87a144f7cc9d..1f9b4a505ac49 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, bash, gnugrep
 , fixDarwinDylibNames
 , file
+, fetchpatch
 , legacySupport ? false
 , static ? stdenv.hostPlatform.isStatic
 # these need to be ran on the host, thus disable when cross-compiling
@@ -27,6 +28,12 @@ stdenv.mkDerivation rec {
     # This patches makes sure we do not attempt to use the MD5 implementation
     # of the host platform when running the tests
     ./playtests-darwin.patch
+
+    # Fixes linking for static builds
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
+      sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
+    })
   ];
 
   postPatch = lib.optionalString (!static) ''
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 158c7d5939922..c17b684604bf7 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.13";
+  version = "5.13.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-Tikh0iA9Jl4qlBu9brB37dXjmBHi1p6MEbLwPc9eWEM=";
+    sha256 = "sha256-PX5aAeaPuvSFxfHaFca4p9FFX7V7bnWnBvjiuzf085k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/moosefs/default.nix b/pkgs/tools/filesystems/moosefs/default.nix
index dc1d77bfa7ed4..898ba9ed3c15e 100644
--- a/pkgs/tools/filesystems/moosefs/default.nix
+++ b/pkgs/tools/filesystems/moosefs/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.115";
+  version = "3.0.116";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dap9dqwwx8adma6arxg015riqc86cmjv2m44hk0kz7s24h79ipq";
+    sha256 = "sha256-/+l4BURvL1R6te6tlXRJx7YBDyYuMrGnzzhMc9XeXKc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/apparix/default.nix b/pkgs/tools/misc/apparix/default.nix
index 8e682aefcc39d..1c78a78542564 100644
--- a/pkgs/tools/misc/apparix/default.nix
+++ b/pkgs/tools/misc/apparix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "apparix-11-062";
+  pname = "apparix";
+  version = "11-062";
 
   src = fetchurl {
-    url = "https://micans.org/apparix/src/${name}.tar.gz";
+    url = "https://micans.org/apparix/src/apparix-${version}.tar.gz";
     sha256 = "211bb5f67b32ba7c3e044a13e4e79eb998ca017538e9f4b06bc92d5953615235";
   };
 
diff --git a/pkgs/tools/misc/aws-mturk-clt/default.nix b/pkgs/tools/misc/aws-mturk-clt/default.nix
index 7e60d49884247..9b03e2dd1bdbd 100644
--- a/pkgs/tools/misc/aws-mturk-clt/default.nix
+++ b/pkgs/tools/misc/aws-mturk-clt/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
-  name = "aws-mturk-clt-1.3.0";
+  pname = "aws-mturk-clt";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "https://mturk.s3.amazonaws.com/CLTSource/${name}.tar.gz";
+    url = "https://mturk.s3.amazonaws.com/CLTSource/aws-mturk-clt-${version}.tar.gz";
     sha256 = "00yyc7k3iygg83cknv9i2dsaxwpwzdkc8a2l9j56lg999hw3mqm3";
   };
 
diff --git a/pkgs/tools/misc/bfr/default.nix b/pkgs/tools/misc/bfr/default.nix
index 80ec398ef8c7a..7bda1d92afbec 100644
--- a/pkgs/tools/misc/bfr/default.nix
+++ b/pkgs/tools/misc/bfr/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bfr-1.6";
+  pname = "bfr";
   version = "1.6";
 
   src = fetchurl {
diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix
index 30a17bf188a69..0446a58efbc45 100644
--- a/pkgs/tools/misc/bogofilter/default.nix
+++ b/pkgs/tools/misc/bogofilter/default.nix
@@ -1,9 +1,11 @@
 {fetchurl, lib, stdenv, flex, db}:
 
 stdenv.mkDerivation rec {
-  name = "bogofilter-1.2.4";
+  pname = "bogofilter";
+  version = "1.2.4";
+
   src = fetchurl {
-    url = "mirror://sourceforge/bogofilter/${name}.tar.bz2";
+    url = "mirror://sourceforge/bogofilter/bogofilter-${version}.tar.bz2";
     sha256 = "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1";
   };
 
diff --git a/pkgs/tools/misc/ccze/default.nix b/pkgs/tools/misc/ccze/default.nix
index af37d7a33c1a0..348cbb1f529c8 100644
--- a/pkgs/tools/misc/ccze/default.nix
+++ b/pkgs/tools/misc/ccze/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, autoconf, ncurses, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "ccze-0.2.1-2";
+  pname = "ccze";
+  version = "0.2.1-2";
 
   src = fetchurl {
-    url = "https://github.com/madhouse/ccze/archive/${name}.tar.gz";
+    url = "https://github.com/madhouse/ccze/archive/ccze-${version}.tar.gz";
     sha256 = "1amavfvyls4v0gnikk43n2rpciaspxifgrmvi99qj6imv3mfg66n";
   };
 
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index b9b775a1bff9c..6ed8c78361ec9 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "convmv-2.05";
+  pname = "convmv";
+  version = "2.05";
 
   src = fetchurl {
-    url = "https://www.j3e.de/linux/convmv/${name}.tar.gz";
+    url = "https://www.j3e.de/linux/convmv/convmv-${version}.tar.gz";
     sha256 = "19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk";
   };
 
diff --git a/pkgs/tools/misc/dbacl/default.nix b/pkgs/tools/misc/dbacl/default.nix
index d8510975915b7..eb2b445d069d1 100644
--- a/pkgs/tools/misc/dbacl/default.nix
+++ b/pkgs/tools/misc/dbacl/default.nix
@@ -1,9 +1,11 @@
 {fetchurl, lib, stdenv}:
 
 stdenv.mkDerivation rec {
-  name = "dbacl-1.14";
+  pname = "dbacl";
+  version = "1.14";
+
   src = fetchurl {
-    url = "https://www.lbreyer.com/gpl/${name}.tar.gz";
+    url = "https://www.lbreyer.com/gpl/dbacl-${version}.tar.gz";
     sha256 = "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7";
   };
 
diff --git a/pkgs/tools/misc/detox/default.nix b/pkgs/tools/misc/detox/default.nix
index 6aa66b349dc7c..774ba885b4b1a 100644
--- a/pkgs/tools/misc/detox/default.nix
+++ b/pkgs/tools/misc/detox/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, flex}:
 
-stdenv.mkDerivation {
-  name = "detox-1.2.0";
+stdenv.mkDerivation rec {
+  pname = "detox";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/detox/1.2.0/detox-1.2.0.tar.gz";
+    url = "mirror://sourceforge/detox/${version}/detox-${version}.tar.gz";
     sha256 = "02cfkf3yhw64xg8mksln8w24gdwgm2x9g3vps7gn6jbjbfd8mh45";
   };
 
diff --git a/pkgs/tools/misc/dmg2img/default.nix b/pkgs/tools/misc/dmg2img/default.nix
index a3f023e2ad5c0..7f9c41cda32c0 100644
--- a/pkgs/tools/misc/dmg2img/default.nix
+++ b/pkgs/tools/misc/dmg2img/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, bzip2, openssl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "dmg2img-1.6.7";
+  pname = "dmg2img";
+  version = "1.6.7";
 
   src = fetchurl {
-    url = "http://vu1tur.eu.org/tools/${name}.tar.gz";
+    url = "http://vu1tur.eu.org/tools/dmg2img-${version}.tar.gz";
     sha256 = "066hqhg7k90xcw5aq86pgr4l7apzvnb4559vj5s010avbk8adbh2";
   };
 
diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix
index 695187b3e840e..ea5a051c62b12 100644
--- a/pkgs/tools/misc/dvtm/default.nix
+++ b/pkgs/tools/misc/dvtm/default.nix
@@ -1,9 +1,10 @@
 {callPackage, fetchurl}:
 callPackage ./dvtm.nix rec {
-  name = "dvtm-0.15";
+  pname = "dvtm";
+  version = "0.15";
 
   src = fetchurl {
-    url = "http://www.brain-dump.org/projects/dvtm/${name}.tar.gz";
+    url = "https://www.brain-dump.org/projects/dvtm/dvtm-${version}.tar.gz";
     sha256 = "0475w514b7i3gxk6khy8pfj2gx9l7lv2pwacmq92zn1abv01a84g";
   };
 
diff --git a/pkgs/tools/misc/dvtm/dvtm.nix b/pkgs/tools/misc/dvtm/dvtm.nix
index 9a42655b7378d..feb9c7a92f824 100644
--- a/pkgs/tools/misc/dvtm/dvtm.nix
+++ b/pkgs/tools/misc/dvtm/dvtm.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv, ncurses, customConfig ? null, name, src, patches ? [] }:
+{ lib, stdenv, ncurses, customConfig ? null, pname, version, src, patches ? [] }:
 stdenv.mkDerivation {
 
-  inherit name src patches;
+  inherit pname version src patches;
 
   CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
 
diff --git a/pkgs/tools/misc/dvtm/unstable.nix b/pkgs/tools/misc/dvtm/unstable.nix
index 6ee2a465c69aa..65e62be074972 100644
--- a/pkgs/tools/misc/dvtm/unstable.nix
+++ b/pkgs/tools/misc/dvtm/unstable.nix
@@ -1,6 +1,7 @@
 {callPackage, fetchFromGitHub, fetchpatch}:
 callPackage ./dvtm.nix {
-  name = "dvtm-unstable-2018-03-31";
+  pname = "dvtm-unstable";
+  version = "2018-03-31";
 
   src = fetchFromGitHub {
     owner = "martanne";
diff --git a/pkgs/tools/misc/ent/default.nix b/pkgs/tools/misc/ent/default.nix
index b0dc4f1e3df95..de2f2cc8a8652 100644
--- a/pkgs/tools/misc/ent/default.nix
+++ b/pkgs/tools/misc/ent/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "ent-1.1";
+  pname = "ent";
+  version = "1.1";
 
   src = fetchurl {
     url = "https://www.fourmilab.ch/random/random.zip";
diff --git a/pkgs/tools/misc/fasd/default.nix b/pkgs/tools/misc/fasd/default.nix
index a3cdc388cdf73..7e50c3e75513b 100644
--- a/pkgs/tools/misc/fasd/default.nix
+++ b/pkgs/tools/misc/fasd/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "fasd";
-  name = "${pname}-unstable-2016-08-11";
+  version = "unstable-2016-08-11";
 
   src = fetchFromGitHub {
     owner = "clvv";
diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix
index 01ff40b2b743c..b16b6821e3181 100644
--- a/pkgs/tools/misc/figlet/default.nix
+++ b/pkgs/tools/misc/figlet/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "figlet-2.2.5";
+stdenv.mkDerivation rec {
+  pname = "figlet";
+  version = "2.2.5";
 
   # some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
   src = fetchurl {
-    url = "ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-2.2.5.tar.gz";
+    url = "ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-${version}.tar.gz";
     sha256 = "0za1ax15x7myjl8jz271ybly8ln9kb9zhm1gf6rdlxzhs07w925z";
   };
 
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 108cc5b82fd64..2c1e634023b67 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, file, zlib, libgnurx }:
+{ lib, stdenv, fetchurl, file, zlib, libgnurx, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "file";
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib ]
     ++ lib.optional stdenv.hostPlatform.isWindows libgnurx;
 
+  patches = [
+    # Fix the mime type detection of xz file. Is merged in master.
+    (fetchpatch {
+      url = "https://github.com/file/file/commit/9b0459afab309a82aa4e46f73a4e50dd641f3d39.patch";
+      sha256 = "sha256-6vjyIn5gVbgmhUlfXJKFRVltm8YKATKmh0/X6+2lLnM=";
+    })
+  ];
+
   doCheck = true;
 
   makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file";
diff --git a/pkgs/tools/misc/fileschanged/default.nix b/pkgs/tools/misc/fileschanged/default.nix
index 2c64c4c1edca9..f44011a98a71a 100644
--- a/pkgs/tools/misc/fileschanged/default.nix
+++ b/pkgs/tools/misc/fileschanged/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, gamin }:
 
 stdenv.mkDerivation rec {
-  name = "fileschanged-0.6.9";
+  pname = "fileschanged";
+  version = "0.6.9";
 
   src = fetchurl {
-    url = "mirror://savannah/fileschanged/${name}.tar.gz";
+    url = "mirror://savannah/fileschanged/fileschanged-${version}.tar.gz";
     sha256 = "0ajc9h023vzpnlqqjli4wbvs0q36nr5p9msc3wzbic8rk687qcxc";
   };
 
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 0f66fa55acad9..6bb728af99cac 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
       url = "https://salsa.debian.org/fonts-team/fontforge/raw/76bffe6ccf8ab20a0c81476a80a87ad245e2fd1c/debian/patches/0001-add-extra-cmake-install-rules.patch";
       sha256 = "u3D9od2xLECNEHhZ+8dkuv9818tPkdP6y/Tvd9CADJg=";
     })
+    # Fix segmentation fault with some fonts.
+    # This is merged and should be present in the next release.
+    (fetchpatch {
+      url = "https://github.com/fontforge/fontforge/commit/69e263b2aff29ad22f97f13935cfa97a1eabf207.patch";
+      sha256 = "06yyf90605aq6ppfiz83mqkdmnaq5418axp9jgsjyjq78b00xb29";
+    })
   ];
 
   # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps
diff --git a/pkgs/tools/misc/git-fire/default.nix b/pkgs/tools/misc/git-fire/default.nix
index 15dc34cd5267f..32d7a169d72e5 100644
--- a/pkgs/tools/misc/git-fire/default.nix
+++ b/pkgs/tools/misc/git-fire/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "git-fire-unstable-2017-08-27";
+  pname = "git-fire";
+  version = "unstable-2017-08-27";
 
   src = fetchFromGitHub {
     owner = "qw3rtman";
diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix
index 2371bdb0e0556..bf66a467620de 100644
--- a/pkgs/tools/misc/grub/default.nix
+++ b/pkgs/tools/misc/grub/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, autoreconfHook, texinfo, buggyBiosCDSupport ? true }:
 
-stdenv.mkDerivation {
-  name = "grub-0.97-73";
+stdenv.mkDerivation rec {
+  pname = "grub";
+  version = "0.97-73";
 
   src = fetchurl {
-    url = "https://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz";
+    url = "https://alpha.gnu.org/gnu/grub/grub-${lib.versions.majorMinor version}.tar.gz";
     sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af";
   };
 
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index abd8398601cd3..22b16c7f9b349 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -10,11 +10,12 @@ let
     type = "Application";
   };
 in
-stdenv.mkDerivation {
-  name = "jdiskreport-1.4.1";
+stdenv.mkDerivation rec {
+  pname = "jdiskreport";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_1.zip";
+    url = "https://www.jgoodies.com/download/jdiskreport/jdiskreport-${lib.replaceStrings ["."] ["_"] version}.zip";
     sha256 = "0d5mzkwsbh9s9b1vyvpaawqc09b0q41l2a7pmwf7386b1fsx6d58";
   };
 
diff --git a/pkgs/tools/misc/kermit/default.nix b/pkgs/tools/misc/kermit/default.nix
index 8af0674f54bf7..33644e911c635 100644
--- a/pkgs/tools/misc/kermit/default.nix
+++ b/pkgs/tools/misc/kermit/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, ncurses, glibc }:
 
 stdenv.mkDerivation {
-  name = "kermit-9.0.302";
+  pname = "kermit";
+  version = "9.0.302";
 
   src = fetchurl {
     url = "ftp://ftp.kermitproject.org/kermit/archives/cku302.tar.gz";
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 73d86e7dfc652..31bc0b2b6a12d 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -17,11 +17,12 @@ let
 
 in
 
-stdenv.mkDerivation {
-  name = "kisslicer-1.6.3";
+stdenv.mkDerivation rec {
+  pname = "kisslicer";
+  version = "1.6.3";
 
   src = fetchzip {
-    url = "http://www.kisslicer.com/uploads/1/5/3/8/15381852/kisslicer_linux64_1.6.3_release.zip";
+    url = "https://www.kisslicer.com/uploads/1/5/3/8/15381852/kisslicer_linux64_${version}_release.zip";
     sha256 = "1xmywj5jrcsqv1d5x3mphhvafs4mfm9l12npkhk7l03qxbwg9j82";
     stripRoot = false;
   };
diff --git a/pkgs/tools/misc/logtop/default.nix b/pkgs/tools/misc/logtop/default.nix
index 2113da9976fba..0aa99fd18aa75 100644
--- a/pkgs/tools/misc/logtop/default.nix
+++ b/pkgs/tools/misc/logtop/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchFromGitHub, ncurses, uthash, pkg-config }:
 
-stdenv.mkDerivation {
-  name = "logtop-0.7";
+stdenv.mkDerivation rec {
+  pname = "logtop";
+  version = "0.7";
 
   src = fetchFromGitHub {
-    rev = "a0935ab2e7056feb3e8a90f5129990c9b335a587";
+    rev = "logtop-${version}";
     owner = "JulienPalard";
     repo  ="logtop";
     sha256 = "1f8vk9gybldxvc0kwz38jxmwvzwangsvlfslpsx8zf04nvbkqi12";
diff --git a/pkgs/tools/misc/lrzsz/default.nix b/pkgs/tools/misc/lrzsz/default.nix
index 09e90ca07940d..e4b5e71a25601 100644
--- a/pkgs/tools/misc/lrzsz/default.nix
+++ b/pkgs/tools/misc/lrzsz/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, gettext, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "lrzsz-0.12.20";
+  pname = "lrzsz";
+  version = "0.12.20";
 
   src = fetchurl {
-    url = "https://ohse.de/uwe/releases/${name}.tar.gz";
+    url = "https://ohse.de/uwe/releases/lrzsz-${version}.tar.gz";
     sha256 = "1wcgfa9fsigf1gri74gq0pa7pyajk12m4z69x7ci9c6x9fqkd2y2";
   };
 
diff --git a/pkgs/tools/misc/makebootfat/default.nix b/pkgs/tools/misc/makebootfat/default.nix
index 1f512d04a2254..d55b5727d00cb 100644
--- a/pkgs/tools/misc/makebootfat/default.nix
+++ b/pkgs/tools/misc/makebootfat/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "makebootfat-1.4";
+  pname = "makebootfat";
+  version = "1.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/advancemame/${name}.tar.gz";
+    url = "mirror://sourceforge/advancemame/makebootfat-${version}.tar.gz";
     sha256 = "0v0g1xax0y6hmw2x10nfhchp9n7vqyvgc33gcxqax8jdq2pxm1q2";
   };
 
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 9c8adc1d8d416..f1739cbd50dd2 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libpipeline, db, groff, libiconv, makeWrapper, buildPackages }:
 
 stdenv.mkDerivation rec {
-  name = "man-db-2.9.4";
+  pname = "man-db";
+  version = "2.9.4";
 
   src = fetchurl {
-    url = "mirror://savannah/man-db/${name}.tar.xz";
+    url = "mirror://savannah/man-db/man-db-${version}.tar.xz";
     sha256 = "sha256-tmyZ7frRatkoyIn4fPdjgCY8FgkyPCgLOp5pY/2xZ1Y=";
   };
 
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index f0556b69f23ee..680e373876838 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, perl }:
 
 # The homepage says this script is mature..
-stdenv.mkDerivation {
-  name = "mysql2pgsql-0.0.1a";
+stdenv.mkDerivation rec {
+  pname = "mysql2pgsql";
+  version = "0.0.1a";
 
   src = fetchurl {
-    url = "http://ftp.plusline.de/ftp.postgresql.org/projects/gborg/mysql2psql/devel/mysql2psql-0.0.1a.tgz";
+    url = "http://ftp.plusline.de/ftp.postgresql.org/projects/gborg/mysql2psql/devel/mysql2psql-${version}.tgz";
     sha256 = "0dpbxf3kdvpihz9cisx6wi3zzd0cnifaqvjxavrbwm4k4sz1qamp";
   };
 
diff --git a/pkgs/tools/misc/odroid-xu3-bootloader/default.nix b/pkgs/tools/misc/odroid-xu3-bootloader/default.nix
index 052c46cef8cb6..2dbffe3384cec 100644
--- a/pkgs/tools/misc/odroid-xu3-bootloader/default.nix
+++ b/pkgs/tools/misc/odroid-xu3-bootloader/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, fetchFromGitHub, coreutils, ubootOdroidXU3, runtimeShell }:
 
 stdenv.mkDerivation {
-  name = "odroid-xu3-bootloader-2015-12-04";
+  pname = "odroid-xu3-bootloader";
+  version = "unstable-2015-12-04";
 
   src = fetchFromGitHub {
     owner = "hardkernel";
diff --git a/pkgs/tools/misc/pal/default.nix b/pkgs/tools/misc/pal/default.nix
index 635c6e0b52458..c37325170aceb 100644
--- a/pkgs/tools/misc/pal/default.nix
+++ b/pkgs/tools/misc/pal/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, glib, gettext, readline, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "pal-0.4.3";
+  pname = "pal";
+  version = "0.4.3";
   src = fetchurl {
-    url = "mirror://sourceforge/palcal/${name}.tgz";
+    url = "mirror://sourceforge/palcal/pal-${version}.tgz";
     sha256 = "072mahxvd7lcvrayl32y589w4v3vh7bmlcnhiksjylknpsvhqiyf";
   };
 
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index e954bfbe5e4db..e4ac6b624ce4e 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -15,10 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.4";
+  pname = "parted";
+  version = "3.4";
 
   src = fetchurl {
-    url = "mirror://gnu/parted/${name}.tar.xz";
+    url = "mirror://gnu/parted/parted-${version}.tar.xz";
     sha256 = "sha256-4SmAIkctpVibfyvh1e48G2bsPZbfutA9xkKv0AnaU0I=";
   };
 
diff --git a/pkgs/tools/misc/pg_top/default.nix b/pkgs/tools/misc/pg_top/default.nix
index f5d42431e4f23..9521136977f31 100644
--- a/pkgs/tools/misc/pg_top/default.nix
+++ b/pkgs/tools/misc/pg_top/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses, postgresql }:
 
 stdenv.mkDerivation rec {
-  name = "pg_top-3.7.0";
+  pname = "pg_top";
+  version = "3.7.0";
 
   src = fetchurl {
-    url = "http://pgfoundry.org/frs/download.php/1781/${name}.tar.gz";
+    url = "https://pgfoundry.org/frs/download.php/1781/pg_top-${version}.tar.gz";
     sha256 = "17xrv0l58rv3an06gkajzw0gg6v810xx6vl137an1iykmhvfh7h2";
   };
 
diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix
index 009d841bf5579..b6678f52d7482 100644
--- a/pkgs/tools/misc/pk2cmd/default.nix
+++ b/pkgs/tools/misc/pk2cmd/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, libusb-compat-0_1, makeWrapper}:
 
-stdenv.mkDerivation {
-  name = "pk2cmd-1.20";
+stdenv.mkDerivation rec {
+  pname = "pk2cmd";
+  version = "1.20";
   src = fetchurl {
-    url = "https://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz";
+    url = "https://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv${version}LinuxMacSource.tar.gz";
     sha256 = "1yjpi2qshnqfpan4w3ggakkr3znfrx5cxkny92ka7v9na3g2fc4h";
   };
 
diff --git a/pkgs/tools/misc/proxytunnel/default.nix b/pkgs/tools/misc/proxytunnel/default.nix
index 7743793143a25..1319a6bfabe91 100644
--- a/pkgs/tools/misc/proxytunnel/default.nix
+++ b/pkgs/tools/misc/proxytunnel/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, openssl }:
 
-stdenv.mkDerivation {
-  name = "proxytunnel-1.9.0";
+stdenv.mkDerivation rec {
+  pname = "proxytunnel";
+  version = "1.9.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/proxytunnel/proxytunnel-1.9.0.tgz";
+    url = "mirror://sourceforge/proxytunnel/proxytunnel-${version}.tgz";
     sha256 = "1fd644kldsg14czkqjybqh3wrzwsp3dcargqf4fjkpqxv3wbpx9f";
   };
 
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index 013ddb8e3dabd..237f18de97b4e 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.6.6";
+  pname = "pv";
+  version = "1.6.6";
 
   src = fetchurl {
-    url = "https://www.ivarch.com/programs/sources/${name}.tar.bz2";
+    url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.bz2";
     sha256 = "1wbk14xh9rfypiwyy68ssl8dliyji30ly70qki1y2xx3ywszk3k0";
   };
 
diff --git a/pkgs/tools/misc/qjoypad/default.nix b/pkgs/tools/misc/qjoypad/default.nix
index 7fc578ec85791..0c3b4a9ed2f83 100644
--- a/pkgs/tools/misc/qjoypad/default.nix
+++ b/pkgs/tools/misc/qjoypad/default.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, fetchurl, pkg-config, libX11, libXtst, qt4 }:
 stdenv.mkDerivation rec {
-  name = "qjoypad-4.1.0";
+  pname = "qjoypad";
+  version = "4.1.0";
   src = fetchurl {
-    url = "mirror://sourceforge/qjoypad/${name}.tar.gz";
+    url = "mirror://sourceforge/qjoypad/qjoypad-${version}.tar.gz";
     sha256 = "1jlm7i26nfp185xrl41kz5z6fgvyj51bjpz48cg27xx64y40iamm";
   };
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/misc/renameutils/default.nix b/pkgs/tools/misc/renameutils/default.nix
index e730b583d7c80..2dff399cc9a47 100644
--- a/pkgs/tools/misc/renameutils/default.nix
+++ b/pkgs/tools/misc/renameutils/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, readline}:
 
-stdenv.mkDerivation {
-  name = "renameutils-0.12.0";
+stdenv.mkDerivation rec {
+  pname = "renameutils";
+  version = "0.12.0";
 
   src = fetchurl {
-    url = "mirror://savannah/renameutils/renameutils-0.12.0.tar.gz";
+    url = "mirror://savannah/renameutils/renameutils-${version}.tar.gz";
     sha256 = "18xlkr56jdyajjihcmfqlyyanzyiqqlzbhrm6695mkvw081g1lnb";
   };
 
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index c60dd9f7c7a00..bce293d7cf8d6 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file , protobufc }:
 
 stdenv.mkDerivation rec {
-  name = "riemann-c-client-1.10.4";
+  pname = "riemann-c-client";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "algernon";
     repo = "riemann-c-client";
-    rev = name;
+    rev = "riemann-c-client-${version}";
     sha256 = "01gzqxqm1xvki2vd78c7my2kgp4fyhkcf5j5fmy8z0l93lgj82rr";
   };
 
diff --git a/pkgs/tools/misc/rkflashtool/default.nix b/pkgs/tools/misc/rkflashtool/default.nix
index b96d9be8a4ddc..fa37c98966eb9 100644
--- a/pkgs/tools/misc/rkflashtool/default.nix
+++ b/pkgs/tools/misc/rkflashtool/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libusb1 }:
 
 stdenv.mkDerivation rec {
-  name = "rkflashtool-5.1";
+  pname = "rkflashtool";
+  version = "5.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/rkflashtool/${name}-src.tar.bz2";
+    url = "mirror://sourceforge/rkflashtool/rkflashtool-${version}-src.tar.bz2";
     sha256 = "0dbp1crw7pjav9gffrnskhkf0gxlj4xgp65clqhvfmv32460xb9c";
   };
 
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index 2f8b9092eeaa4..b03cd4a9a7e67 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -2,10 +2,11 @@
 , tcl-8_5, darwin }:
 
 perl.pkgs.toPerlModule (stdenv.mkDerivation rec {
-  name = "rrdtool-1.7.2";
+  pname = "rrdtool";
+  version = "1.7.2";
 
   src = fetchurl {
-    url = "https://oss.oetiker.ch/rrdtool/pub/${name}.tar.gz";
+    url = "https://oss.oetiker.ch/rrdtool/pub/rrdtool-${version}.tar.gz";
     sha256 = "1nsqra0g2nja19akmf9x5y9hhgc35ml3w9dcdz2ayz7zgvmzm6d1";
   };
 
diff --git a/pkgs/tools/misc/scfbuild/default.nix b/pkgs/tools/misc/scfbuild/default.nix
index d604f1a68fe26..78434414b1a4d 100644
--- a/pkgs/tools/misc/scfbuild/default.nix
+++ b/pkgs/tools/misc/scfbuild/default.nix
@@ -2,23 +2,17 @@
 
 buildPythonApplication {
   pname = "scfbuild";
-  version = "1.0.3";
+  version = "2.0.0";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "13rac1";
     repo = "scfbuild";
-    rev = "9acc7fc5fedbf48683d8932dd5bd7583bf922bae";
-    sha256 = "1zlqsxkpg7zvmhdjgbqwwc9qgac2b8amzq8c5kwyh5cv95zcp6qn";
+    rev = "6d84339512a892972185d894704efa67dd82e87a";
+    sha256 = "0wkyzkhshlax9rvdmn441gv87n9abfr0qqmgs8bkg9kbcjb4bhad";
   };
 
-  patches = [
-    # Convert to Python 3
-    # https://github.com/13rac1/scfbuild/pull/19
-    ./python-3.patch
-  ];
-
   propagatedBuildInputs = [ pyyaml fonttools fontforge ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/scfbuild/python-3.patch b/pkgs/tools/misc/scfbuild/python-3.patch
deleted file mode 100644
index 5a0178ad8c8ea..0000000000000
--- a/pkgs/tools/misc/scfbuild/python-3.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/bin/scfbuild
-+++ b/bin/scfbuild
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- 
- from __future__ import (absolute_import, division, print_function,
---- a/scfbuild/builder.py
-+++ b/scfbuild/builder.py
-@@ -287,8 +287,8 @@ def _add_name_record(self, text, name_id, platform_id, plat_enc_id, lang_id):
-         # TODO: The installed version of fontTools doesn't have
-         # table__n_a_m_e.setName().
-         record = NameRecord()
--        # PyYAML creates strings, force to Unicode
--        record.string = unicode(text)
-+        # PyYAML creates strings, which are unicode as of Python3
-+        record.string = text
-         record.nameID = name_id
-         record.platformID = platform_id
-         record.platEncID = plat_enc_id
---- a/scfbuild/fforge.py
-+++ b/scfbuild/fforge.py
-@@ -84,7 +84,7 @@ def add_glyphs(font, svg_filepaths, conf):
-             u_ids = [int(u_id, 16) for u_id in filename.split("-")]
-             # Example: (0x1f441, 0x1f5e8)
- 
--            u_str = ''.join(map(unichr, u_ids))
-+            u_str = ''.join(map(chr, u_ids))
-             # Example: "U\0001f441U\0001f5e8"
- 
-             # Replace sequences with correct ZWJ/VS16 versions as needed
---- a/scfbuild/main.py
-+++ b/scfbuild/main.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- 
- # SCFBuild is released under the GNU General Public License v3.
-index 0000000..99418b5
---- /dev/null
-+++ b/scfbuild/requirements.txt
-@@ -0,0 +1,2 @@
-+fonttools>=3.41.2
-+PyYAML>=5.1
diff --git a/pkgs/tools/misc/sixpair/default.nix b/pkgs/tools/misc/sixpair/default.nix
index 52c61d917b124..71a0af158246d 100644
--- a/pkgs/tools/misc/sixpair/default.nix
+++ b/pkgs/tools/misc/sixpair/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, libusb-compat-0_1 }:
 stdenv.mkDerivation {
-  name = "sixpair-2007-04-18";
+  pname = "sixpair";
+  version = "unstable-2007-04-18";
 
   src = fetchurl {
     url = "http://www.pabr.org/sixlinux/sixpair.c";
diff --git a/pkgs/tools/misc/slsnif/default.nix b/pkgs/tools/misc/slsnif/default.nix
index 7f6f9fa40c2bf..fd2b4c53d60a8 100644
--- a/pkgs/tools/misc/slsnif/default.nix
+++ b/pkgs/tools/misc/slsnif/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "slsnif-0.4.4";
+stdenv.mkDerivation rec {
+  pname = "slsnif";
+  version = "0.4.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/slsnif/slsnif-0.4.4.tar.gz";
+    url = "mirror://sourceforge/slsnif/slsnif-${version}.tar.gz";
     sha256 = "0gn8c5hj8m3sywpwdgn6w5xl4rzsvg0z7d2w8dxi6p152j5b0pii";
   };
 
diff --git a/pkgs/tools/misc/smc/default.nix b/pkgs/tools/misc/smc/default.nix
index 5b0342621e803..4c1156a83663d 100644
--- a/pkgs/tools/misc/smc/default.nix
+++ b/pkgs/tools/misc/smc/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, jre, runtimeShell }:
 
-stdenv.mkDerivation {
-  name = "smc-6.6.3";
+stdenv.mkDerivation rec {
+  pname = "smc";
+  version = "6.6.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/smc/smc/6_6_3/smc_6_6_3.tgz";
+    url = "mirror://sourceforge/project/smc/smc/${lib.replaceStrings ["."] ["_"] version}/smc_${lib.replaceStrings ["."] ["_"] version}.tgz";
     sha256 = "1gv0hrgdl4wp562virpf9sib6pdhapwv4zvwbl0d5f5xyx04il11";
   };
 
diff --git a/pkgs/tools/misc/t1utils/default.nix b/pkgs/tools/misc/t1utils/default.nix
index d581b71d16e2e..8e91013521fb3 100644
--- a/pkgs/tools/misc/t1utils/default.nix
+++ b/pkgs/tools/misc/t1utils/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.lcdf.org/type/t1utils-${version}.tar.gz";
-    sha256 = "sha256-YYd5NbGYcETd/0u5CgUgDKcWRnijVeFwv18aVVbMnyk=";
+    sha256 = "YYd5NbGYcETd/0u5CgUgDKcWRnijVeFwv18aVVbMnyk=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 760284140b11c..368efcf9de30e 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, alsa-lib, libjack2, ncurses, pkg-config }:
 
-stdenv.mkDerivation {
-  name = "timidity-2.15.0";
+stdenv.mkDerivation rec {
+  pname = "timidity";
+  version = "2.15.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/timidity/TiMidity++-2.15.0.tar.bz2";
+    url = "mirror://sourceforge/timidity/TiMidity++-${version}.tar.bz2";
     sha256 = "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn";
   };
 
diff --git a/pkgs/tools/misc/tmpwatch/default.nix b/pkgs/tools/misc/tmpwatch/default.nix
index 1ef486fa8556f..7389e0c4c5935 100644
--- a/pkgs/tools/misc/tmpwatch/default.nix
+++ b/pkgs/tools/misc/tmpwatch/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, psmisc }:
 
-stdenv.mkDerivation {
-  name = "tmpwatch-2.11";
+stdenv.mkDerivation rec {
+  pname = "tmpwatch";
+  version = "2.11";
 
   src = fetchurl {
-    url = "https://fedorahosted.org/releases/t/m/tmpwatch/tmpwatch-2.11.tar.bz2";
+    url = "https://fedorahosted.org/releases/t/m/tmpwatch/tmpwatch-${version}.tar.bz2";
     sha256 = "1m5859ngwx61l1i4s6fja2avf1hyv6w170by273w8nsin89825lk";
   };
 
diff --git a/pkgs/tools/misc/tmux-cssh/default.nix b/pkgs/tools/misc/tmux-cssh/default.nix
index 830c365fa4032..c69853635e909 100644
--- a/pkgs/tools/misc/tmux-cssh/default.nix
+++ b/pkgs/tools/misc/tmux-cssh/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, tmux }:
 
 stdenv.mkDerivation {
-  name = "tmux-cssh-20151015";
+  pname = "tmux-cssh";
+  version = "unstable-2015-10-15";
 
   src = fetchFromGitHub {
     owner = "dennishafemann";
diff --git a/pkgs/tools/misc/ttf2pt1/default.nix b/pkgs/tools/misc/ttf2pt1/default.nix
index fcab21eb92b3e..7e0c12535bb6c 100644
--- a/pkgs/tools/misc/ttf2pt1/default.nix
+++ b/pkgs/tools/misc/ttf2pt1/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, freetype }:
 
-stdenv.mkDerivation {
-  name = "ttf2pt1-3.4.4";
+stdenv.mkDerivation rec {
+  pname = "ttf2pt1";
+  version = "3.4.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ttf2pt1/ttf2pt1-3.4.4.tgz";
+    url = "mirror://sourceforge/ttf2pt1/ttf2pt1-${version}.tgz";
     sha256 = "1l718n4k4widx49xz7qrj4mybzb8q67kp2jw7f47604ips4654mf";
   };
 
diff --git a/pkgs/tools/misc/ttmkfdir/default.nix b/pkgs/tools/misc/ttmkfdir/default.nix
index bc1279a7dec74..77bc9f172c6f3 100644
--- a/pkgs/tools/misc/ttmkfdir/default.nix
+++ b/pkgs/tools/misc/ttmkfdir/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, freetype, fontconfig, libunwind, libtool, flex, bison }:
 
 stdenv.mkDerivation {
-  name = "ttf-mkfontdir-3.0.9-6";
+  pname = "ttf-mkfontdir";
+  version = "3.0.9-6";
 
   src = fetchurl {
     url = "http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9.orig.tar.gz";
diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix
index 66344c9fdeef7..74fc46563c7e6 100644
--- a/pkgs/tools/misc/unclutter/default.nix
+++ b/pkgs/tools/misc/unclutter/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, xlibsWrapper}:
 
-stdenv.mkDerivation {
-  name = "unclutter-8";
+stdenv.mkDerivation rec {
+  pname = "unclutter";
+  version = "8";
   src = fetchurl {
-    url = "https://www.ibiblio.org/pub/X11/contrib/utilities/unclutter-8.tar.gz";
+    url = "https://www.ibiblio.org/pub/X11/contrib/utilities/unclutter-${version}.tar.gz";
     sha256 = "33a78949a7dedf2e8669ae7b5b2c72067896497820292c96afaa60bb71d1f2a6";
   };
 
diff --git a/pkgs/tools/misc/uucp/default.nix b/pkgs/tools/misc/uucp/default.nix
index 42084fa6296e9..443c4b10457ee 100644
--- a/pkgs/tools/misc/uucp/default.nix
+++ b/pkgs/tools/misc/uucp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "uucp-1.07";
+  pname = "uucp";
+  version = "1.07";
 
   src = fetchurl {
-    url = "mirror://gnu/uucp/${name}.tar.gz";
+    url = "mirror://gnu/uucp/uucp-${version}.tar.gz";
     sha256 = "0b5nhl9vvif1w3wdipjsk8ckw49jj1w85xw1mmqi3zbcpazia306";
   };
 
diff --git a/pkgs/tools/misc/uudeview/default.nix b/pkgs/tools/misc/uudeview/default.nix
index 47bc916ceb50c..82edd2df4dd98 100644
--- a/pkgs/tools/misc/uudeview/default.nix
+++ b/pkgs/tools/misc/uudeview/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, tcl, tk }:
 
 stdenv.mkDerivation rec {
-  name = "uudeview-0.5.20";
+  pname = "uudeview";
+  version = "0.5.20";
   src = fetchurl {
-    url = "http://www.fpx.de/fp/Software/UUDeview/download/${name}.tar.gz";
+    url = "http://www.fpx.de/fp/Software/UUDeview/download/uudeview-${version}.tar.gz";
     sha256 = "0dg4v888fxhmf51vxq1z1gd57fslsidn15jf42pj4817vw6m36p4";
   };
 
diff --git a/pkgs/tools/misc/vorbisgain/default.nix b/pkgs/tools/misc/vorbisgain/default.nix
index 7aebfeab2ceeb..b0b4e5e34e12e 100644
--- a/pkgs/tools/misc/vorbisgain/default.nix
+++ b/pkgs/tools/misc/vorbisgain/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libogg, libvorbis }:
 
 stdenv.mkDerivation rec {
-  name = "vorbisgain-0.37";
+  pname = "vorbisgain";
+  version = "0.37";
 
   src = fetchurl {
-    url = "https://sjeng.org/ftp/vorbis/${name}.tar.gz";
+    url = "https://sjeng.org/ftp/vorbis/vorbisgain-${version}.tar.gz";
     sha256 = "1v1h6mhnckmvvn7345hzi9abn5z282g4lyyl4nnbqwnrr98v0vfx";
   };
 
diff --git a/pkgs/tools/misc/wv2/default.nix b/pkgs/tools/misc/wv2/default.nix
index c0f85b4b8de7e..105a1f734dc9c 100644
--- a/pkgs/tools/misc/wv2/default.nix
+++ b/pkgs/tools/misc/wv2/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, pkg-config, cmake, libgsf, glib, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "wv2-0.4.2";
+  pname = "wv2";
+  version = "0.4.2";
   src = fetchurl {
-    url = "mirror://sourceforge/wvware/${name}.tar.bz2";
+    url = "mirror://sourceforge/wvware/wv2-${version}.tar.bz2";
     sha256 = "1p1qxr8z5bsiq8pvlina3c8c1vjcb5d96bs3zz4jj3nb20wnsawz";
   };
 
diff --git a/pkgs/tools/misc/xdxf2slob/default.nix b/pkgs/tools/misc/xdxf2slob/default.nix
index 28c952400f17d..4a89db07c45c0 100644
--- a/pkgs/tools/misc/xdxf2slob/default.nix
+++ b/pkgs/tools/misc/xdxf2slob/default.nix
@@ -1,7 +1,8 @@
 { lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication {
-  name = "xdxf2slob-unstable-2015-06-30";
+  pname = "xdxf2slob";
+  version = "unstable-2015-06-30";
 
   src = fetchFromGitHub {
     owner = "itkach";
diff --git a/pkgs/tools/misc/xflux/default.nix b/pkgs/tools/misc/xflux/default.nix
index 92c00d7e44d11..54a339f1d7753 100644
--- a/pkgs/tools/misc/xflux/default.nix
+++ b/pkgs/tools/misc/xflux/default.nix
@@ -1,6 +1,7 @@
 {lib, stdenv, fetchurl, libXxf86vm, libXext, libX11, libXrandr, gcc}:
 stdenv.mkDerivation {
-  name = "xflux-2013-09-01";
+  pname = "xflux";
+  version = "unstable-2013-09-01";
   src = fetchurl {
     url = "https://justgetflux.com/linux/xflux64.tgz";
     sha256 = "cc50158fabaeee58c331f006cc1c08fd2940a126e99d37b76c8e878ef20c2021";
diff --git a/pkgs/tools/misc/xfstests/default.nix b/pkgs/tools/misc/xfstests/default.nix
index 769e23c389c74..a35b576261106 100644
--- a/pkgs/tools/misc/xfstests/default.nix
+++ b/pkgs/tools/misc/xfstests/default.nix
@@ -4,7 +4,8 @@
 , time, util-linux, which, writeScript, xfsprogs, runtimeShell }:
 
 stdenv.mkDerivation {
-  name = "xfstests-2019-09-08";
+  pname = "xfstests";
+  version = "unstable-2019-09-08";
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git";
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
index 5199977e587ff..2820958443ed7 100644
--- a/pkgs/tools/misc/xtitle/default.nix
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
 
-stdenv.mkDerivation {
-   name = "xtitle-0.4.4";
+stdenv.mkDerivation rec {
+   pname = "xtitle";
+   version = "0.4.4";
 
    src = fetchurl {
-     url = "https://github.com/baskerville/xtitle/archive/0.4.4.tar.gz";
+     url = "https://github.com/baskerville/xtitle/archive/${version}.tar.gz";
      sha256 = "0w490a6ki90si1ri48jzhma473a598l1b12j8dp4ckici41z9yy2";
    };
 
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index 827eaec048ff8..6d80cd2400d2c 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "yubico-piv-tool-2.0.0";
+  pname = "yubico-piv-tool";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "https://developers.yubico.com/yubico-piv-tool/Releases/${name}.tar.gz";
+    url = "https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-${version}.tar.gz";
     sha256 = "124lhlim05gw32ydjh1yawqbnx6wdllz1ir9j00j09wji3m11rfs";
   };
 
diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
index af6843e382026..7e311b6ea23f3 100644
--- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
@@ -2,10 +2,11 @@
 , libyubikey, yubikey-personalization }:
 
 mkDerivation rec {
-  name = "yubikey-personalization-gui-3.1.25";
+  pname = "yubikey-personalization-gui";
+  version = "3.1.25";
 
   src = fetchurl {
-    url = "https://developers.yubico.com/yubikey-personalization-gui/Releases/${name}.tar.gz";
+    url = "https://developers.yubico.com/yubikey-personalization-gui/Releases/yubikey-personalization-gui-${version}.tar.gz";
     sha256 = "1knyv5yss8lhzaff6jpfqv12fjf1b8b21mfxzx3qi0hw4nl8n2v8";
   };
 
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index 7a66c7f92c580..c2eba8c01b46f 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.7.3";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "sha256-vw/3pWqb1Qtat+17tzhBvpS+Z2DRe69HGmgzhMQPUw8=";
+    sha256 = "sha256-DcfWNp9fELRzLfNAU2qGXfLDkSbWGrsfW/Wy0t2ISXU=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-xybP9A2QfhuSSjsBVsJgSfDC/1/OahtF5xfsXAlmpjs=";
+  cargoSha256 = "sha256-O2IPmb9LH0ct0O2kR581Hfxl1sdb8himfq5U733JwGk=";
 
   postInstall = ''
     installManPage man/*
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 984a6ecaaef8b..b3572e01c96df 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -7,8 +7,9 @@
 , gnutlsSupport ? false, gnutls ? null
 , wolfsslSupport ? false, wolfssl ? null
 , scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
-, gssSupport ? with stdenv.hostPlatform; !(
+, gssSupport ? with stdenv.hostPlatform; (
     !isWindows &&
+    # disable gss becuase of: undefined reference to `k5_bcmp'
     # a very sad story re static: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039
     !isStatic &&
     # the "mig" tool does not configure its compiler correctly. This could be
@@ -63,6 +64,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  strictDeps = true;
+
   nativeBuildInputs = [ pkg-config perl ];
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
@@ -93,15 +96,15 @@ stdenv.mkDerivation rec {
       "--without-ca-bundle"
       "--without-ca-path"
       # The build fails when using wolfssl with --with-ca-fallback
-      ( if wolfsslSupport then "--without-ca-fallback" else "--with-ca-fallback")
+      (lib.withFeature (!wolfsslSupport) "ca-fallback")
       "--disable-manual"
-      ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
-      ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
-      ( if scpSupport then "--with-libssh2=${libssh2.dev}" else "--without-libssh2" )
-      ( if ldapSupport then "--enable-ldap" else "--disable-ldap" )
-      ( if ldapSupport then "--enable-ldaps" else "--disable-ldaps" )
-      ( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
-      ( if brotliSupport then "--with-brotli" else "--without-brotli" )
+      (lib.withFeatureAs sslSupport "ssl" openssl.dev)
+      (lib.withFeatureAs gnutlsSupport "gnutls" gnutls.dev)
+      (lib.withFeatureAs scpSupport "libssh2" libssh2.dev)
+      (lib.enableFeature ldapSupport "ldap")
+      (lib.enableFeature ldapSupport "ldaps")
+      (lib.withFeatureAs idnSupport "libidn" libidn.dev)
+      (lib.withFeature brotliSupport "brotli")
     ]
     ++ lib.optional wolfsslSupport "--with-wolfssl=${wolfssl.dev}"
     ++ lib.optional c-aresSupport "--enable-ares=${c-ares}"
@@ -142,5 +145,7 @@ stdenv.mkDerivation rec {
     license = licenses.curl;
     maintainers = with maintainers; [ lovek323 ];
     platforms = platforms.all;
+    # Fails to link against static brotli or gss
+    broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport);
   };
 }
diff --git a/pkgs/tools/networking/gobgp/default.nix b/pkgs/tools/networking/gobgp/default.nix
index 6ba0752222ac2..9ef6d1977f45b 100644
--- a/pkgs/tools/networking/gobgp/default.nix
+++ b/pkgs/tools/networking/gobgp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gobgp";
-  version = "2.29.0";
+  version = "2.30.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-DhSIf8fAG2Zf0mwJ/iMgQU5sugHK2jJ6WJPbFbA/mhM=";
+    sha256 = "sha256-YerInFAUHFGEU0XSYeqKly9EiCq/uSjtMLnzI/ekSJ4=";
   };
 
   vendorSha256 = "sha256-PWm7XnO6LPaU8g8ymmqRkQv2KSX9kLv9RVaa000mrTY=";
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index 9d8f13a407096..e352e67d3fe5d 100644
--- a/pkgs/tools/networking/modem-manager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "modem-manager";
-  version = "1.16.8";
+  pname = "modemmanager";
+  version = "1.16.10";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
-    sha256 = "sha256-If36+UFxJhrZ2ZdxiU9a3kvDnvPR/x1CEFTRRxPpeIA=";
+    sha256 = "sha256-LM8fcWwtEh6OZwm8+K8p7oaXGpCtrMoujWKIswJ4hi4=";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 63c52a337103f..8a1a6dd8fa1bc 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -54,11 +54,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.32.6";
+  version = "1.32.10";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "sha256-PSdGBR87MylArCk1TgFpEVnUZ4PXL9IyvTbpgijOWgk=";
+    sha256 = "sha256-PlzMZoBWWePxGnGOOlmflya3mgHW/xSBS+ati8Xai7g=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 249376abbb063..a24ac1f388880 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -26,11 +26,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchurl {
     url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
-    sha256 = "sha256-hQTZe4/FvYlzRcldEW4O4N34yP+ZWQqytL0TJ4yfULg=";
+    sha256 = "sha256-ChO1R/O5KgJrXr0EI/VMmR5XGAN/2fckRYF/agQOGoM=";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/security/hologram/default.nix b/pkgs/tools/security/hologram/default.nix
index c4e90bd94bb29..ebb8843782670 100644
--- a/pkgs/tools/security/hologram/default.nix
+++ b/pkgs/tools/security/hologram/default.nix
@@ -2,13 +2,12 @@
 
 buildGoPackage rec {
   pname = "hologram";
-  version = "2018-03-19";
-  rev = "a7bab58642b530edb75b9cf6c1d834c85822ceac";
+  version = "unstable-2018-03-19";
 
   src = fetchFromGitHub {
     owner = "AdRoll";
     repo = "hologram";
-    inherit rev;
+    rev = "a7bab58642b530edb75b9cf6c1d834c85822ceac";
     sha256 = "00scryz8js6gbw8lp2y23qikbazz2dd992r97rqh0l1q4baa0ckn";
   };
 
diff --git a/pkgs/tools/security/mbox/default.nix b/pkgs/tools/security/mbox/default.nix
index d7a303a3672f6..a39d226aac575 100644
--- a/pkgs/tools/security/mbox/default.nix
+++ b/pkgs/tools/security/mbox/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "mbox";
-  version = "20140526";
+  version = "unstable-2014-05-26";
 
   src = fetchFromGitHub {
     owner = "tsgates";
@@ -28,13 +28,12 @@ stdenv.mkDerivation {
     ./testall.sh
   '';
 
-  meta = with lib;
-    { description = "Lightweight sandboxing mechanism that any user can use without special privileges";
-      homepage = "http://pdos.csail.mit.edu/mbox/";
-      maintainers = with maintainers; [ ehmry ];
-      license = licenses.bsd3;
-      platforms = [ "x86_64-linux" ];
-      broken = true;
-    };
-
+  meta = with lib;    {
+    description = "Lightweight sandboxing mechanism that any user can use without special privileges";
+    homepage = "http://pdos.csail.mit.edu/mbox/";
+    maintainers = with maintainers; [ ehmry ];
+    license = licenses.bsd3;
+    platforms = [ "x86_64-linux" ];
+    broken = true;
+  };
 }
diff --git a/pkgs/tools/security/meo/default.nix b/pkgs/tools/security/meo/default.nix
index 4b96f2b42c234..491bef3e0543f 100644
--- a/pkgs/tools/security/meo/default.nix
+++ b/pkgs/tools/security/meo/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "meo";
-  version = "20121113";
+  version = "unstable-2012-11-13";
 
   src = fetchhg {
     url = "http://oss.stamfest.net/hg/meo";
@@ -25,12 +25,12 @@ stdenv.mkDerivation {
     cp meo-gui/meo-gui $out/bin
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "http://oss.stamfest.net/wordpress/meo-multiple-eyepairs-only";
     description = "Tools to use cryptography for things like four-eyes principles";
-    license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; linux;
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.linux;
     broken = true;
   };
 }
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index cd89d4039e5f8..38ba47a512234 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -104,6 +104,8 @@ python3.pkgs.buildPythonApplication rec {
     # Requires a PHP installation
     "test_timesql"
     "test_cookies"
+    # E           TypeError: Expected bytes or bytes-like object got: <class 'str'>
+    "test_persister_upload"
   ];
 
   pythonImportsCheck = [ "wapitiCore" ];
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 9ee77bfc6d3df..bf9e5cd9438bf 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.75";
+  version = "21.76";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "sha256-w2Lb+4FvPXw2uFqwsmzVdKIXY8IXV/TAb8FHFPl/K40=";
+    sha256 = "sha256-C0aYEgJC+ITxWcYBLPehNz9J1Y25gS1+UDVc3+7nIKQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 416fab94ddc90..2ad0d11f95f01 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -1,11 +1,8 @@
 { stdenv, lib, fetchurl, openssl, fetchpatch, static ? stdenv.hostPlatform.isStatic }:
 
-let
+stdenv.mkDerivation rec {
   pname = "ipmitool";
   version = "1.8.18";
-in
-stdenv.mkDerivation {
-  inherit pname version;
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
diff --git a/pkgs/tools/system/loadwatch/default.nix b/pkgs/tools/system/loadwatch/default.nix
index 722e5a9afde15..27e33a22d4b9c 100644
--- a/pkgs/tools/system/loadwatch/default.nix
+++ b/pkgs/tools/system/loadwatch/default.nix
@@ -1,17 +1,20 @@
-{ lib, stdenv, fetchgit, ... }:
+{ lib, stdenv, fetchgit }:
 
 stdenv.mkDerivation {
   pname = "loadwatch";
   version = "1.1-1-g6d2544c";
+
   src = fetchgit {
     url = "git://woffs.de/git/fd/loadwatch.git";
     sha256 = "1bhw5ywvhyb6snidsnllfpdi1migy73wg2gchhsfbcpm8aaz9c9b";
     rev = "6d2544c0caaa8a64bbafc3f851e06b8056c30e6e";
   };
+
   installPhase = ''
     mkdir -p $out/bin
     install loadwatch lw-ctl $out/bin
   '';
+
   meta = with lib; {
     description = "Run a program using only idle cycles";
     license = licenses.gpl2;
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
index 4c12c9eb27da1..0ad17c6c6595a 100644
--- a/pkgs/tools/system/localtime/default.nix
+++ b/pkgs/tools/system/localtime/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "localtime";
-  version = "2017-11-07";
+  version = "unstable-2017-11-07";
 
   src = fetchFromGitHub {
     owner = "Stebalien";
@@ -32,6 +32,7 @@ buildGoPackage rec {
   meta = with lib; {
     description = "A daemon for keeping the system timezone up-to-date based on the current location";
     homepage = "https://github.com/Stebalien/localtime";
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     license = licenses.gpl3;
   };
diff --git a/pkgs/tools/system/opencl-info/default.nix b/pkgs/tools/system/opencl-info/default.nix
index 173de5f607fed..124b53512d726 100644
--- a/pkgs/tools/system/opencl-info/default.nix
+++ b/pkgs/tools/system/opencl-info/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "opencl-info";
-  version = "2014-02-21";
+  version = "unstable-2014-02-21";
 
   src = fetchFromGitHub {
     owner = "marchv";
diff --git a/pkgs/tools/system/rowhammer-test/default.nix b/pkgs/tools/system/rowhammer-test/default.nix
index 685697f861ff0..993bfdaf834a8 100644
--- a/pkgs/tools/system/rowhammer-test/default.nix
+++ b/pkgs/tools/system/rowhammer-test/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "rowhammer-test";
-  version = "20150811";
+  version = "unstable-2015-08-11";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "rowhammer-test";
-    rev = "c1d2bd9f629281402c10bb10e52bc1f1faf59cc4"; # 2015-08-11
+    rev = "c1d2bd9f629281402c10bb10e52bc1f1faf59cc4";
     sha256 = "1fbfcnm5gjish47wdvikcsgzlb5vnlfqlzzm6mwiw2j5qkq0914i";
   };
 
diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix
index f4c871d5af08a..de823f98596a7 100644
--- a/pkgs/tools/system/which/default.nix
+++ b/pkgs/tools/system/which/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "which-2.21";
+  pname = "which";
+  version = "2.21";
 
   src = fetchurl {
-    url = "mirror://gnu/which/${name}.tar.gz";
+    url = "mirror://gnu/which/which-${version}.tar.gz";
     sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl";
   };
 
diff --git a/pkgs/tools/text/catdocx/default.nix b/pkgs/tools/text/catdocx/default.nix
index adf78397fcb3d..c762e15c80e23 100644
--- a/pkgs/tools/text/catdocx/default.nix
+++ b/pkgs/tools/text/catdocx/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, unzip, catdoc }:
 
 stdenv.mkDerivation {
-  name = "catdocx-20170102";
+  pname = "catdocx";
+  version = "unstable-2017-01-02";
 
   src = fetchFromGitHub {
     owner = "jncraton";
diff --git a/pkgs/tools/text/convertlit/default.nix b/pkgs/tools/text/convertlit/default.nix
index 18dc01c01d029..4225934d2d4e1 100644
--- a/pkgs/tools/text/convertlit/default.nix
+++ b/pkgs/tools/text/convertlit/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchzip, libtommath}:
 
-stdenv.mkDerivation {
-  name = "convertlit-1.8";
+stdenv.mkDerivation rec {
+  pname = "convertlit";
+  version = "1.8";
 
   src = fetchzip {
-    url = "http://www.convertlit.com/convertlit18src.zip";
+    url = "http://www.convertlit.com/convertlit${lib.replaceStrings ["."] [""] version}src.zip";
     sha256 = "182nsin7qscgbw2h92m0zadh3h8q410h5cza6v486yjfvla3dxjx";
     stripRoot = false;
   };
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index c8ff1e973a506..3e156cf3132dc 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,12 +1,13 @@
 { fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.64";
+  pname = "diffstat";
+  version = "1.64";
 
   src = fetchurl {
     urls = [
-      "ftp://ftp.invisible-island.net/diffstat/${name}.tgz"
-      "https://invisible-mirror.net/archives/diffstat/${name}.tgz"
+      "ftp://ftp.invisible-island.net/diffstat/diffstat-${version}.tgz"
+      "https://invisible-mirror.net/archives/diffstat/diffstat-${version}.tgz"
     ];
     sha256 = "sha256-uK7jjZ0uHQWSbmtVgQqdLC3UB/JNaiZzh1Y6RDbj9/w=";
   };
diff --git a/pkgs/tools/text/ebook-tools/default.nix b/pkgs/tools/text/ebook-tools/default.nix
index bb93b217ea244..1a46110e2a42b 100644
--- a/pkgs/tools/text/ebook-tools/default.nix
+++ b/pkgs/tools/text/ebook-tools/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake, pkg-config, libxml2, libzip }:
 
 stdenv.mkDerivation rec {
-  name = "ebook-tools-0.2.2";
+  pname = "ebook-tools";
+  version = "0.2.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ebook-tools/${name}.tar.gz";
+    url = "mirror://sourceforge/ebook-tools/ebook-tools-${version}.tar.gz";
     sha256 = "1bi7wsz3p5slb43kj7lgb3r6lb91lvb6ldi556k4y50ix6b5khyb";
   };
 
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index fd746ca117e85..3eb9ed3000c2b 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -15,9 +15,6 @@
 
 assert (doCheck && stdenv.isLinux) -> glibcLocales != null;
 
-let
-  inherit (lib) optional;
-in
 stdenv.mkDerivation rec {
   pname = "gawk";
   version = "5.1.0";
@@ -28,14 +25,14 @@ stdenv.mkDerivation rec {
   };
 
   # When we do build separate interactive version, it makes sense to always include man.
-  outputs = [ "out" "info" ] ++ optional (!interactive) "man";
+  outputs = [ "out" "info" ]
+    ++ lib.optional (!interactive) "man";
 
-  nativeBuildInputs = optional (doCheck && stdenv.isLinux) glibcLocales;
+  nativeBuildInputs = lib.optional (doCheck && stdenv.isLinux) glibcLocales;
 
-  buildInputs =
-       optional withSigsegv libsigsegv
-    ++ optional interactive readline
-    ++ optional stdenv.isDarwin locale;
+  buildInputs = lib.optional withSigsegv libsigsegv
+    ++ lib.optional interactive readline
+    ++ lib.optional stdenv.isDarwin locale;
 
   configureFlags = [
     (if withSigsegv then "--with-libsigsegv-prefix=${libsigsegv}" else "--without-libsigsegv")
@@ -60,7 +57,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.gnu.org/software/gawk/";
     description = "GNU implementation of the Awk programming language";
-
     longDescription = ''
       Many computer users need to manipulate text files: extract and then
       operate on data from parts of certain lines while discarding the rest,
@@ -74,11 +70,8 @@ stdenv.mkDerivation rec {
       makes it possible to handle many data-reformatting jobs with just a few
       lines of code.
     '';
-
     license = licenses.gpl3Plus;
-
     platforms = platforms.unix ++ platforms.windows;
-
     maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/text/html2text/default.nix b/pkgs/tools/text/html2text/default.nix
index ae92f3ba9d9a6..fff3e44baf694 100644
--- a/pkgs/tools/text/html2text/default.nix
+++ b/pkgs/tools/text/html2text/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "html2text-1.3.2a";
+stdenv.mkDerivation rec {
+  pname = "html2text";
+  version = "1.3.2a";
 
   src = fetchurl {
-    url = "http://www.mbayer.de/html2text/downloads/html2text-1.3.2a.tar.gz";
+    url = "http://www.mbayer.de/html2text/downloads/html2text-${version}.tar.gz";
     sha256 = "000b39d5d910b867ff7e087177b470a1e26e2819920dcffd5991c33f6d480392";
   };
 
diff --git a/pkgs/tools/text/kakasi/default.nix b/pkgs/tools/text/kakasi/default.nix
index 609b8aff9b56d..d2cf1f701ee9b 100644
--- a/pkgs/tools/text/kakasi/default.nix
+++ b/pkgs/tools/text/kakasi/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "kakasi-2.3.6";
+  pname = "kakasi";
+  version = "2.3.6";
 
   buildInputs = lib.optional stdenv.isDarwin [ libiconv ];
 
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "http://kakasi.namazu.org/stable/${name}.tar.xz";
+    url = "http://kakasi.namazu.org/stable/kakasi-${version}.tar.xz";
     sha256 = "1qry3xqb83pjgxp3my8b1sy77z4f0893h73ldrvdaky70cdppr9f";
   };
 
diff --git a/pkgs/tools/text/mairix/default.nix b/pkgs/tools/text/mairix/default.nix
index 57e05bf19f6e6..aa58ecdd35a9c 100644
--- a/pkgs/tools/text/mairix/default.nix
+++ b/pkgs/tools/text/mairix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, bzip2, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "mairix-0.24";
+  pname = "mairix";
+  version = "0.24";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mairix/${name}.tar.gz";
+    url = "mirror://sourceforge/mairix/mairix-${version}.tar.gz";
     sha256 = "0msaxz5c5hf7k1ci16i67m4ynrbrpsxbqzk84nz6z2vnkh3jww50";
   };
 
diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix
index d5f228d787307..62a23318ca2f5 100644
--- a/pkgs/tools/text/mawk/default.nix
+++ b/pkgs/tools/text/mawk/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mawk-1.3.4-20200120";
+  pname = "mawk";
+  version = "1.3.4-20200120";
 
   src = fetchurl {
     urls = [
-      "ftp://ftp.invisible-island.net/mawk/${name}.tgz"
-      "https://invisible-mirror.net/archives/mawk/${name}.tgz"
+      "ftp://ftp.invisible-island.net/mawk/mawk-${version}.tgz"
+      "https://invisible-mirror.net/archives/mawk/mawk-${version}.tgz"
     ];
     sha256 = "0dw2icf8bnqd9y0clfd9pkcxz4b2phdihwci13z914mf3wgcvm3z";
   };
diff --git a/pkgs/tools/text/mpage/default.nix b/pkgs/tools/text/mpage/default.nix
index 99cfec97a70b8..b48f89d66180b 100644
--- a/pkgs/tools/text/mpage/default.nix
+++ b/pkgs/tools/text/mpage/default.nix
@@ -1,9 +1,11 @@
 { fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "mpage-2.5.7";
+  pname = "mpage";
+  version = "2.5.7";
+
   src = fetchurl {
-    url = "http://www.mesa.nl/pub/mpage/${name}.tgz";
+    url = "https://www.mesa.nl/pub/mpage/mpage-${version}.tgz";
     sha256 = "1zn37r5xrvjgjbw2bdkc0r7s6q8b1krmcryzj0yf0dyxbx79rasi";
   };
 
diff --git a/pkgs/tools/text/multitran/data/default.nix b/pkgs/tools/text/multitran/data/default.nix
index a94f5bc968871..bfc148df782bf 100644
--- a/pkgs/tools/text/multitran/data/default.nix
+++ b/pkgs/tools/text/multitran/data/default.nix
@@ -6,7 +6,9 @@
 # The store file mentioned is in "${glibc.out}/lib/locale/locale-archive"
 
 stdenv.mkDerivation {
-  name = "multitran-data-0.3";
+  pname = "multitran-data";
+  version = "0.3";
+
   src = fetchurl {
       url = "mirror://sourceforge/multitran/multitran-data.tar.bz2";
       sha256 = "9c2ff5027c2fe72b0cdf056311cd7543f447feb02b455982f20d4a3966b7828c";
diff --git a/pkgs/tools/text/multitran/libbtree/default.nix b/pkgs/tools/text/multitran/libbtree/default.nix
index 893c1e1d93163..91c4bb0ea7f87 100644
--- a/pkgs/tools/text/multitran/libbtree/default.nix
+++ b/pkgs/tools/text/multitran/libbtree/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl} :
 
-stdenv.mkDerivation {
-  name = "libbtree-0.0.1alpha2";
+stdenv.mkDerivation rec {
+  pname = "libbtree";
+  version = "0.0.1alpha2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/multitran/libbtree-0.0.1alpha2.tar.bz2";
+    url = "mirror://sourceforge/multitran/libbtree-${version}.tar.bz2";
     sha256 = "34a584e45058950337ff9342693b6739b52c3ce17e66440526c4bd6f9575802c";
   };
   patchPhase = ''
diff --git a/pkgs/tools/text/multitran/libfacet/default.nix b/pkgs/tools/text/multitran/libfacet/default.nix
index 3895f3a922c2a..0e6dd0d6e6528 100644
--- a/pkgs/tools/text/multitran/libfacet/default.nix
+++ b/pkgs/tools/text/multitran/libfacet/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libmtsupport }:
 
-stdenv.mkDerivation {
-  name = "libfacet-0.0.1alpha2";
+stdenv.mkDerivation rec {
+  pname = "libfacet";
+  version = "0.0.1alpha2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/multitran/libfacet-0.0.1alpha2.tar.bz2";
+    url = "mirror://sourceforge/multitran/libfacet-${version}.tar.bz2";
     sha256 = "dc53351c4035a3c27dc6c1d0410e808346fbc107e7e7c112ec65c59d0df7a144";
   };
 
diff --git a/pkgs/tools/text/multitran/libmtquery/default.nix b/pkgs/tools/text/multitran/libmtquery/default.nix
index 3b7dd681e8aee..5cc8e724e71f1 100644
--- a/pkgs/tools/text/multitran/libmtquery/default.nix
+++ b/pkgs/tools/text/multitran/libmtquery/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, libmtsupport, libfacet, libbtree, multitrandata } :
 
-stdenv.mkDerivation {
-  name = "libmtquery-0.0.1alpha3";
+stdenv.mkDerivation rec {
+  pname = "libmtquery";
+  version = "0.0.1alpha3";
+
   src = fetchurl {
-    url = "mirror://sourceforge/multitran/libmtquery-0.0.1alpha3.tar.bz2";
+    url = "mirror://sourceforge/multitran/libmtquery-${version}.tar.bz2";
     sha256 = "e24c7c15772445f1b14871928d84dd03cf93bd88f9d2b2ed1bf0257c2cf2b15e";
   };
 
diff --git a/pkgs/tools/text/multitran/libmtsupport/default.nix b/pkgs/tools/text/multitran/libmtsupport/default.nix
index eebc88189f251..454709b8eb795 100644
--- a/pkgs/tools/text/multitran/libmtsupport/default.nix
+++ b/pkgs/tools/text/multitran/libmtsupport/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl} :
 
-stdenv.mkDerivation {
-  name = "libmtsupport-0.0.1alpha2";
+stdenv.mkDerivation rec {
+  pname = "libmtsupport";
+  version = "0.0.1alpha2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/multitran/libmtsupport-0.0.1alpha2.tar.bz2";
+    url = "mirror://sourceforge/multitran/libmtsupport-${version}.tar.bz2";
     sha256 = "481f0f1ec15d7274f1e4eb93e7d060df10a181efd037eeff5e8056d283a9298b";
   };
   patchPhase = ''
diff --git a/pkgs/tools/text/multitran/mtutils/default.nix b/pkgs/tools/text/multitran/mtutils/default.nix
index 00325276fdb18..2428caada5b87 100644
--- a/pkgs/tools/text/multitran/mtutils/default.nix
+++ b/pkgs/tools/text/multitran/mtutils/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, libmtsupport, libfacet, libbtree, libmtquery, help2man} :
 
-stdenv.mkDerivation {
-  name = "mt-utils-0.0.1alpha3";
+stdenv.mkDerivation rec {
+  pname = "mt-utils";
+  version = "0.0.1alpha3";
+
   src = fetchurl {
-      url = "mirror://sourceforge/multitran/mt-utils-0.0.1alpha3.tar.bz2";
+      url = "mirror://sourceforge/multitran/mt-utils-${version}.tar.bz2";
       sha256 = "e407702c90c5272882386914e1eeca5f6c5039393af9a44538536b94867b0a0e";
   };
 
diff --git a/pkgs/tools/text/qprint/default.nix b/pkgs/tools/text/qprint/default.nix
index e2621ab18766b..19f2d7b1cbd6f 100644
--- a/pkgs/tools/text/qprint/default.nix
+++ b/pkgs/tools/text/qprint/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "qprint-1.1";
+  pname = "qprint";
+  version = "1.1";
 
   src = fetchurl {
-    url = "https://www.fourmilab.ch/webtools/qprint/${name}.tar.gz";
+    url = "https://www.fourmilab.ch/webtools/qprint/qprint-${version}.tar.gz";
     sha256 = "1701cnb1nl84rmcpxzq11w4cyj4385jh3gx4aqxznwf8a4fwmagz";
   };
 
diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix
index 785ef3205967a..f87bd5d7b1a13 100644
--- a/pkgs/tools/text/sgml/openjade/default.nix
+++ b/pkgs/tools/text/sgml/openjade/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, opensp, perl }:
 
 stdenv.mkDerivation rec {
-  name = "openjade-1.3.2";
+  pname = "openjade";
+  version = "1.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openjade/${name}.tar.gz";
+    url = "mirror://sourceforge/openjade/openjade-${version}.tar.gz";
     sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x";
   };
 
diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix
index 1c9131d29dc5b..6924c8953eef0 100644
--- a/pkgs/tools/text/sgml/opensp/default.nix
+++ b/pkgs/tools/text/sgml/opensp/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412
 , libxslt, docbook_xsl, autoconf, automake, gettext, libiconv, libtool}:
 
-stdenv.mkDerivation {
-  name = "opensp-1.5.2";
+stdenv.mkDerivation rec {
+  pname = "opensp";
+  version = "1.5.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openjade/OpenSP-1.5.2.tar.gz";
+    url = "mirror://sourceforge/openjade/OpenSP-${version}.tar.gz";
     sha256 = "1khpasr6l0a8nfz6kcf3s81vgdab8fm2dj291n5r2s53k228kx2p";
   };
 
diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix
index e2bda04d13f14..d83e9393f9412 100644
--- a/pkgs/tools/text/uni2ascii/default.nix
+++ b/pkgs/tools/text/uni2ascii/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "uni2ascii-4.18";
+  pname = "uni2ascii";
+  version = "4.18";
+
   src = fetchurl {
-    url = "https://billposer.org/Software/Downloads/${name}.tar.gz";
+    url = "https://billposer.org/Software/Downloads/uni2ascii-${version}.tar.gz";
     sha256 = "03lklnzr6ngs4wqiqa7rifd246f441gfvardbsaa5l6fn9pbn94y";
   };
 
diff --git a/pkgs/tools/text/xml/xml2/default.nix b/pkgs/tools/text/xml/xml2/default.nix
index 4c312250bf652..265ab10e5ac8f 100644
--- a/pkgs/tools/text/xml/xml2/default.nix
+++ b/pkgs/tools/text/xml/xml2/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libxml2 }:
 
-stdenv.mkDerivation {
-  name = "xml2-0.5";
+stdenv.mkDerivation rec {
+  pname = "xml2";
+  version = "0.5";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20160427221603/http://download.ofb.net/gale/xml2-0.5.tar.gz";
+    url = "https://web.archive.org/web/20160427221603/http://download.ofb.net/gale/xml2-${version}.tar.gz";
     sha256 = "01cps980m99y99cnmvydihga9zh3pvdsqag2fi1n6k2x7rfkl873";
   };
 
diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix
index e179c3153e10f..39d53088babf6 100644
--- a/pkgs/tools/text/xml/xmlstarlet/default.nix
+++ b/pkgs/tools/text/xml/xmlstarlet/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "xmlstarlet-1.6.1";
+  pname = "xmlstarlet";
+  version = "1.6.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/xmlstar/${name}.tar.gz";
+    url = "mirror://sourceforge/xmlstar/xmlstarlet-${version}.tar.gz";
     sha256 = "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m";
   };
 
diff --git a/pkgs/tools/text/xml/xpf/default.nix b/pkgs/tools/text/xml/xpf/default.nix
index 29170394d1e6b..ce0813c2ef4a5 100644
--- a/pkgs/tools/text/xml/xpf/default.nix
+++ b/pkgs/tools/text/xml/xpf/default.nix
@@ -2,11 +2,12 @@
 
 assert libxml2.pythonSupport == true;
 
-stdenv.mkDerivation {
-  name = "xpf-0.2";
+stdenv.mkDerivation rec {
+  pname = "xpf";
+  version = "0.2";
 
   src = fetchurl {
-    url = "http://tarballs.nixos.org/xpf-0.2.tar.gz";
+    url = "http://tarballs.nixos.org/xpf-${version}.tar.gz";
     sha256 = "0ljx91w68rnh4871c0xlq2whlmhqz8dr39wcdczfjjpniqz1fmpz";
   };
 
diff --git a/pkgs/tools/text/yaml-merge/default.nix b/pkgs/tools/text/yaml-merge/default.nix
index 7c4ecc49df5dd..e5794b439a532 100644
--- a/pkgs/tools/text/yaml-merge/default.nix
+++ b/pkgs/tools/text/yaml-merge/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, pythonPackages }:
 
 stdenv.mkDerivation {
-  name= "yaml-merge-2016-02-16";
+  pname = "yaml-merge";
+  version = "unstable-2016-02-16";
 
   src = fetchFromGitHub {
     owner = "abbradar";
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
index cd10ac9117c84..0b7b67f69b591 100644
--- a/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perlPackages, makeWrapper, zip, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "docbook2odf-0.244";
+  pname = "docbook2odf";
+  version = "0.244";
 
   src = fetchurl {
-    url = "http://open.comsultia.com/docbook2odf/dwn/${name}.tar.gz";
+    url = "http://open.comsultia.com/docbook2odf/dwn/docbook2odf-${version}.tar.gz";
     sha256 = "10k44g0qqa37k30pfj8vz95j6zdzz0nmnqjq1lyahfs2h4glzgwb";
   };
 
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index 4b9e571c0ad31..aac992552d317 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -4,10 +4,11 @@
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "docbook2X-0.8.8";
+  pname = "docbook2X";
+  version = "0.8.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/docbook2x/${name}.tar.gz";
+    url = "mirror://sourceforge/docbook2x/docbook2X-${version}.tar.gz";
     sha256 = "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0";
   };
 
diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix
index d077ef823ffc4..ec5598e4d689f 100644
--- a/pkgs/tools/typesetting/halibut/default.nix
+++ b/pkgs/tools/typesetting/halibut/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "halibut-1.2";
+  pname = "halibut";
+  version = "1.2";
 
   src = fetchurl {
-    url = "http://ww.chiark.greenend.org.uk/~sgtatham/halibut/${name}/${name}.tar.gz";
+    url = "http://ww.chiark.greenend.org.uk/~sgtatham/halibut/halibut-${version}/halibut-${version}.tar.gz";
     sha256 = "0gqnhfqf555rfpk5xj1imbdxnbkkrv4wl3rrdb1r0wgj81igpv8s";
   };
 
diff --git a/pkgs/tools/typesetting/hevea/default.nix b/pkgs/tools/typesetting/hevea/default.nix
index ad6427e562244..8253d73e3dbb3 100644
--- a/pkgs/tools/typesetting/hevea/default.nix
+++ b/pkgs/tools/typesetting/hevea/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ocamlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "hevea-2.35";
+  pname = "hevea";
+  version = "2.35";
 
   src = fetchurl {
-    url = "http://pauillac.inria.fr/~maranget/hevea/distri/${name}.tar.gz";
+    url = "https://pauillac.inria.fr/~maranget/hevea/distri/hevea-${version}.tar.gz";
     sha256 = "sha256-8Ym62l0+WzWFXf39tbJwyZT8eiNmsBJQ12E1mtZsnss=";
   };
 
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index 4737c5d740975..f5bf22c0f3382 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -1,13 +1,14 @@
 {lib, stdenv, fetchurl, ghostscript}:
 
 stdenv.mkDerivation rec {
-  name = "lout-3.40";
+  pname = "lout";
+  version = "3.40";
 
   src = fetchurl {
     urls = [
-      "ftp://ftp.cs.usyd.edu.au/jeff/lout/${name}.tar.gz"
-      "mirror://savannah/lout/${name}.tar.gz"      # new!
-      "mirror://sourceforge/lout/${name}.tar.gz"   # to be phased out
+      "ftp://ftp.cs.usyd.edu.au/jeff/lout/${pname}-${version}.tar.gz"
+      "mirror://savannah/lout/${pname}-${version}.tar.gz"      # new!
+      "mirror://sourceforge/lout/${pname}-${version}.tar.gz"   # to be phased out
       # XXX: We could add the CTAN mirrors
       # (see https://www.ctan.org/tex-archive/support/lout/).
     ];
diff --git a/pkgs/tools/typesetting/psutils/default.nix b/pkgs/tools/typesetting/psutils/default.nix
index fe3223ae6c902..c7f68f2bd52b9 100644
--- a/pkgs/tools/typesetting/psutils/default.nix
+++ b/pkgs/tools/typesetting/psutils/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl }:
 
-stdenv.mkDerivation {
-  name = "psutils-17";
+stdenv.mkDerivation rec {
+  pname = "psutils";
+  version = "17";
 
   src = fetchurl {
-    url = "ftp://ftp.knackered.org/pub/psutils/psutils-p17.tar.gz";
+    url = "ftp://ftp.knackered.org/pub/psutils/psutils-p${version}.tar.gz";
     sha256 = "1r4ab1fvgganm02kmm70b2r1azwzbav2am41gbigpa2bb1wynlrq";
   };
 
diff --git a/pkgs/tools/typesetting/tex/lkproof/default.nix b/pkgs/tools/typesetting/tex/lkproof/default.nix
index 4f896ef32baf9..6b866b43d1b96 100644
--- a/pkgs/tools/typesetting/tex/lkproof/default.nix
+++ b/pkgs/tools/typesetting/tex/lkproof/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "lkproof-3.1";
+  pname = "lkproof";
+  version = "3.1";
 
   src = fetchurl {
     url = "http://mirror.ctan.org/macros/latex/contrib/lkproof.zip";
diff --git a/pkgs/tools/typesetting/tex/pgfplots/default.nix b/pkgs/tools/typesetting/tex/pgfplots/default.nix
index fe928615eb429..0a2667f284e9d 100644
--- a/pkgs/tools/typesetting/tex/pgfplots/default.nix
+++ b/pkgs/tools/typesetting/tex/pgfplots/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, unzip}:
 
-stdenv.mkDerivation {
-  name = "pgfplots-1.5.1";
+stdenv.mkDerivation rec {
+  pname = "pgfplots";
+  version = "1.5.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pgfplots/pgfplots_1.5.1.tds.zip";
+    url = "mirror://sourceforge/pgfplots/pgfplots_${version}.tds.zip";
     sha256 = "1xajrmq35i0qlsfwydy5zzg6f1jg88hqqh5b3xsmglzrarnllbdi";
   };
 
diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix
index 0f6bf5d0d55cd..d153864172187 100644
--- a/pkgs/tools/typesetting/tex/tetex/default.nix
+++ b/pkgs/tools/typesetting/tex/tetex/default.nix
@@ -1,15 +1,16 @@
 { lib, stdenv, fetchurl, flex, bison, zlib, libpng, ncurses, ed, automake }:
 
-stdenv.mkDerivation {
-  name = "tetex-3.0";
+stdenv.mkDerivation rec {
+  pname = "tetex";
+  version = "3.0";
 
   src = fetchurl {
-    url = "http://mirrors.ctan.org/obsolete/systems/unix/teTeX/3.0/distrib/tetex-src-3.0.tar.gz";
+    url = "http://mirrors.ctan.org/obsolete/systems/unix/teTeX/${version}/distrib/tetex-src-${version}.tar.gz";
     sha256 = "16v44465ipd9yyqri9rgxp6rbgs194k4sh1kckvccvdsnnp7w3ww";
   };
 
   texmf = fetchurl {
-    url = "http://mirrors.ctan.org/obsolete/systems/unix/teTeX/3.0/distrib/tetex-texmf-3.0.tar.gz";
+    url = "http://mirrors.ctan.org/obsolete/systems/unix/teTeX/${version}/distrib/tetex-texmf-${version}.tar.gz";
     sha256 = "1hj06qvm02a2hx1a67igp45kxlbkczjlg20gr8lbp73l36k8yfvc";
   };
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index fd4302a50c628..dde0c63b9aad6 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -446,8 +446,41 @@ mapAliases ({
   libwnck3 = libwnck;
   lilypond-unstable = lilypond; # added 2021-03-11
   links = links2; # added 2016-01-31
-  linux_rpi0 = linux_rpi1;
-  linuxPackages_rpi0 = linuxPackages_rpi1;
+  linux_rpi0 = linuxKernel.kernels.linux_rpi1;
+  linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
+  linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4;
+  linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10;
+  linuxPackages_rt_5_11 = linuxKernel.packages.linux_rt_5_11;
+  linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1;
+  linuxPackages_rpi2 = linuxKernel.packages.linux_rpi2;
+  linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3;
+  linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4;
+  linuxPackages_4_4 = linuxKernel.packages.linux_4_4;
+  linuxPackages_4_9 = linuxKernel.packages.linux_4_9;
+  linuxPackages_4_14 = linuxKernel.packages.linux_4_14;
+  linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
+  linuxPackages_4_19 = linuxKernel.packages.linux_4_19;
+  linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
+  linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
+  linuxPackages_5_13 = linuxKernel.packages.linux_5_13;
+  linuxPackages_5_14 = linuxKernel.packages.linux_5_14;
+
+  linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
+  linux_rpi1 = linuxKernel.kernels.linux_rpi1;
+  linux_rpi2 = linuxKernel.kernels.linux_rpi2;
+  linux_rpi3 = linuxKernel.kernels.linux_rpi3;
+  linux_rpi4 = linuxKernel.kernels.linux_rpi4;
+  linux_4_4 = linuxKernel.kernels.linux_4_4;
+  linux_4_9 = linuxKernel.kernels.linux_4_9;
+  linux_4_14 = linuxKernel.kernels.linux_4_14;
+  linux_4_19 = linuxKernel.kernels.linux_4_19;
+  linux_5_4 = linuxKernel.kernels.linux_5_4;
+  linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4;
+  linux_5_10 = linuxKernel.kernels.linux_5_10;
+  linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
+  linux-rt_5_11 = linuxKernel.kernels.linux_rt_5_11;
+  linux_5_13 = linuxKernel.kernels.linux_5_13;
+  linux_5_14 = linuxKernel.kernels.linux_5_14;
 
   # added 2020-04-04
   linuxPackages_testing_hardened = throw "linuxPackages_testing_hardened has been removed, please use linuxPackages_latest_hardened";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ada782c58b3d2..da57cd40a45ae 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3620,7 +3620,7 @@ with pkgs;
 
   bud = callPackage ../tools/networking/bud { };
 
-  bump2version = python37Packages.callPackage ../applications/version-management/git-and-tools/bump2version { };
+  bump2version = python3Packages.callPackage ../applications/version-management/git-and-tools/bump2version { };
 
   bumpver = callPackage ../applications/version-management/bumpver { };
 
@@ -4128,11 +4128,12 @@ with pkgs;
     ldapSupport = true;
   };
 
-  curl = curlMinimal.override {
+  curl = curlMinimal.override ({
     idnSupport = true;
+  } // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) {
     gssSupport = true;
     brotliSupport = true;
-  };
+  });
 
   curlMinimal = callPackage ../tools/networking/curl { };
 
@@ -7283,7 +7284,7 @@ with pkgs;
 
   mmixware = callPackage ../development/tools/mmixware { };
 
-  modemmanager = callPackage ../tools/networking/modem-manager {};
+  modemmanager = callPackage ../tools/networking/modemmanager {};
 
   modem-manager-gui = callPackage ../applications/networking/modem-manager-gui {};
 
@@ -12275,19 +12276,19 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
     llvm_10 = llvmPackages_10.libllvm;
   };
-  rust_1_53 = callPackage ../development/compilers/rust/1_53.nix {
+  rust_1_54 = callPackage ../development/compilers/rust/1_54.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
     llvm_12 = llvmPackages_12.libllvm;
   };
-  rust = rust_1_53;
+  rust = rust_1_54;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
   mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
 
   rustPackages_1_45 = rust_1_45.packages.stable;
-  rustPackages_1_53 = rust_1_53.packages.stable;
-  rustPackages = rustPackages_1_53;
+  rustPackages_1_54 = rust_1_54.packages.stable;
+  rustPackages = rustPackages_1_54;
 
   inherit (rustPackages) cargo clippy rustc rustPlatform;
 
@@ -13690,10 +13691,15 @@ with pkgs;
 
   cmake_2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix { };
 
-  cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake { };
+  cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake {
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
+  };
 
   cmakeMinimal = libsForQt5.callPackage ../development/tools/build-managers/cmake {
     isBootstrap = true;
+    # There is no SystemConfiguration in bootstrapTools, so this version gets
+    # patched to remove that dependency.
+    SystemConfiguration = null;
   };
 
   cmakeCurses = cmake.override { useNcurses = true; };
@@ -14827,9 +14833,7 @@ with pkgs;
 
   vultr-cli = callPackage ../development/tools/vultr-cli { };
 
-  vulnix = callPackage ../tools/security/vulnix {
-    python3Packages = python37Packages;
-  };
+  vulnix = callPackage ../tools/security/vulnix { };
 
   vtable-dumper = callPackage ../development/tools/misc/vtable-dumper { };
 
@@ -15089,20 +15093,23 @@ with pkgs;
 
   boolstuff = callPackage ../development/libraries/boolstuff { };
 
-  boost155 = callPackage ../development/libraries/boost/1.55.nix { };
-  boost159 = callPackage ../development/libraries/boost/1.59.nix { };
+  inherit (callPackage ../development/libraries/boost { inherit (buildPackages) boost-build; })
+    boost155
+    boost159
+    boost160
+    boost165
+    boost166
+    boost168
+    boost169
+    boost170
+    boost172
+    boost173
+    boost174
+    boost175
+  ;
+
   boost15x = boost159;
-  boost160 = callPackage ../development/libraries/boost/1.60.nix { };
-  boost165 = callPackage ../development/libraries/boost/1.65.nix { };
-  boost166 = callPackage ../development/libraries/boost/1.66.nix { };
-  boost168 = callPackage ../development/libraries/boost/1.68.nix { };
-  boost169 = callPackage ../development/libraries/boost/1.69.nix { };
   boost16x = boost169;
-  boost170 = callPackage ../development/libraries/boost/1.70.nix { };
-  boost172 = callPackage ../development/libraries/boost/1.72.nix { };
-  boost173 = callPackage ../development/libraries/boost/1.73.nix { };
-  boost174 = callPackage ../development/libraries/boost/1.74.nix { };
-  boost175 = callPackage ../development/libraries/boost/1.75.nix { };
   boost17x = boost175;
   boost = boost16x;
 
@@ -17084,7 +17091,9 @@ with pkgs;
 
   libliftoff = callPackage ../development/libraries/libliftoff { };
 
-  liblqr1 = callPackage ../development/libraries/liblqr-1 { };
+  liblqr1 = callPackage ../development/libraries/liblqr-1 {
+    inherit (darwin.apple_sdk.frameworks) Carbon;
+  };
 
   liblockfile = callPackage ../development/libraries/liblockfile { };
 
@@ -20374,10 +20383,12 @@ with pkgs;
 
   rpcsvc-proto = callPackage ../tools/misc/rpcsvc-proto { };
 
-  libmysqlclient = libmysqlclient_3_1;
+  libmysqlclient = libmysqlclient_3_2;
   libmysqlclient_3_1 = mariadb-connector-c_3_1;
-  mariadb-connector-c = mariadb-connector-c_3_1;
+  libmysqlclient_3_2 = mariadb-connector-c_3_2;
+  mariadb-connector-c = mariadb-connector-c_3_2;
   mariadb-connector-c_3_1 = callPackage ../servers/sql/mariadb/connector-c/3_1.nix { };
+  mariadb-connector-c_3_2 = callPackage ../servers/sql/mariadb/connector-c/3_2.nix { };
 
   mariadb-galera = callPackage ../servers/sql/mariadb/galera {
     asio = asio_1_10;
@@ -21305,463 +21316,31 @@ with pkgs;
 
   tgt = callPackage ../tools/networking/tgt { };
 
-  # -- Linux kernel expressions ------------------------------------------------
-
   lkl = callPackage ../applications/virtualization/lkl { };
 
   inherit (callPackages ../os-specific/linux/kernel-headers { })
     linuxHeaders makeLinuxHeaders;
 
-  kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
-
   klibc = callPackage ../os-specific/linux/klibc { };
 
   klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
 
-  linux_mptcp = linux_mptcp_95;
-
-  linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix {
-    kernelPatches = linux_4_19.kernelPatches;
-  };
-
-  linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
-    kernelPatches = with kernelPatches; [
-      bridge_stp_helper
-      request_key_helper
-    ];
-    rpiVersion = 1;
-  };
-
-  linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
-    kernelPatches = with kernelPatches; [
-      bridge_stp_helper
-      request_key_helper
-    ];
-    rpiVersion = 2;
-  };
-
-  linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
-    kernelPatches = with kernelPatches; [
-      bridge_stp_helper
-      request_key_helper
-    ];
-    rpiVersion = 3;
-  };
-
-  linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
-    kernelPatches = with kernelPatches; [
-      bridge_stp_helper
-      request_key_helper
-    ];
-    rpiVersion = 4;
-  };
-
-  linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper_updated
-        kernelPatches.cpu-cgroup-v2."4.4"
-        kernelPatches.modinst_arg_list_too_long
-      ];
-  };
-
-  linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper_updated
-        kernelPatches.cpu-cgroup-v2."4.9"
-        kernelPatches.modinst_arg_list_too_long
-      ];
-  };
-
-  linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper
-        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
-        # when adding a new linux version
-        kernelPatches.cpu-cgroup-v2."4.11"
-        kernelPatches.modinst_arg_list_too_long
-      ];
-  };
-
-  linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper
-        kernelPatches.modinst_arg_list_too_long
-      ];
-  };
-
-  linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-      kernelPatches.rtl8761b_support
-    ];
-  };
-
-  linux-rt_5_4 = callPackage ../os-specific/linux/kernel/linux-rt-5.4.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_5_10 = callPackage ../os-specific/linux/kernel/linux-5.10.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_5_14 = callPackage ../os-specific/linux/kernel/linux-5.14.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux-rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-      kernelPatches.export-rt-sched-migrate
-    ];
-  };
-
-  linux-rt_5_11 = callPackage ../os-specific/linux/kernel/linux-rt-5.11.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-      kernelPatches.export-rt-sched-migrate
-    ];
-  };
-
-  linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec {
-    kernel = linux_5_13;
-    kernelPatches = kernel.kernelPatches;
-  };
-
-  linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-      kernelPatches.modinst_arg_list_too_long
-    ];
-  };
-
-  linux_zen = callPackage ../os-specific/linux/kernel/linux-zen.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix {
-    kernelPatches = [
-      kernelPatches.bridge_stp_helper
-      kernelPatches.request_key_helper
-    ];
-  };
-
-  /*  Linux kernel modules are inherently tied to a specific kernel.  So
-      rather than provide specific instances of those packages for a
-      specific kernel, we have a function that builds those packages
-      for a specific kernel.  This function can then be called for
-      whatever kernel you're using. */
-
-  linuxPackagesFor = kernel_: lib.makeExtensible (self: with self; {
-    callPackage = newScope self;
-
-    kernel = kernel_;
-    inherit (kernel) stdenv; # in particular, use the same compiler by default
-
-    # to help determine module compatibility
-    inherit (kernel) isZen isHardened isLibre;
-    inherit (kernel) kernelOlder kernelAtLeast;
-
-    # Obsolete aliases (these packages do not depend on the kernel).
-    inherit (pkgs) odp-dpdk pktgen; # added 2018-05
-
-    acpi_call = callPackage ../os-specific/linux/acpi-call {};
-
-    akvcam = callPackage ../os-specific/linux/akvcam { };
-
-    amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { };
-
-    anbox = callPackage ../os-specific/linux/anbox/kmod.nix { };
-
-    apfs = callPackage ../os-specific/linux/apfs { };
-
-    batman_adv = callPackage ../os-specific/linux/batman-adv {};
-
-    bcc = callPackage ../os-specific/linux/bcc {
-      python = python3;
-    };
-
-    bpftrace = callPackage ../os-specific/linux/bpftrace { };
-
-    bbswitch = callPackage ../os-specific/linux/bbswitch {};
-
-    chipsec = callPackage ../tools/security/chipsec {
-      inherit kernel;
-      withDriver = true;
-    };
-
-    cryptodev = callPackage ../os-specific/linux/cryptodev { };
-
-    cpupower = callPackage ../os-specific/linux/cpupower { };
-
-    ddcci-driver = callPackage ../os-specific/linux/ddcci { };
-
-    digimend = callPackage ../os-specific/linux/digimend { };
-
-    dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
-
-    exfat-nofuse = callPackage ../os-specific/linux/exfat { };
-
-    evdi = callPackage ../os-specific/linux/evdi { };
-
-    fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { };
-
-    gcadapter-oc-kmod = callPackage ../os-specific/linux/gcadapter-oc-kmod { };
+  linuxKernel = recurseIntoAttrs (callPackage ./linux-kernels.nix { });
 
-    hid-nintendo = callPackage ../os-specific/linux/hid-nintendo { };
+  inherit (linuxKernel) buildLinux linuxConfig kernelPatches;
 
-    hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { };
+  linuxPackagesFor = linuxKernel.packagesFor;
 
-    e1000e = if lib.versionOlder kernel.version "4.10" then  callPackage ../os-specific/linux/e1000e {} else null;
+  hardenedLinuxPackagesFor = linuxKernel.hardenedPackagesFor;
 
-    intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
+  linuxManualConfig = linuxKernel.manualConfig;
 
-    ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
-
-    it87 = callPackage ../os-specific/linux/it87 {};
-
-    asus-wmi-sensors = callPackage ../os-specific/linux/asus-wmi-sensors {};
-
-    ena = callPackage ../os-specific/linux/ena {};
-
-    v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
-
-    lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
-
-    broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { };
-
-    tbs = callPackage ../os-specific/linux/tbs { };
-
-    mbp2018-bridge-drv = callPackage ../os-specific/linux/mbp-modules/mbp2018-bridge-drv { };
-
-    nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
-
-    nvidiaPackages = dontRecurseIntoAttrs (callPackage ../os-specific/linux/nvidia-x11 { });
-
-    nvidia_x11_legacy340   = nvidiaPackages.legacy_340;
-    nvidia_x11_legacy390   = nvidiaPackages.legacy_390;
-    nvidia_x11_beta        = nvidiaPackages.beta;
-    nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
-    nvidia_x11             = nvidiaPackages.stable;
-
-    openrazer = callPackage ../os-specific/linux/openrazer/driver.nix { };
-
-    ply = callPackage ../os-specific/linux/ply { };
-
-    r8125 = callPackage ../os-specific/linux/r8125 { };
-
-    r8168 = callPackage ../os-specific/linux/r8168 { };
-
-    rtl8188eus-aircrack = callPackage ../os-specific/linux/rtl8188eus-aircrack { };
-
-    rtl8192eu = callPackage ../os-specific/linux/rtl8192eu { };
-
-    rtl8723bs = callPackage ../os-specific/linux/rtl8723bs { };
-
-    rtl8812au = callPackage ../os-specific/linux/rtl8812au { };
-
-    rtl8814au = callPackage ../os-specific/linux/rtl8814au { };
-
-    rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack { };
-
-    rtl8821au = callPackage ../os-specific/linux/rtl8821au { };
-
-    rtl8821ce = callPackage ../os-specific/linux/rtl8821ce { };
-
-    rtl88x2bu = callPackage ../os-specific/linux/rtl88x2bu { };
-
-    rtl8821cu = callPackage ../os-specific/linux/rtl8821cu { };
-
-    rtw88 = callPackage ../os-specific/linux/rtw88 { };
-    rtlwifi_new = rtw88;
-
-    rtw89 = callPackage ../os-specific/linux/rtw89 { };
-
-    openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
-    openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { };
-    # Current stable release; don't backport release updates!
-    openafs = openafs_1_8;
-
-    facetimehd = callPackage ../os-specific/linux/facetimehd { };
-
-    tuxedo-keyboard = if lib.versionAtLeast kernel.version "4.14" then callPackage ../os-specific/linux/tuxedo-keyboard { } else null;
-
-    jool = callPackage ../os-specific/linux/jool { };
-
-    kvmfr = callPackage ../os-specific/linux/kvmfr { };
-
-    mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { };
-
-    mwprocapture = callPackage ../os-specific/linux/mwprocapture { };
-
-    mxu11x0 = callPackage ../os-specific/linux/mxu11x0 { };
-
-    # compiles but has to be integrated into the kernel somehow
-    # Let's have it uncommented and finish it..
-    ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
-
-    netatop = callPackage ../os-specific/linux/netatop { };
-
-    oci-seccomp-bpf-hook = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/oci-seccomp-bpf-hook { } else null;
-
-    perf = if lib.versionAtLeast kernel.version "3.12" then callPackage ../os-specific/linux/kernel/perf.nix { } else null;
-
-    phc-intel = if lib.versionAtLeast kernel.version "4.10" then callPackage ../os-specific/linux/phc-intel { } else null;
-
-    # Disable for kernels 4.15 and above due to compatibility issues
-    prl-tools = if lib.versionOlder kernel.version "4.15" then callPackage ../os-specific/linux/prl-tools { } else null;
-
-    sch_cake = callPackage ../os-specific/linux/sch_cake { };
-
-    isgx = callPackage ../os-specific/linux/isgx { };
-
-    sysdig = callPackage ../os-specific/linux/sysdig {};
-
-    systemtap = callPackage ../development/tools/profiling/systemtap { };
-
-    system76 = callPackage ../os-specific/linux/system76 { };
-
-    system76-acpi = callPackage ../os-specific/linux/system76-acpi { };
-
-    system76-power = callPackage ../os-specific/linux/system76-power { };
-
-    system76-io = callPackage ../os-specific/linux/system76-io { };
-
-    tmon = callPackage ../os-specific/linux/tmon { };
-
-    tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
-
-    turbostat = callPackage ../os-specific/linux/turbostat { };
-
-    usbip = callPackage ../os-specific/linux/usbip { };
-
-    v86d = callPackage ../os-specific/linux/v86d { };
-
-    veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { };
-
-    vendor-reset = callPackage ../os-specific/linux/vendor-reset { };
-
-    vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
-
-    virtualbox = callPackage ../os-specific/linux/virtualbox {
-      virtualbox = pkgs.virtualboxHardened;
-    };
-
-    virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions {
-      virtualbox = pkgs.virtualboxHardened;
-    };
-
-    wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
-
-    x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
-
-    xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { };
-
-    xpadneo = callPackage ../os-specific/linux/xpadneo { };
-
-    zenpower = callPackage ../os-specific/linux/zenpower { };
-
-    inherit (callPackages ../os-specific/linux/zfs {
-        configFile = "kernel";
-        inherit kernel;
-      }) zfsStable zfsUnstable;
-    zfs = zfsStable;
-
-    can-isotp = callPackage ../os-specific/linux/can-isotp { };
-  } // lib.optionalAttrs (config.allowAliases or false) {
-    # aliases or removed packages
-    ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18
-  });
-
-  # The current default kernel / kernel modules.
-  linuxPackages = linuxPackages_5_10;
-  linux = linuxPackages.kernel;
-
-  # Update this when adding the newest kernel major version!
-  # And update linux_latest_for_hardened below if the patches are already available
-  linuxPackages_latest = linuxPackages_5_14;
-  linux_latest = linuxPackages_latest.kernel;
-
-  # Realtime kernel packages.
-  linuxPackages-rt_5_4 = linuxPackagesFor pkgs.linux-rt_5_4;
-  linuxPackages-rt_5_10 = linuxPackagesFor pkgs.linux-rt_5_10;
-  linuxPackages-rt_5_11 = linuxPackagesFor pkgs.linux-rt_5_11;
-  linuxPackages-rt = linuxPackages-rt_5_4;
-  linuxPackages-rt_latest = linuxPackages-rt_5_11;
-  linux-rt = linuxPackages-rt.kernel;
-  linux-rt_latest = linuxPackages-rt_latest.kernel;
-
-  linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp;
-  linuxPackages_rpi1 = linuxPackagesFor pkgs.linux_rpi1;
-  linuxPackages_rpi2 = linuxPackagesFor pkgs.linux_rpi2;
-  linuxPackages_rpi3 = linuxPackagesFor pkgs.linux_rpi3;
-  linuxPackages_rpi4 = linuxPackagesFor pkgs.linux_rpi4;
-  # Build kernel modules for some of the kernels.
-  linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
-  linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
-  linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
-  linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
-  linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
-  linuxPackages_5_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_10);
-  linuxPackages_5_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_13);
-  linuxPackages_5_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_14);
-
-  # When adding to the list above:
-  # - Update linuxPackages_latest to the latest version
-  # - Update the rev in ../os-specific/linux/kernel/linux-libre.nix to the latest one.
-
-  # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
-  linuxPackages_testing = linuxPackagesFor pkgs.linux_testing;
-
-  linuxPackages_custom = { version, src, configfile, allowImportFromDerivation ? true }:
-    recurseIntoAttrs (linuxPackagesFor (pkgs.linuxManualConfig {
-      inherit version src configfile lib stdenv allowImportFromDerivation;
-    }));
+  linuxPackages_custom = linuxKernel.customPackage;
 
   # This serves as a test for linuxPackages_custom
   linuxPackages_custom_tinyconfig_kernel = let
     base = pkgs.linuxPackages.kernel;
-    tinyLinuxPackages = pkgs.linuxPackages_custom {
+    tinyLinuxPackages = linuxKernel.customPackage {
       inherit (base) version src;
       allowImportFromDerivation = false;
       configfile = pkgs.linuxConfig {
@@ -21771,92 +21350,62 @@ with pkgs;
     };
     in tinyLinuxPackages.kernel;
 
-  # Build a kernel with bcachefs module
-  linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs);
-
-  # Hardened Linux
-  hardenedLinuxPackagesFor = kernel: overrides:
-    linuxPackagesFor (kernel.override {
-      structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
-        inherit lib;
-        inherit (kernel) version;
-      };
-      kernelPatches = kernel.kernelPatches ++ [
-        kernelPatches.hardened.${kernel.meta.branch}
-      ];
-      modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra;
-      isHardened = true;
-  });
+  # The current default kernel / kernel modules.
+  linuxPackages = linuxKernel.packageAliases.linux_default;
+  linux = linuxPackages.kernel;
 
-  linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { });
-  linux_hardened = linuxPackages_hardened.kernel;
+  linuxPackages_latest = linuxKernel.packageAliases.linux_latest;
+  linux_latest = linuxPackages_latest.kernel;
 
-  linuxPackages_4_14_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_4_14 { });
-  linux_4_14_hardened = linuxPackages_4_14_hardened.kernel;
+  # Testing (rc) kernel
+  linuxPackages_testing = linuxKernel.packages.linux_testing;
+  linux_testing = linuxKernel.kernels.linux_testing;
 
-  linuxPackages_4_19_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_4_19 { });
-  linux_4_19_hardened = linuxPackages_4_19_hardened.kernel;
+  linuxPackages_testing_bcachefs = linuxKernel.packages.linux_testing_bcachefs;
+  linux_testing_bcachefs = linuxKernel.kernels.linux_testing_bcachefs;
 
-  linuxPackages_5_4_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_5_4 { });
-  linux_5_4_hardened = linuxPackages_5_4_hardened.kernel;
+  # kernel with mtcp support
+  linuxPackages_mptcp = linuxKernel.packageAliases.linux_mptcp;
+  linux_mptcp = linuxPackages_mptcp.kernel;
 
-  linuxPackages_5_10_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_5_10 { });
-  linux_5_10_hardened = linuxPackages_5_10_hardened.kernel;
+  # Realtime kernel
+  linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default;
+  linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest;
+  linux-rt = linuxPackages-rt.kernel;
+  linux-rt_latest = linuxPackages-rt_latest.kernel;
 
-  linuxPackages_5_13_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_5_13 { });
-  linux_5_13_hardened = linuxPackages_5_13_hardened.kernel;
+  # hardened kernels
+  linuxPackages_hardened = linuxKernel.packages.linux_hardened;
+  linux_hardened = linuxPackages_hardened.kernel;
+  linuxPackages_4_14_hardened = linuxKernel.packages.linux_4_14_hardened;
+  linux_4_14_hardened = linuxPackages_4_14_hardened.kernel;
+  linuxPackages_4_19_hardened = linuxKernel.packages.linux_4_19_hardened;
+  linux_4_19_hardened = linuxPackages_4_19_hardened.kernel;
+  linuxPackages_5_4_hardened = linuxKernel.packages.linux_5_4_hardened;
+  linux_5_4_hardened = linuxKernel.kernels.linux_5_4_hardened;
+  linuxPackages_5_10_hardened = linuxKernel.packages.linux_5_10_hardened;
+  linux_5_10_hardened = linuxKernel.kernels.linux_5_10_hardened;
+  linuxPackages_5_13_hardened = linuxKernel.packages.linux_5_13_hardened;
+  linux_5_13_hardened = linuxKernel.kernels.linux_5_13_hardened;
 
   # Hardkernel (Odroid) kernels.
-  linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14);
-  linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14;
+  linuxPackages_hardkernel_latest = linuxKernel.packageAliases.linux_hardkernel_latest;
   linux_hardkernel_latest = linuxPackages_hardkernel_latest.kernel;
 
   # GNU Linux-libre kernels
-  linuxPackages-libre = recurseIntoAttrs (linuxPackagesFor linux-libre);
-  linux-libre = callPackage ../os-specific/linux/kernel/linux-libre.nix {};
-  linuxPackages_latest-libre = recurseIntoAttrs (linuxPackagesFor linux_latest-libre);
-  linux_latest-libre = linux-libre.override { linux = linux_latest; };
+  linuxPackages-libre = linuxKernel.packages.linux_libre;
+  linux-libre = linuxPackages-libre.kernel;
+  linuxPackages_latest-libre = linuxKernel.packages.linux_latest_libre;
+  linux_latest-libre = linuxPackages_latest-libre.kernel;
 
   # zen-kernel
-  linuxPackages_zen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_zen);
-  linuxPackages_lqx = recurseIntoAttrs (linuxPackagesFor pkgs.linux_lqx);
+  linuxPackages_zen = linuxKernel.packages.linux_zen;
+  linuxPackages_lqx = linuxKernel.packages.linux_lqx;
 
   # XanMod kernel
-  linuxPackages_xanmod = recurseIntoAttrs (linuxPackagesFor pkgs.linux_xanmod);
-
-  # A function to build a manually-configured kernel
-  linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
-
-  # Derive one of the default .config files
-  linuxConfig = {
-    src,
-    version ? (builtins.parseDrvName src.name).version,
-    makeTarget ? "defconfig",
-    name ? "kernel.config",
-  }: stdenvNoCC.mkDerivation {
-    inherit name src;
-    depsBuildBuild = [ buildPackages.stdenv.cc ]
-      ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ];
-    postPatch = ''
-      patchShebangs scripts/
-    '';
-    buildPhase = ''
-      (
-      set -x
-      make \
-        ARCH=${stdenv.hostPlatform.linuxArch} \
-        HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
-        ${makeTarget}
-      )
-    '';
-    installPhase = ''
-      cp .config $out
-    '';
-  };
-
-  buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;
+  linuxPackages_xanmod = linuxKernel.packages.linux_xanmod;
 
-  cryptodev = linuxPackages_4_9.cryptodev;
+  cryptodev = linuxKernel.packages.linux_4_9.cryptodev;
 
   dpdk = callPackage ../os-specific/linux/dpdk {
     kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod
@@ -23065,6 +22614,10 @@ with pkgs;
 
   open-sans = callPackage ../data/fonts/open-sans { };
 
+  openmoji-color = callPackage ../data/fonts/openmoji { variant = "color"; };
+
+  openmoji-black = callPackage ../data/fonts/openmoji { variant = "black"; };
+
   openzone-cursors = callPackage ../data/themes/openzone { };
 
   oranchelo-icon-theme = callPackage ../data/icons/oranchelo-icon-theme { };
@@ -25847,11 +25400,7 @@ with pkgs;
 
   kubetail = callPackage ../applications/networking/cluster/kubetail { } ;
 
-  kupfer = callPackage ../applications/misc/kupfer {
-    # using python36 as there appears to be a waf issue with python37
-    # see https://github.com/NixOS/nixpkgs/issues/60498
-    python3Packages = python36Packages;
-  };
+  kupfer = callPackage ../applications/misc/kupfer { };
 
   kvirc = libsForQt514.callPackage ../applications/networking/irc/kvirc { };
 
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
new file mode 100644
index 0000000000000..99f8b5eb7da3f
--- /dev/null
+++ b/pkgs/top-level/linux-kernels.nix
@@ -0,0 +1,555 @@
+{ pkgs
+, config
+, buildPackages
+, callPackage
+, makeOverridable
+, recurseIntoAttrs
+, dontRecurseIntoAttrs
+, stdenv
+, stdenvNoCC
+, newScope
+, lib
+}:
+
+# When adding a kernel:
+  # - Update packageAliases.linux_latest to the latest version
+  # - Update the rev in ../os-specific/linux/kernel/linux-libre.nix to the latest one.
+  # - Update linux_latest_hardened when the patches become available
+
+let
+  kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
+
+  deblobKernel = kernel: callPackage ../os-specific/linux/kernel/linux-libre.nix {
+    linux = kernel;
+  };
+
+  kernels = lib.makeExtensible (self: with self;
+    let callPackage = newScope self; in {
+
+    linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix {
+      kernelPatches = linux_4_19.kernelPatches;
+    };
+
+    linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+      kernelPatches = with kernelPatches; [
+        bridge_stp_helper
+        request_key_helper
+      ];
+      rpiVersion = 1;
+    };
+
+    linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+      kernelPatches = with kernelPatches; [
+        bridge_stp_helper
+        request_key_helper
+      ];
+      rpiVersion = 2;
+    };
+
+    linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+      kernelPatches = with kernelPatches; [
+        bridge_stp_helper
+        request_key_helper
+      ];
+      rpiVersion = 3;
+    };
+
+    linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
+      kernelPatches = with kernelPatches; [
+        bridge_stp_helper
+        request_key_helper
+      ];
+      rpiVersion = 4;
+    };
+
+    linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
+      kernelPatches =
+        [ kernelPatches.bridge_stp_helper
+          kernelPatches.request_key_helper_updated
+          kernelPatches.cpu-cgroup-v2."4.4"
+          kernelPatches.modinst_arg_list_too_long
+        ];
+    };
+
+    linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix {
+      kernelPatches =
+        [ kernelPatches.bridge_stp_helper
+          kernelPatches.request_key_helper_updated
+          kernelPatches.cpu-cgroup-v2."4.9"
+          kernelPatches.modinst_arg_list_too_long
+        ];
+    };
+
+    linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
+      kernelPatches =
+        [ kernelPatches.bridge_stp_helper
+          kernelPatches.request_key_helper
+          # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+          # when adding a new linux version
+          kernelPatches.cpu-cgroup-v2."4.11"
+          kernelPatches.modinst_arg_list_too_long
+        ];
+    };
+
+    linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
+      kernelPatches =
+        [ kernelPatches.bridge_stp_helper
+          kernelPatches.request_key_helper
+          kernelPatches.modinst_arg_list_too_long
+        ];
+    };
+
+    linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.rtl8761b_support
+      ];
+    };
+
+    linux_rt_5_4 = callPackage ../os-specific/linux/kernel/linux-rt-5.4.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_5_10 = callPackage ../os-specific/linux/kernel/linux-5.10.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.export-rt-sched-migrate
+      ];
+    };
+
+    linux_rt_5_11 = callPackage ../os-specific/linux/kernel/linux-rt-5.11.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.export-rt-sched-migrate
+      ];
+    };
+
+    linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_5_14 = callPackage ../os-specific/linux/kernel/linux-5.14.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec {
+      kernel = linux_5_13;
+      kernelPatches = kernel.kernelPatches;
+   };
+
+    linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.modinst_arg_list_too_long
+      ];
+    };
+
+    linux_zen = callPackage ../os-specific/linux/kernel/linux-zen.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+      ];
+    };
+
+    linux_libre = deblobKernel packageAliases.linux_default.kernel;
+
+    linux_latest_libre = deblobKernel packageAliases.linux_latest.kernel;
+
+    linux_hardened = hardenedKernelFor packageAliases.linux_default.kernel { };
+
+    linux_4_14_hardened = hardenedKernelFor kernels.linux_4_14 { };
+    linux_4_19_hardened = hardenedKernelFor kernels.linux_4_19 { };
+    linux_5_4_hardened = hardenedKernelFor kernels.linux_5_4 { };
+    linux_5_10_hardened = hardenedKernelFor kernels.linux_5_10 { };
+    linux_5_13_hardened = hardenedKernelFor kernels.linux_5_13 { };
+
+  });
+  /*  Linux kernel modules are inherently tied to a specific kernel.  So
+    rather than provide specific instances of those packages for a
+    specific kernel, we have a function that builds those packages
+    for a specific kernel.  This function can then be called for
+    whatever kernel you're using. */
+
+  packagesFor = kernel_: lib.makeExtensible (self: with self;
+    let callPackage = newScope self; in {
+    inherit callPackage;
+    kernel = kernel_;
+    inherit (kernel) stdenv; # in particular, use the same compiler by default
+
+    # to help determine module compatibility
+    inherit (kernel) isZen isHardened isLibre;
+    inherit (kernel) kernelOlder kernelAtLeast;
+    # Obsolete aliases (these packages do not depend on the kernel).
+    inherit (pkgs) odp-dpdk pktgen; # added 2018-05
+
+    acpi_call = callPackage ../os-specific/linux/acpi-call {};
+
+    akvcam = callPackage ../os-specific/linux/akvcam { };
+
+    amdgpu-pro = callPackage ../os-specific/linux/amdgpu-pro { };
+
+    anbox = callPackage ../os-specific/linux/anbox/kmod.nix { };
+
+    apfs = callPackage ../os-specific/linux/apfs { };
+
+    batman_adv = callPackage ../os-specific/linux/batman-adv {};
+
+    bcc = callPackage ../os-specific/linux/bcc {
+      python = pkgs.python3;
+    };
+
+    bpftrace = callPackage ../os-specific/linux/bpftrace { };
+
+    bbswitch = callPackage ../os-specific/linux/bbswitch {};
+
+    chipsec = callPackage ../tools/security/chipsec {
+      inherit kernel;
+      withDriver = true;
+    };
+
+    cryptodev = callPackage ../os-specific/linux/cryptodev { };
+
+    cpupower = callPackage ../os-specific/linux/cpupower { };
+
+    ddcci-driver = callPackage ../os-specific/linux/ddcci { };
+
+    digimend = callPackage ../os-specific/linux/digimend { };
+
+    dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
+
+    exfat-nofuse = callPackage ../os-specific/linux/exfat { };
+
+    evdi = callPackage ../os-specific/linux/evdi { };
+
+    fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { };
+
+    gcadapter-oc-kmod = callPackage ../os-specific/linux/gcadapter-oc-kmod { };
+    hid-nintendo = callPackage ../os-specific/linux/hid-nintendo { };
+
+    hyperv-daemons = callPackage ../os-specific/linux/hyperv-daemons { };
+
+    e1000e = if lib.versionOlder kernel.version "4.10" then  callPackage ../os-specific/linux/e1000e {} else null;
+
+    intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
+
+    ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
+
+    it87 = callPackage ../os-specific/linux/it87 {};
+
+    asus-wmi-sensors = callPackage ../os-specific/linux/asus-wmi-sensors {};
+
+    ena = callPackage ../os-specific/linux/ena {};
+
+    v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
+
+    lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
+
+    broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { };
+
+    tbs = callPackage ../os-specific/linux/tbs { };
+
+    mbp2018-bridge-drv = callPackage ../os-specific/linux/mbp-modules/mbp2018-bridge-drv { };
+
+    nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
+
+    nvidiaPackages = dontRecurseIntoAttrs (callPackage ../os-specific/linux/nvidia-x11 { });
+
+    nvidia_x11_legacy340   = nvidiaPackages.legacy_340;
+    nvidia_x11_legacy390   = nvidiaPackages.legacy_390;
+    nvidia_x11_beta        = nvidiaPackages.beta;
+    nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
+    nvidia_x11             = nvidiaPackages.stable;
+
+    openrazer = callPackage ../os-specific/linux/openrazer/driver.nix { };
+
+    ply = callPackage ../os-specific/linux/ply { };
+
+    r8125 = callPackage ../os-specific/linux/r8125 { };
+
+    r8168 = callPackage ../os-specific/linux/r8168 { };
+
+    rtl8188eus-aircrack = callPackage ../os-specific/linux/rtl8188eus-aircrack { };
+
+    rtl8192eu = callPackage ../os-specific/linux/rtl8192eu { };
+
+    rtl8723bs = callPackage ../os-specific/linux/rtl8723bs { };
+
+    rtl8812au = callPackage ../os-specific/linux/rtl8812au { };
+
+    rtl8814au = callPackage ../os-specific/linux/rtl8814au { };
+
+    rtl88xxau-aircrack = callPackage ../os-specific/linux/rtl88xxau-aircrack {};
+
+    rtl8821au = callPackage ../os-specific/linux/rtl8821au { };
+
+    rtl8821ce = callPackage ../os-specific/linux/rtl8821ce { };
+
+    rtl88x2bu = callPackage ../os-specific/linux/rtl88x2bu { };
+
+    rtl8821cu = callPackage ../os-specific/linux/rtl8821cu { };
+
+    rtw88 = callPackage ../os-specific/linux/rtw88 { };
+    rtlwifi_new = rtw88;
+
+    rtw89 = callPackage ../os-specific/linux/rtw89 { };
+
+    openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
+    openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { };
+    # Current stable release; don't backport release updates!
+    openafs = openafs_1_8;
+
+    facetimehd = callPackage ../os-specific/linux/facetimehd { };
+
+    tuxedo-keyboard = if lib.versionAtLeast kernel.version "4.14" then callPackage ../os-specific/linux/tuxedo-keyboard { } else null;
+
+    jool = callPackage ../os-specific/linux/jool { };
+
+    kvmfr = callPackage ../os-specific/linux/kvmfr { };
+
+    mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { };
+
+    mwprocapture = callPackage ../os-specific/linux/mwprocapture { };
+
+    mxu11x0 = callPackage ../os-specific/linux/mxu11x0 { };
+
+    # compiles but has to be integrated into the kernel somehow
+    # Let's have it uncommented and finish it..
+    ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
+
+    netatop = callPackage ../os-specific/linux/netatop { };
+
+    oci-seccomp-bpf-hook = if lib.versionAtLeast kernel.version "5.4" then callPackage ../os-specific/linux/oci-seccomp-bpf-hook { } else null;
+
+    perf = if lib.versionAtLeast kernel.version "3.12" then callPackage ../os-specific/linux/kernel/perf.nix { } else null;
+
+    phc-intel = if lib.versionAtLeast kernel.version "4.10" then callPackage ../os-specific/linux/phc-intel { } else null;
+
+    # Disable for kernels 4.15 and above due to compatibility issues
+    prl-tools = if lib.versionOlder kernel.version "4.15" then callPackage ../os-specific/linux/prl-tools { } else null;
+
+    sch_cake = callPackage ../os-specific/linux/sch_cake { };
+
+    isgx = callPackage ../os-specific/linux/isgx { };
+
+    sysdig = callPackage ../os-specific/linux/sysdig {};
+
+    systemtap = callPackage ../development/tools/profiling/systemtap { };
+
+    system76 = callPackage ../os-specific/linux/system76 { };
+
+    system76-acpi = callPackage ../os-specific/linux/system76-acpi { };
+
+    system76-power = callPackage ../os-specific/linux/system76-power { };
+
+    system76-io = callPackage ../os-specific/linux/system76-io { };
+
+    tmon = callPackage ../os-specific/linux/tmon { };
+
+    tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
+
+    turbostat = callPackage ../os-specific/linux/turbostat { };
+
+    usbip = callPackage ../os-specific/linux/usbip { };
+
+    v86d = callPackage ../os-specific/linux/v86d { };
+
+    veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { };
+    vendor-reset = callPackage ../os-specific/linux/vendor-reset { };
+
+    vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
+
+    virtualbox = callPackage ../os-specific/linux/virtualbox {
+      virtualbox = pkgs.virtualboxHardened;
+    };
+
+    virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions {
+      virtualbox = pkgs.virtualboxHardened;
+    };
+
+    wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
+
+    x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
+
+    xmm7360-pci = callPackage ../os-specific/linux/xmm7360-pci { };
+
+    xpadneo = callPackage ../os-specific/linux/xpadneo { };
+
+    zenpower = callPackage ../os-specific/linux/zenpower { };
+
+    inherit (callPackage ../os-specific/linux/zfs {
+        configFile = "kernel";
+        inherit pkgs kernel;
+      }) zfsStable zfsUnstable;
+    zfs = zfsStable;
+
+    can-isotp = callPackage ../os-specific/linux/can-isotp { };
+
+  } // lib.optionalAttrs (config.allowAliases or false) {
+    ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18;
+  });
+
+  # Hardened Linux
+  hardenedKernelFor = kernel': overrides:
+    let kernel = kernel'.override overrides;
+    in kernel.override {
+      structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
+        inherit lib;
+        inherit (kernel) version;
+      };
+      kernelPatches = kernel.kernelPatches ++ [
+        kernelPatches.hardened.${kernel.meta.branch}
+      ];
+      modDirVersionArg = kernel.modDirVersion + (kernelPatches.hardened.${kernel.meta.branch}).extra;
+      isHardened = true;
+  };
+  hardenedPackagesFor = kernel: overrides: packagesFor (hardenedKernelFor kernel overrides);
+
+  vanillaPackages = {
+    # recurse to build modules for the kernels
+    linux_4_4 = recurseIntoAttrs (packagesFor kernels.linux_4_4);
+    linux_4_9 = recurseIntoAttrs (packagesFor kernels.linux_4_9);
+    linux_4_14 = recurseIntoAttrs (packagesFor kernels.linux_4_14);
+    linux_4_19 = recurseIntoAttrs (packagesFor kernels.linux_4_19);
+    linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
+    linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
+    linux_5_13 = recurseIntoAttrs (packagesFor kernels.linux_5_13);
+    linux_5_14 = recurseIntoAttrs (packagesFor kernels.linux_5_14);
+  };
+
+  rtPackages = {
+     # realtime kernel packages
+     linux_rt_5_4 = packagesFor kernels.linux_rt_5_4;
+     linux_rt_5_10 = packagesFor kernels.linux_rt_5_10;
+     linux_rt_5_11 = packagesFor kernels.linux_rt_5_11;
+  };
+
+  rpiPackages = {
+    linux_rpi1 = packagesFor kernels.linux_rpi1;
+    linux_rpi2 = packagesFor kernels.linux_rpi2;
+    linux_rpi3 = packagesFor kernels.linux_rpi3;
+    linux_rpi4 = packagesFor kernels.linux_rpi4;
+  };
+
+  packages = vanillaPackages // rtPackages // rpiPackages // {
+    linux_mptcp_95 = packagesFor kernels.linux_mptcp_95;
+
+    # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
+    linux_testing = packagesFor kernels.linux_testing;
+    linux_testing_bcachefs = recurseIntoAttrs (packagesFor kernels.linux_testing_bcachefs);
+
+    linux_hardened = recurseIntoAttrs (hardenedPackagesFor packageAliases.linux_default.kernel { });
+
+    linux_4_14_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_14 { });
+    linux_4_19_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_19 { });
+    linux_5_4_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_4 { });
+    linux_5_10_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_10 { });
+    linux_5_13_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_13 { });
+
+    linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
+    linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
+    linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod);
+
+    hardkernel_4_14 = recurseIntoAttrs (packagesFor kernels.linux_hardkernel_4_14);
+
+    linux_libre = recurseIntoAttrs (packagesFor kernels.linux_libre);
+
+    linux_latest_libre = recurseIntoAttrs (packagesFor kernels.linux_latest_libre);
+  };
+
+  packageAliases = {
+    linux_default = packages.linux_5_10;
+    # Update this when adding the newest kernel major version!
+    linux_latest = packages.linux_5_14;
+    linux_mptcp = packages.linux_mptcp_95;
+    linux_rt_default = packages.linux_rt_5_4;
+    linux_rt_latest = packages.linux_rt_5_11;
+    linux_hardkernel_latest = packages.hardkernel_4_14;
+  };
+
+  manualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
+
+in
+
+{
+  packages = recurseIntoAttrs packages;
+  kernels = recurseIntoAttrs kernels;
+  inherit packageAliases;
+  inherit vanillaPackages rtPackages rpiPackages;
+  inherit kernelPatches packagesFor hardenedPackagesFor;
+
+  customPackage = { version, src, configfile, allowImportFromDerivation ? true }:
+    recurseIntoAttrs (packagesFor (manualConfig {
+      inherit version src configfile lib stdenv allowImportFromDerivation;
+    }));
+
+  inherit manualConfig;
+
+  # Derive one of the default .config files
+  linuxConfig = {
+    src,
+    version ? (builtins.parseDrvName src.name).version,
+    makeTarget ? "defconfig",
+    name ? "kernel.config",
+  }: stdenvNoCC.mkDerivation {
+    inherit name src;
+    depsBuildBuild = [ buildPackages.stdenv.cc ]
+      ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ];
+    postPatch = ''
+      patchShebangs scripts/
+    '';
+    buildPhase = ''
+      set -x
+      make \
+        ARCH=${stdenv.hostPlatform.linuxArch} \
+        HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
+        ${makeTarget}
+    '';
+    installPhase = ''
+      cp .config $out
+    '';
+  };
+
+  buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;
+
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index cce7d2dab0f9f..71f17acdca412 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -567,6 +567,8 @@ in {
 
   asgiref = callPackage ../development/python-modules/asgiref { };
 
+  asn1 = callPackage ../development/python-modules/asn1 { };
+
   asn1ate = callPackage ../development/python-modules/asn1ate { };
 
   asn1crypto = callPackage ../development/python-modules/asn1crypto { };
@@ -625,9 +627,7 @@ in {
 
   async-timeout = callPackage ../development/python-modules/async_timeout { };
 
-  async-upnp-client = callPackage ../development/python-modules/async-upnp-client {
-    pytestCheckHook = self.pytestCheckHook_6_1;
-  };
+  async-upnp-client = callPackage ../development/python-modules/async-upnp-client { };
 
   asyncwhois = callPackage ../development/python-modules/asyncwhois { };
 
@@ -1425,6 +1425,8 @@ in {
 
   chardet = callPackage ../development/python-modules/chardet { };
 
+  charset-normalizer = callPackage ../development/python-modules/charset-normalizer { };
+
   chart-studio = callPackage ../development/python-modules/chart-studio { };
 
   check-manifest = callPackage ../development/python-modules/check-manifest { };
@@ -1860,6 +1862,8 @@ in {
 
   dateparser = callPackage ../development/python-modules/dateparser { };
 
+  dateutils = callPackage ../development/python-modules/dateutils { };
+
   datrie = callPackage ../development/python-modules/datrie { };
 
   dawg-python = callPackage ../development/python-modules/dawg-python { };
@@ -4280,8 +4284,9 @@ in {
   };
 
   llvmlite = callPackage ../development/python-modules/llvmlite {
-    llvm = pkgs.llvm_9;
-  }; # llvmlite always requires a specific version of llvm.
+    # llvmlite always requires a specific version of llvm.
+    llvm = pkgs.llvm_11;
+  };
 
   lmdb = callPackage ../development/python-modules/lmdb {
     inherit (pkgs) lmdb;
@@ -6928,6 +6933,11 @@ in {
       inherit version;
       sha256 = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e";
     };
+
+    postPatch = ''
+      substituteInPlace setup.cfg \
+        --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0"
+    '';
   });
 
   pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { };
@@ -7381,7 +7391,9 @@ in {
 
   python-xmp-toolkit = callPackage ../development/python-modules/python-xmp-toolkit { };
 
-  pythran = callPackage ../development/python-modules/pythran { };
+  pythran = callPackage ../development/python-modules/pythran {
+    inherit (pkgs.llvmPackages) openmp;
+  };
 
   pyeverlights = callPackage ../development/python-modules/pyeverlights { };
 
@@ -9012,9 +9024,7 @@ in {
 
   trimesh = callPackage ../development/python-modules/trimesh { };
 
-  trio = callPackage ../development/python-modules/trio {
-    pytestCheckHook = self.pytestCheckHook_6_1;
-  };
+  trio = callPackage ../development/python-modules/trio { };
 
   trueskill = callPackage ../development/python-modules/trueskill { };
 
@@ -9234,9 +9244,7 @@ in {
 
   urlgrabber = callPackage ../development/python-modules/urlgrabber { };
 
-  urllib3 = callPackage ../development/python-modules/urllib3 {
-    pytestCheckHook = self.pytestCheckHook_6_1;
-  };
+  urllib3 = callPackage ../development/python-modules/urllib3 { };
 
   urlpy = callPackage ../development/python-modules/urlpy { };
 
@@ -9393,7 +9401,8 @@ in {
 
   wasm = callPackage ../development/python-modules/wasm { };
 
-  wasmer = callPackage ../development/python-modules/wasmer { };
+  wasmerPackages = pkgs.recurseIntoAttrs (callPackage ../development/python-modules/wasmer { });
+  inherit (self.wasmerPackages) wasmer wasmer-compiler-cranelift wasmer-compiler-llvm wasmer-compiler-singlepass;
 
   watchdog = callPackage ../development/python-modules/watchdog {
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
@@ -9453,9 +9462,7 @@ in {
 
   webthing = callPackage ../development/python-modules/webthing { };
 
-  werkzeug = callPackage ../development/python-modules/werkzeug {
-    pytestCheckHook = self.pytestCheckHook_6_1;
-  };
+  werkzeug = callPackage ../development/python-modules/werkzeug { };
 
   west = callPackage ../development/python-modules/west { };
 
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index caa44e5947e15..57e6987e67038 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -70,6 +70,8 @@ with self; with super; {
 
   construct = callPackage ../development/python-modules/construct/2.10.54.nix { };
 
+  contextlib2 = callPackage ../development/python-modules/contextlib2/0.nix { };
+
   convertdate = callPackage ../development/python-modules/convertdate/2.2.x.nix { };
 
   cryptography = callPackage ../development/python-modules/cryptography/3.3.nix { };
@@ -80,6 +82,8 @@ with self; with super; {
 
   dateparser = callPackage ../development/python-modules/dateparser/0.x.nix { };
 
+  decorator = callPackage ../development/python-modules/decorator/4.nix { };
+
   deskcon = callPackage ../development/python-modules/deskcon { };
 
   django_evolution = callPackage ../development/python-modules/django_evolution { };
@@ -393,6 +397,8 @@ with self; with super; {
 
   pip = callPackage ../development/python-modules/pip/20.nix { };
 
+  pluggy = callPackage ../development/python-modules/pluggy/0.nix { };
+
   postorius = disabled super.postorius;
 
   praw = callPackage ../development/python-modules/praw/6.3.nix { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 84c4d8fc40591..a990c5ed70cb9 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -235,7 +235,6 @@ let
       overlays = [ (self': super': {
         pkgsStatic = super';
       })] ++ overlays;
-      crossOverlays = [ (import ./static.nix) ];
     } // lib.optionalAttrs stdenv.hostPlatform.isLinux {
       crossSystem = {
         isStatic = true;
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
deleted file mode 100644
index 449f825be0b67..0000000000000
--- a/pkgs/top-level/static.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-# Overlay that builds static packages.
-
-# Not all packages will build but support is done on a
-# best effort basic.
-#
-# Note on Darwin/macOS: Apple does not provide a static libc
-# so any attempts at static binaries are going to be very
-# unsupported.
-#
-# Basic things like pkgsStatic.hello should work out of the box. More
-# complicated things will need to be fixed with overrides.
-
-self: super: let
-  inherit (super.stdenvAdapters) makeStaticBinaries
-                                 makeStaticLibraries
-                                 propagateBuildInputs;
-  inherit (super.lib) foldl optional flip id composeExtensions optionalAttrs optionalString;
-  inherit (super) makeSetupHook;
-
-  # Best effort static binaries. Will still be linked to libSystem,
-  # but more portable than Nix store binaries.
-  makeStaticDarwin = stdenv_: let stdenv = stdenv_.override {
-    # extraBuildInputs are dropped in cross.nix, but darwin still needs them
-    extraBuildInputs = [ self.buildPackages.darwin.CF ];
-  }; in stdenv // {
-    mkDerivation = args: stdenv.mkDerivation (args // {
-      NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "")
-                      + optionalString (stdenv_.cc.isGNU or false) " -static-libgcc";
-      nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ (makeSetupHook {
-        substitutions = {
-          libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib";
-        };
-      } ../stdenv/darwin/portable-libsystem.sh) ];
-    });
-  };
-
-  staticAdapters =
-    optional super.stdenv.hostPlatform.isDarwin makeStaticDarwin
-
-    ++ [ makeStaticLibraries propagateBuildInputs ]
-
-    # Apple does not provide a static version of libSystem or crt0.o
-    # So we can’t build static binaries without extensive hacks.
-    ++ optional (!super.stdenv.hostPlatform.isDarwin) makeStaticBinaries
-
-    # Glibc doesn’t come with static runtimes by default.
-    # ++ optional (super.stdenv.hostPlatform.libc == "glibc") ((flip overrideInStdenv) [ self.stdenv.glibc.static ])
-  ;
-
-  ocamlFixPackage = b:
-    b.overrideAttrs (o: {
-      configurePlatforms = [ ];
-      dontAddStaticConfigureFlags = true;
-      buildInputs = o.buildInputs ++ o.nativeBuildInputs or [ ];
-      propagatedNativeBuildInputs = o.propagatedBuildInputs or [ ];
-    });
-
-  ocamlStaticAdapter = _: super:
-    self.lib.mapAttrs
-      (_: p: if p ? overrideAttrs then ocamlFixPackage p else p)
-      super
-    // {
-      lablgtk = null; # Currently xlibs cause infinite recursion
-      ocaml = ((super.ocaml.override { useX11 = false; }).overrideAttrs (o: {
-        configurePlatforms = [ ];
-        dontUpdateAutotoolsGnuConfigScripts = true;
-      })).overrideDerivation (o: {
-        preConfigure = ''
-          configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
-        '';
-        dontAddStaticConfigureFlags = true;
-        configureFlags = [
-          "--no-shared-libs"
-          "-host ${o.stdenv.hostPlatform.config}"
-          "-target ${o.stdenv.targetPlatform.config}"
-        ];
-      });
-    };
-
-in {
-  stdenv = foldl (flip id) super.stdenv staticAdapters;
-
-  boost = super.boost.override {
-    # Don’t use new stdenv for boost because it doesn’t like the
-    # --disable-shared flag
-    stdenv = super.stdenv;
-  };
-
-  curl = super.curl.override {
-    # brotli doesn't build static (Mar. 2021)
-    brotliSupport = false;
-    # disable gss becuase of: undefined reference to `k5_bcmp'
-    gssSupport = false;
-  };
-
-  liblinear = super.liblinear.override {
-    # Don’t use new stdenv zlib because
-    # it doesn’t like the --disable-shared flag
-    stdenv = super.stdenv;
-  };
-
-  ocaml-ng = self.lib.mapAttrs (_: set:
-    if set ? overrideScope' then set.overrideScope' ocamlStaticAdapter else set
-  ) super.ocaml-ng;
-
-  perl = super.perl.override {
-    # Don’t use new stdenv zlib because
-    # it doesn’t like the --disable-shared flag
-    stdenv = super.stdenv;
-  };
-
-  zlib = super.zlib.override {
-    # Don’t use new stdenv zlib because
-    # it doesn’t like the --disable-shared flag
-    stdenv = super.stdenv;
-  };
-}