summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/python.section.md1
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix4
-rw-r--r--nixos/tests/installer.nix10
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/finance/odoo/default.nix5
-rw-r--r--pkgs/applications/science/electronics/flatcam/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/video/corrscope/default.nix26
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix5
-rw-r--r--pkgs/build-support/pkg-config-wrapper/default.nix3
-rw-r--r--pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh4
-rw-r--r--pkgs/build-support/setup-hooks/separate-debug-info.sh14
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix5
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/9/avoid-cycling-subreg-reloads.patch261
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix16
-rw-r--r--pkgs/development/compilers/go/1.16.nix4
-rw-r--r--pkgs/development/compilers/gwt/2.4.0.nix7
-rw-r--r--pkgs/development/compilers/llvm/11/libcxxabi/default.nix7
-rw-r--r--pkgs/development/compilers/llvm/12/libcxxabi/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/13/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/13/libcxx/default.nix37
-rw-r--r--pkgs/development/compilers/llvm/13/libcxxabi/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch10
-rw-r--r--pkgs/development/compilers/llvm/5/compiler-rt/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/git/libcxx/default.nix34
-rw-r--r--pkgs/development/compilers/llvm/git/libcxxabi/default.nix5
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix9
-rw-r--r--pkgs/development/compilers/rust/1_57.nix (renamed from pkgs/development/compilers/rust/1_56.nix)30
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/compilers/yasm/default.nix4
-rw-r--r--pkgs/development/haskell-modules/lib/compose.nix6
-rw-r--r--pkgs/development/interpreters/love/0.7.nix6
-rw-r--r--pkgs/development/interpreters/love/0.9.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.11/no-ldconfig.patch107
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-html.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-text.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-html.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-text.nix8
-rw-r--r--pkgs/development/interpreters/python/default.nix18
-rw-r--r--pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh11
-rw-r--r--pkgs/development/libraries/aalib/default.nix7
-rw-r--r--pkgs/development/libraries/acl/default.nix5
-rw-r--r--pkgs/development/libraries/aubio/default.nix5
-rw-r--r--pkgs/development/libraries/audiofile/default.nix5
-rw-r--r--pkgs/development/libraries/beecrypt/default.nix8
-rw-r--r--pkgs/development/libraries/boost-process/default.nix11
-rw-r--r--pkgs/development/libraries/boost/1.55.nix4
-rw-r--r--pkgs/development/libraries/boost/1.59.nix4
-rw-r--r--pkgs/development/libraries/boost/1.60.nix4
-rw-r--r--pkgs/development/libraries/boost/1.65.nix4
-rw-r--r--pkgs/development/libraries/boost/1.66.nix4
-rw-r--r--pkgs/development/libraries/boost/1.68.nix4
-rw-r--r--pkgs/development/libraries/boost/1.69.nix4
-rw-r--r--pkgs/development/libraries/boost/1.70.nix4
-rw-r--r--pkgs/development/libraries/boost/1.72.nix5
-rw-r--r--pkgs/development/libraries/boost/1.73.nix5
-rw-r--r--pkgs/development/libraries/boost/1.74.nix4
-rw-r--r--pkgs/development/libraries/boost/1.75.nix4
-rw-r--r--pkgs/development/libraries/boost/1.77.nix15
-rw-r--r--pkgs/development/libraries/boost/default.nix1
-rw-r--r--pkgs/development/libraries/ccrtp/default.nix5
-rw-r--r--pkgs/development/libraries/clearsilver/default.nix5
-rw-r--r--pkgs/development/libraries/cloog/0.18.0.nix5
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix5
-rw-r--r--pkgs/development/libraries/clucene-core/default.nix5
-rw-r--r--pkgs/development/libraries/cminpack/default.nix5
-rw-r--r--pkgs/development/libraries/cpptest/default.nix5
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix5
-rw-r--r--pkgs/development/libraries/dbus/default.nix21
-rw-r--r--pkgs/development/libraries/dclib/default.nix7
-rw-r--r--pkgs/development/libraries/dclxvi/default.nix3
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix9
-rw-r--r--pkgs/development/libraries/freealut/default.nix5
-rw-r--r--pkgs/development/libraries/gamin/default.nix20
-rw-r--r--pkgs/development/libraries/gd/default.nix13
-rw-r--r--pkgs/development/libraries/giblib/default.nix5
-rw-r--r--pkgs/development/libraries/giflib/4.1.nix7
-rw-r--r--pkgs/development/libraries/giflib/default.nix5
-rw-r--r--pkgs/development/libraries/gle/default.nix9
-rw-r--r--pkgs/development/libraries/glew/1.10.nix5
-rw-r--r--pkgs/development/libraries/glfw/2.x.nix5
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/2.33-master.patch.gzbin63411 -> 65714 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
-rw-r--r--pkgs/development/libraries/gnutls/default.nix11
-rw-r--r--pkgs/development/libraries/grantlee/default.nix7
-rw-r--r--pkgs/development/libraries/gsl/default.nix4
-rw-r--r--pkgs/development/libraries/gsl/gsl-1_16.nix5
-rw-r--r--pkgs/development/libraries/gss/default.nix2
-rw-r--r--pkgs/development/libraries/gtk-engine-bluecurve/default.nix7
-rw-r--r--pkgs/development/libraries/gtk-engines/default.nix7
-rw-r--r--pkgs/development/libraries/gupnp/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hotpatch/default.nix3
-rw-r--r--pkgs/development/libraries/java/commons/bsf/default.nix7
-rw-r--r--pkgs/development/libraries/java/commons/logging/default.nix7
-rw-r--r--pkgs/development/libraries/java/dbus-java/default.nix17
-rw-r--r--pkgs/development/libraries/java/geoipjava/default.nix8
-rw-r--r--pkgs/development/libraries/java/jflex/default.nix7
-rw-r--r--pkgs/development/libraries/java/libmatthew-java/default.nix8
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix5
-rw-r--r--pkgs/development/libraries/java/mockobjects/default.nix9
-rw-r--r--pkgs/development/libraries/java/smack/default.nix9
-rw-r--r--pkgs/development/libraries/lib3ds/default.nix5
-rw-r--r--pkgs/development/libraries/libLAS/default.nix5
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix8
-rw-r--r--pkgs/development/libraries/libcdio-paranoia/default.nix7
-rw-r--r--pkgs/development/libraries/libcdio/default.nix5
-rw-r--r--pkgs/development/libraries/libchop/default.nix5
-rw-r--r--pkgs/development/libraries/libdbi-drivers/default.nix5
-rw-r--r--pkgs/development/libraries/libdnet/default.nix7
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libdv/default.nix5
-rw-r--r--pkgs/development/libraries/libdvdnav/4.2.1.nix7
-rw-r--r--pkgs/development/libraries/libdvdread/4.9.9.nix7
-rw-r--r--pkgs/development/libraries/libdwg/default.nix7
-rw-r--r--pkgs/development/libraries/libee/default.nix7
-rw-r--r--pkgs/development/libraries/libepoxy/default.nix55
-rw-r--r--pkgs/development/libraries/libexif/default.nix4
-rw-r--r--pkgs/development/libraries/libfabric/default.nix4
-rw-r--r--pkgs/development/libraries/libfido2/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix5
-rw-r--r--pkgs/development/libraries/libgpod/default.nix5
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--pkgs/development/libraries/libjxl/default.nix14
-rw-r--r--pkgs/development/libraries/liblogging/default.nix5
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix5
-rw-r--r--pkgs/development/libraries/libmd/default.nix4
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix6
-rw-r--r--pkgs/development/libraries/libmms/default.nix5
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix5
-rw-r--r--pkgs/development/libraries/libndp/default.nix5
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix5
-rw-r--r--pkgs/development/libraries/libnxml/default.nix7
-rw-r--r--pkgs/development/libraries/liboil/default.nix5
-rw-r--r--pkgs/development/libraries/liboop/default.nix3
-rw-r--r--pkgs/development/libraries/libotr/default.nix5
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix5
-rw-r--r--pkgs/development/libraries/libpng/12.nix5
-rw-r--r--pkgs/development/libraries/libpseudo/default.nix5
-rw-r--r--pkgs/development/libraries/librdf/raptor.nix5
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix5
-rw-r--r--pkgs/development/libraries/librdf/redland.nix5
-rw-r--r--pkgs/development/libraries/libroxml/default.nix9
-rw-r--r--pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--pkgs/development/libraries/libsigcxx/1.2.nix5
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix5
-rw-r--r--pkgs/development/libraries/libsoup/3.x.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libstemmer/default.nix3
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix5
-rw-r--r--pkgs/development/libraries/libtiff/default.nix21
-rw-r--r--pkgs/development/libraries/libtiff/rename-version.patch20
-rw-r--r--pkgs/development/libraries/libtiger/default.nix5
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api.nix3
-rw-r--r--pkgs/development/libraries/libunwind/backtrace-only-with-glibc.patch45
-rw-r--r--pkgs/development/libraries/libunwind/default.nix18
-rw-r--r--pkgs/development/libraries/libviper/default.nix5
-rw-r--r--pkgs/development/libraries/libwebp/default.nix6
-rw-r--r--pkgs/development/libraries/libwpd/0.8.nix5
-rw-r--r--pkgs/development/libraries/libwpd/default.nix5
-rw-r--r--pkgs/development/libraries/libxdg-basedir/default.nix6
-rw-r--r--pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix5
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix10
-rw-r--r--pkgs/development/libraries/luabind/default.nix2
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix10
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mythes/default.nix5
-rw-r--r--pkgs/development/libraries/neardal/default.nix3
-rw-r--r--pkgs/development/libraries/npth/default.nix5
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix7
-rw-r--r--pkgs/development/libraries/opendbx/default.nix5
-rw-r--r--pkgs/development/libraries/openslp/default.nix7
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pangomm/default.nix4
-rw-r--r--pkgs/development/libraries/pangoxsl/default.nix8
-rw-r--r--pkgs/development/libraries/pcre/default.nix19
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix5
-rw-r--r--pkgs/development/libraries/portaudio/default.nix6
-rw-r--r--pkgs/development/libraries/pth/default.nix5
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix2
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/default.nix8
-rw-r--r--pkgs/development/libraries/qwt/6.nix7
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix7
-rw-r--r--pkgs/development/libraries/rabbitmq-java-client/default.nix7
-rw-r--r--pkgs/development/libraries/readline/5.x.nix7
-rw-r--r--pkgs/development/libraries/readline/6.2.nix7
-rw-r--r--pkgs/development/libraries/readline/6.3.nix3
-rw-r--r--pkgs/development/libraries/resolv_wrapper/default.nix5
-rw-r--r--pkgs/development/libraries/rlog/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix4
-rw-r--r--pkgs/development/libraries/shapelib/default.nix5
-rw-r--r--pkgs/development/libraries/shhmsg/default.nix5
-rw-r--r--pkgs/development/libraries/sparsehash/default.nix5
-rw-r--r--pkgs/development/libraries/speex/default.nix5
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix5
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/libraries/wayland/default.nix4
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/python-modules/Mako/default.nix4
-rw-r--r--pkgs/development/python-modules/Markups/default.nix4
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--pkgs/development/python-modules/adjusttext/default.nix23
-rw-r--r--pkgs/development/python-modules/afdko/default.nix58
-rw-r--r--pkgs/development/python-modules/afdko/no-pypi-build-tools.patch24
-rw-r--r--pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch43
-rw-r--r--pkgs/development/python-modules/aiofiles/default.nix8
-rw-r--r--pkgs/development/python-modules/aiohttp-wsgi/default.nix1
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix4
-rw-r--r--pkgs/development/python-modules/aiopvapi/default.nix21
-rw-r--r--pkgs/development/python-modules/amazon_kclpy/default.nix4
-rw-r--r--pkgs/development/python-modules/amqtt/default.nix3
-rw-r--r--pkgs/development/python-modules/androguard/default.nix11
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/apsw/default.nix39
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/ase/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix23
-rw-r--r--pkgs/development/python-modules/async_stagger/default.nix11
-rw-r--r--pkgs/development/python-modules/asyncio-nats-client/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--pkgs/development/python-modules/atom/default.nix4
-rw-r--r--pkgs/development/python-modules/authcaptureproxy/default.nix4
-rw-r--r--pkgs/development/python-modules/avro/default.nix46
-rw-r--r--pkgs/development/python-modules/azure-keyvault/default.nix5
-rw-r--r--pkgs/development/python-modules/bitstruct/default.nix4
-rw-r--r--pkgs/development/python-modules/black/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/bpython/default.nix4
-rw-r--r--pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix4
-rw-r--r--pkgs/development/python-modules/bumps/default.nix4
-rw-r--r--pkgs/development/python-modules/castepxbin/default.nix4
-rw-r--r--pkgs/development/python-modules/celery/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/default.nix29
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix9
-rw-r--r--pkgs/development/python-modules/charset-normalizer/default.nix4
-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.nix4
-rw-r--r--pkgs/development/python-modules/cocotb/default.nix4
-rw-r--r--pkgs/development/python-modules/cogapp/default.nix4
-rw-r--r--pkgs/development/python-modules/configparser/default.nix4
-rw-r--r--pkgs/development/python-modules/construct/2.10.54.nix16
-rw-r--r--pkgs/development/python-modules/construct/default.nix6
-rw-r--r--pkgs/development/python-modules/crccheck/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix4
-rw-r--r--pkgs/development/python-modules/curtsies/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_oracle/default.nix4
-rw-r--r--pkgs/development/python-modules/cycler/default.nix4
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix16
-rw-r--r--pkgs/development/python-modules/dask-ml/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-mpi/default.nix4
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix8
-rw-r--r--pkgs/development/python-modules/datashader/default.nix20
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/python-modules/distributed/default.nix9
-rw-r--r--pkgs/development/python-modules/django-configurations/default.nix47
-rw-r--r--pkgs/development/python-modules/django-formtools/default.nix29
-rw-r--r--pkgs/development/python-modules/django-statici18n/default.nix4
-rw-r--r--pkgs/development/python-modules/django/2.nix4
-rw-r--r--pkgs/development/python-modules/django/3.nix4
-rw-r--r--pkgs/development/python-modules/django_compressor/default.nix6
-rw-r--r--pkgs/development/python-modules/django_reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/djangoql/default.nix4
-rw-r--r--pkgs/development/python-modules/doc8/default.nix39
-rw-r--r--pkgs/development/python-modules/docstring-to-markdown/default.nix4
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix4
-rw-r--r--pkgs/development/python-modules/easy-thumbnails/default.nix43
-rw-r--r--pkgs/development/python-modules/eliot/default.nix4
-rw-r--r--pkgs/development/python-modules/elmax/default.nix4
-rw-r--r--pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--pkgs/development/python-modules/envoy-reader/default.nix15
-rw-r--r--pkgs/development/python-modules/ephem/default.nix9
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix4
-rw-r--r--pkgs/development/python-modules/ffmpeg-progress-yield/default.nix4
-rw-r--r--pkgs/development/python-modules/folium/default.nix4
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix49
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix8
-rw-r--r--pkgs/development/python-modules/fs/default.nix7
-rw-r--r--pkgs/development/python-modules/gdown/default.nix19
-rw-r--r--pkgs/development/python-modules/genanki/default.nix36
-rw-r--r--pkgs/development/python-modules/geoip2/default.nix4
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix4
-rw-r--r--pkgs/development/python-modules/gitdb/default.nix4
-rw-r--r--pkgs/development/python-modules/google-api-core/default.nix35
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix37
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-access-context-manager/default.nix23
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix7
-rw-r--r--pkgs/development/python-modules/google-cloud-core/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datacatalog/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix3
-rw-r--r--pkgs/development/python-modules/google-cloud-resource-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-testutils/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--pkgs/development/python-modules/gradient-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/gradient/default.nix4
-rw-r--r--pkgs/development/python-modules/graphene/default.nix4
-rw-r--r--pkgs/development/python-modules/graphql-core/default.nix8
-rw-r--r--pkgs/development/python-modules/graspologic/default.nix4
-rw-r--r--pkgs/development/python-modules/green/default.nix17
-rw-r--r--pkgs/development/python-modules/grpcio-status/default.nix42
-rw-r--r--pkgs/development/python-modules/gruut-ipa/default.nix4
-rw-r--r--pkgs/development/python-modules/gsd/default.nix4
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--pkgs/development/python-modules/gviz-api/default.nix4
-rw-r--r--pkgs/development/python-modules/h5py/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-evolve/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix4
-rw-r--r--pkgs/development/python-modules/homematicip/default.nix11
-rw-r--r--pkgs/development/python-modules/html5lib/default.nix22
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix16
-rw-r--r--pkgs/development/python-modules/httplib2/default.nix37
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix14
-rw-r--r--pkgs/development/python-modules/httpx/default.nix17
-rw-r--r--pkgs/development/python-modules/huggingface-hub/default.nix6
-rw-r--r--pkgs/development/python-modules/hyperopt/default.nix44
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix4
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--pkgs/development/python-modules/idna/default.nix4
-rw-r--r--pkgs/development/python-modules/ignite/default.nix4
-rw-r--r--pkgs/development/python-modules/imageio/default.nix20
-rw-r--r--pkgs/development/python-modules/imagesize/default.nix4
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/ipyvue/default.nix4
-rw-r--r--pkgs/development/python-modules/iso8601/default.nix20
-rw-r--r--pkgs/development/python-modules/iterm2/default.nix4
-rw-r--r--pkgs/development/python-modules/janus/default.nix12
-rw-r--r--pkgs/development/python-modules/jaraco-context/default.nix44
-rw-r--r--pkgs/development/python-modules/jaraco_functools/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_text/default.nix32
-rw-r--r--pkgs/development/python-modules/jax/default.nix4
-rw-r--r--pkgs/development/python-modules/jedi-language-server/default.nix4
-rw-r--r--pkgs/development/python-modules/jellyfin-apiclient-python/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2/2.nix3
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix4
-rw-r--r--pkgs/development/python-modules/josepy/default.nix4
-rw-r--r--pkgs/development/python-modules/jschema-to-python/default.nix39
-rw-r--r--pkgs/development/python-modules/jsonpointer/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonwatch/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-client/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_core/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/k5test/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-dashboard/default.nix3
-rw-r--r--pkgs/development/python-modules/kombu/default.nix4
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--pkgs/development/python-modules/langcodes/default.nix40
-rw-r--r--pkgs/development/python-modules/language-data/default.nix44
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/libcst/default.nix17
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--pkgs/development/python-modules/lxml/default.nix6
-rw-r--r--pkgs/development/python-modules/lz4/default.nix6
-rw-r--r--pkgs/development/python-modules/markdown/default.nix11
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix69
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--pkgs/development/python-modules/mayavi/default.nix4
-rw-r--r--pkgs/development/python-modules/metakernel/default.nix4
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--pkgs/development/python-modules/more-itertools/default.nix4
-rw-r--r--pkgs/development/python-modules/msgpack/default.nix4
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix4
-rw-r--r--pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nipype/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/numpy/default.nix4
-rw-r--r--pkgs/development/python-modules/openstacksdk/default.nix4
-rw-r--r--pkgs/development/python-modules/packet-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix7
-rw-r--r--pkgs/development/python-modules/panel/default.nix4
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix7
-rw-r--r--pkgs/development/python-modules/parsy/default.nix4
-rw-r--r--pkgs/development/python-modules/pastescript/default.nix16
-rw-r--r--pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--pkgs/development/python-modules/pc-ble-driver-py/default.nix4
-rw-r--r--pkgs/development/python-modules/pdftotext/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix10
-rw-r--r--pkgs/development/python-modules/pillow/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix9
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix4
-rw-r--r--pkgs/development/python-modules/policy-sentry/default.nix4
-rw-r--r--pkgs/development/python-modules/prettytable/default.nix4
-rw-r--r--pkgs/development/python-modules/prometheus-client/default.nix4
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix23
-rw-r--r--pkgs/development/python-modules/proto-plus/default.nix4
-rw-r--r--pkgs/development/python-modules/psautohint/default.nix4
-rw-r--r--pkgs/development/python-modules/psycopg2/default.nix4
-rw-r--r--pkgs/development/python-modules/pudb/default.nix22
-rw-r--r--pkgs/development/python-modules/py/default.nix4
-rw-r--r--pkgs/development/python-modules/py4j/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaml/default.nix4
-rw-r--r--pkgs/development/python-modules/pybids/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix8
-rw-r--r--pkgs/development/python-modules/pycparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pydeck/default.nix4
-rw-r--r--pkgs/development/python-modules/pydmd/default.nix4
-rw-r--r--pkgs/development/python-modules/pydocstyle/2.nix33
-rw-r--r--pkgs/development/python-modules/pydocstyle/default.nix31
-rw-r--r--pkgs/development/python-modules/pyfaidx/default.nix36
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix4
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyjwt/default.nix4
-rw-r--r--pkgs/development/python-modules/pylama/default.nix56
-rw-r--r--pkgs/development/python-modules/pylama/paths.patch13
-rw-r--r--pkgs/development/python-modules/pylint/default.nix7
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix4
-rw-r--r--pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--pkgs/development/python-modules/pymunk/default.nix4
-rw-r--r--pkgs/development/python-modules/pysam/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-asyncio/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-doctestplus/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-httpx/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-localserver/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix2
-rw-r--r--pkgs/development/python-modules/python-cinderclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-dotenv/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gnupg/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix4
-rw-r--r--pkgs/development/python-modules/python-manilaclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-miio/default.nix3
-rw-r--r--pkgs/development/python-modules/python-socks/default.nix45
-rw-r--r--pkgs/development/python-modules/python-swiftclient/default.nix4
-rw-r--r--pkgs/development/python-modules/pytwitchapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix4
-rw-r--r--pkgs/development/python-modules/pywavelets/default.nix4
-rw-r--r--pkgs/development/python-modules/pywick/default.nix4
-rw-r--r--pkgs/development/python-modules/pyyaml/default.nix14
-rw-r--r--pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--pkgs/development/python-modules/r2pipe/default.nix4
-rw-r--r--pkgs/development/python-modules/rcssmin/default.nix4
-rw-r--r--pkgs/development/python-modules/reikna/default.nix4
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-kerberos/default.nix17
-rw-r--r--pkgs/development/python-modules/requests-kerberos/fix_setup.patch9
-rw-r--r--pkgs/development/python-modules/responses/default.nix4
-rw-r--r--pkgs/development/python-modules/respx/default.nix4
-rw-r--r--pkgs/development/python-modules/rfc6555/default.nix43
-rw-r--r--pkgs/development/python-modules/rfc6555/disable_network_tests.patch31
-rw-r--r--pkgs/development/python-modules/rich/default.nix4
-rw-r--r--pkgs/development/python-modules/rjsmin/default.nix4
-rw-r--r--pkgs/development/python-modules/robotframework-sshlibrary/default.nix4
-rw-r--r--pkgs/development/python-modules/rpcq/default.nix10
-rw-r--r--pkgs/development/python-modules/rsa/default.nix4
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic-auth/default.nix30
-rw-r--r--pkgs/development/python-modules/sanic/default.nix16
-rw-r--r--pkgs/development/python-modules/sarif-om/default.nix35
-rw-r--r--pkgs/development/python-modules/schema-salad/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-hep-testdata/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-learn/default.nix13
-rw-r--r--pkgs/development/python-modules/scipy/default.nix4
-rw-r--r--pkgs/development/python-modules/screenlogicpy/default.nix2
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix16
-rw-r--r--pkgs/development/python-modules/secp256k1/default.nix4
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix5
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/shap/default.nix4
-rw-r--r--pkgs/development/python-modules/shortuuid/default.nix10
-rw-r--r--pkgs/development/python-modules/simple-di/default.nix4
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix4
-rw-r--r--pkgs/development/python-modules/smpplib/default.nix4
-rw-r--r--pkgs/development/python-modules/snowballstemmer/default.nix4
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--pkgs/development/python-modules/soupsieve/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy-alignments/default.nix18
-rw-r--r--pkgs/development/python-modules/spacy/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx/0001-test-images-Use-normalization-equivalent-character.patch35
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix34
-rw-r--r--pkgs/development/python-modules/sphinxext-opengraph/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/strictyaml/default.nix4
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix27
-rw-r--r--pkgs/development/python-modules/stumpy/default.nix4
-rw-r--r--pkgs/development/python-modules/taskw/default.nix4
-rw-r--r--pkgs/development/python-modules/testpath/default.nix6
-rw-r--r--pkgs/development/python-modules/thinc/default.nix27
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/toolz/default.nix12
-rw-r--r--pkgs/development/python-modules/traitlets/default.nix4
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/trio/default.nix3
-rw-r--r--pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix16
-rw-r--r--pkgs/development/python-modules/typeguard/default.nix4
-rw-r--r--pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/typical/default.nix35
-rw-r--r--pkgs/development/python-modules/ujson/default.nix4
-rw-r--r--pkgs/development/python-modules/validators/default.nix8
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix10
-rw-r--r--pkgs/development/python-modules/websockets/default.nix12
-rw-r--r--pkgs/development/python-modules/webssh/default.nix24
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix7
-rw-r--r--pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch37
-rw-r--r--pkgs/development/python-modules/wheel/default.nix8
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/wled/default.nix27
-rw-r--r--pkgs/development/python-modules/wrapt/default.nix4
-rw-r--r--pkgs/development/python-modules/xattr/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-jquery-ui/default.nix4
-rw-r--r--pkgs/development/python-modules/youtube-search-python/default.nix4
-rw-r--r--pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_schema/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_testrunner/default.nix4
-rw-r--r--pkgs/development/tools/boost-build/darwin-default-toolset.patch12
-rw-r--r--pkgs/development/tools/boost-build/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix5
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/ninja/setup-hook.sh6
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.16.x.nix5
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix9
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix4
-rw-r--r--pkgs/development/tools/parsing/antlr/4.9.nix95
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/misc/cups/0001-TargetConditionals.patch29
-rw-r--r--pkgs/misc/cups/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch47
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix30
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/xnu/python3.patch2
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/0001-Add-missing-TARGET_OS_-defines.patch30
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix28
-rw-r--r--pkgs/os-specific/linux/audit/default.nix15
-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-headers/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix11
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix3
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix29
-rw-r--r--pkgs/os-specific/linux/lvm2/2_02.nix2
-rw-r--r--pkgs/os-specific/linux/lvm2/2_03.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/common.nix8
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch10
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch10
-rw-r--r--pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch25
-rw-r--r--pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch401
-rw-r--r--pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch320
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix26
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix16
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix16
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/search/groonga/default.nix11
-rw-r--r--pkgs/servers/sql/mariadb/default.nix8
-rw-r--r--pkgs/stdenv/darwin/default.nix11
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix74
-rw-r--r--pkgs/stdenv/generic/setup.sh13
-rw-r--r--pkgs/tools/admin/awscli/default.nix7
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix14
-rw-r--r--pkgs/tools/archivers/cpio/default.nix2
-rw-r--r--pkgs/tools/misc/desktop-file-utils/default.nix8
-rw-r--r--pkgs/tools/misc/jsonwatch/default.nix0
-rw-r--r--pkgs/tools/networking/curl/default.nix20
-rw-r--r--pkgs/tools/security/pcsclite/default.nix4
-rw-r--r--pkgs/tools/security/pcsclite/no-dropdir-literals.patch38
-rw-r--r--pkgs/tools/security/wapiti/default.nix37
-rw-r--r--pkgs/tools/video/rav1e/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix65
-rw-r--r--pkgs/top-level/perl-packages.nix13
-rw-r--r--pkgs/top-level/python-packages.nix15
-rw-r--r--pkgs/top-level/python2-packages.nix2
-rw-r--r--pkgs/top-level/release.nix3
611 files changed, 3789 insertions, 2999 deletions
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 53466921887..9fd475261c0 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -834,6 +834,7 @@ sets are
 * `pkgs.python38Packages`
 * `pkgs.python39Packages`
 * `pkgs.python310Packages`
+* `pkgs.python311Packages`
 * `pkgs.pypyPackages`
 
 and the aliases
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index 6c4d27018ee..db4c3551187 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -228,9 +228,7 @@ in rec {
         mkdir -p $out/getty.target.wants/
         ln -s ../autovt@tty1.service $out/getty.target.wants/
 
-        ln -s ../local-fs.target ../remote-fs.target \
-        ../nss-lookup.target ../nss-user-lookup.target ../swap.target \
-        $out/multi-user.target.wants/
+        ln -s ../remote-fs.target $out/multi-user.target.wants/
       ''}
     ''; # */
 
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index bc41b6efc2e..cf00bcafe4f 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -561,26 +561,16 @@ in {
           + " mkpart primary 2048M -1s"  # PV2
           + " set 2 lvm on",
           "udevadm settle",
-          "sleep 1",
           "pvcreate /dev/vda1 /dev/vda2",
-          "sleep 1",
           "vgcreate MyVolGroup /dev/vda1 /dev/vda2",
-          "sleep 1",
           "lvcreate --size 1G --name swap MyVolGroup",
-          "sleep 1",
           "lvcreate --size 3G --name nixos MyVolGroup",
-          "sleep 1",
           "mkswap -f /dev/MyVolGroup/swap -L swap",
           "swapon -L swap",
           "mkfs.xfs -L nixos /dev/MyVolGroup/nixos",
           "mount LABEL=nixos /mnt",
       )
     '';
-    postBootCommands = ''
-      assert "loaded active" in machine.succeed(
-          "systemctl list-units 'lvm2-pvscan@*' -ql --no-legend | tee /dev/stderr"
-      )
-    '';
   };
 
   # Boot off an encrypted root partition with the default LUKS header format
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index e068f7df50b..43d8888c225 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.3451";
+  version = "8.2.3651";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-8OaEaFyOaL59j0EZkUY+kuR6si79H2dN09f8SnltxbQ=";
+    sha256 = "sha256-bSbNO00lqjsjVhkv9W6TCvCQV6UDf2X79z0cgLy9UE0=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix
index 69acb43af86..c2f201774fe 100644
--- a/pkgs/applications/finance/odoo/default.nix
+++ b/pkgs/applications/finance/odoo/default.nix
@@ -56,6 +56,7 @@ buildPythonApplication rec {
     libsass
     lxml
     markupsafe
+    mock
     num2words
     ofxparse
     passlib
@@ -76,7 +77,7 @@ buildPythonApplication rec {
     reportlab
     requests
     vobject
-    werkzeug1
+    werkzeug
     xlrd
     XlsxWriter
     xlwt
@@ -92,6 +93,6 @@ buildPythonApplication rec {
     description = "Open Source ERP and CRM";
     homepage = "https://www.odoo.com/";
     license = licenses.lgpl3Only;
-    maintainers = [ maintainers.mkg20001 ];
+    maintainers = with maintainers; [ mkg20001 ];
   };
 }
diff --git a/pkgs/applications/science/electronics/flatcam/default.nix b/pkgs/applications/science/electronics/flatcam/default.nix
index b8a80c5e9c1..1f6679625ec 100644
--- a/pkgs/applications/science/electronics/flatcam/default.nix
+++ b/pkgs/applications/science/electronics/flatcam/default.nix
@@ -18,6 +18,7 @@ python3Packages.buildPythonApplication rec {
   propagatedBuildInputs = with python3Packages; [
     matplotlib
     numpy
+    packaging
     pyqt4
     Rtree
     scipy
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 634d82a6045..073b50c4bd5 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.34.0";
+  version = "2.34.1";
   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 = "07s1c9lzlm4kpbb5lmxy0869phg7037pv4faz5hlqyb5csrbjv7x";
+    sha256 = "0b40vf315s1kz65x1wq47g8srl4wqac39pwnvlj1mdzs3kfma1rs";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
diff --git a/pkgs/applications/video/corrscope/default.nix b/pkgs/applications/video/corrscope/default.nix
index c1d6669c8c2..0e1d377be28 100644
--- a/pkgs/applications/video/corrscope/default.nix
+++ b/pkgs/applications/video/corrscope/default.nix
@@ -11,6 +11,7 @@
 mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "corrscope";
   version = "0.7.1";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "corrscope";
@@ -19,8 +20,6 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     sha256 = "0c9kmrw6pcda68li04b5j2kmsgdw1q463qlc32wn96zn9hl82v6m";
   };
 
-  format = "pyproject";
-
   patches = [
     # Remove when bumping past 0.7.1
     (fetchpatch {
@@ -30,11 +29,28 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     })
   ];
 
-  nativeBuildInputs = [ wrapQtAppsHook ] ++ (with python3Packages; [ poetry-core ]);
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ] ++ (with python3Packages; [
+    poetry-core
+  ]);
 
-  buildInputs = [ ffmpeg qtbase ];
+  buildInputs = [
+    ffmpeg
+    qtbase
+  ];
 
-  propagatedBuildInputs = with python3Packages; [ appdirs atomicwrites attrs click matplotlib numpy pyqt5 ruamel-yaml ];
+  propagatedBuildInputs = with python3Packages; [
+    appdirs
+    atomicwrites
+    attrs
+    click
+    matplotlib
+    numpy
+    packaging
+    pyqt5
+    ruamel-yaml
+  ];
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 352c0c442d9..a77db7069f1 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, fetchpatch, python, zlib, pkg-config, glib
 , perl, pixman, vde2, alsa-lib, texinfo, flex
 , bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, ninja, meson, sigtool
-, makeWrapper, autoPatchelfHook, runtimeShell
+, makeWrapper, runtimeShell
 , attr, libcap, libcap_ng
 , CoreServices, Cocoa, Hypervisor, rez, setfile
 , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
@@ -53,7 +53,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper python python.pkgs.sphinx python.pkgs.sphinx_rtd_theme pkg-config flex bison meson ninja ]
     ++ lib.optionals gtkSupport [ wrapGAppsHook ]
-    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]
     ++ lib.optionals stdenv.isDarwin [ sigtool ];
 
   buildInputs = [ zlib glib perl pixman
@@ -85,6 +84,7 @@ stdenv.mkDerivation rec {
   dontUseMesonConfigure = true; # meson's configurePhase isn't compatible with qemu build
 
   outputs = [ "out" "ga" ];
+  separateDebugInfo = true;
 
   patches = [
     ./fix-qemu-ga.patch
@@ -180,6 +180,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--audio-drv-list=${audio}"
+    "--disable-strip" # We'll strip ourselves after separating debug info.
     "--enable-docs"
     "--enable-tools"
     "--enable-guest-agent"
diff --git a/pkgs/build-support/pkg-config-wrapper/default.nix b/pkgs/build-support/pkg-config-wrapper/default.nix
index bbc49d6728c..aa8f57ffb04 100644
--- a/pkgs/build-support/pkg-config-wrapper/default.nix
+++ b/pkgs/build-support/pkg-config-wrapper/default.nix
@@ -47,6 +47,9 @@ stdenv.mkDerivation {
   dontBuild = true;
   dontConfigure = true;
 
+  # Additional flags passed to pkg-config.
+  addFlags = lib.optional stdenv.targetPlatform.isStatic "--static";
+
   unpackPhase = ''
     src=$PWD
   '';
diff --git a/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh
index a5a44271668..1aa14cfeb7c 100644
--- a/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh
+++ b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh
@@ -12,10 +12,12 @@ if [ -z "${NIX_PKG_CONFIG_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then
     source @out@/nix-support/add-flags.sh
 fi
 
+set -- "$@" @addFlags@
+
 if (( ${#role_suffixes[@]} > 0 )); then
     # replace env var with nix-modified one
     PKG_CONFIG_PATH=$PKG_CONFIG_PATH_@suffixSalt@ exec @prog@ "$@"
 else
-    # pkg-config isn't a bonafied dependency so ignore setup hook entirely
+    # pkg-config isn't a real dependency so ignore setup hook entirely
     exec @prog@ "$@"
 fi
diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh
index 2481d8f5047..1a23e6b198e 100644
--- a/pkgs/build-support/setup-hooks/separate-debug-info.sh
+++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh
@@ -28,10 +28,16 @@ _separateDebugInfo() {
         # Extract the debug info.
         header "separating debug info from $i (build ID $id)"
         mkdir -p "$dst/${id:0:2}"
-        $OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
-        $STRIP --strip-debug "$i"
 
-        # Also a create a symlink <original-name>.debug.
-        ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")"
+        # This may fail, e.g. if the binary is for a different
+        # architecture than we're building for.  (This happens with
+        # firmware blobs in QEMU.)
+        (
+            $OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
+            $STRIP --strip-debug "$i"
+
+            # Also a create a symlink <original-name>.debug.
+            ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")"
+        ) || rmdir -p "$dst/${id:0:2}"
     done < <(find "$prefix" -type f -print0)
 }
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 88c17e8f4a3..d6b4488daf0 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -124,11 +124,6 @@ in
       sha256 = "1d6zzk0ii43iqfnjbldwp8sasyx99lbjp1nfgqjla7ixld6yp98l";
     };
 
-    makeFlags = [
-      # TODO(@sternenseemann): remove if afdko is new enough to know about Unicode 14.0
-      "BYPASS_SEQUENCE_CHECK=True"
-    ];
-
     nativeBuildInputs = [
       cairo
       imagemagick
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 29ebac848d8..5e7e70a1b05 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchzip, stdenvNoCC, writeText }:
 
 let
-  version = "20210225";
+  version = "20211124";
 in stdenvNoCC.mkDerivation {
   name = "iana-etc-${version}";
   src = fetchzip {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "sha256:1bbbnj2ya0apyyhnw37521yl1hrz3zy3l8dw6sacmir0y6pmx9gi";
+    sha256 = "sha256-4mM/ZeGd91e1AklGHFK5UB4llg9IgCo9DKcM0iXcBls=";
   };
 
   installPhase = ''
diff --git a/pkgs/desktops/gnome/core/gnome-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-desktop/default.nix
index 766ed1b7cfb..ecb4280ec69 100644
--- a/pkgs/desktops/gnome/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-desktop/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "41.1";
+  version = "41.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-voqvpk17ov0xB57tY505/aHqd+9301pnjwGcTZHUc8I=";
+    sha256 = "sha256-NDKe79rK0jMqatuuU4yNpuUiNcd3WpCLfDIECgdT7Go=";
   };
 
   patches = [
diff --git a/pkgs/development/compilers/gcc/9/avoid-cycling-subreg-reloads.patch b/pkgs/development/compilers/gcc/9/avoid-cycling-subreg-reloads.patch
deleted file mode 100644
index 17a4e0a2447..00000000000
--- a/pkgs/development/compilers/gcc/9/avoid-cycling-subreg-reloads.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From 6001db79c477b03eacc7e7049560921fb54b7845 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <richard.sandiford@arm.com>
-Date: Mon, 7 Sep 2020 20:15:36 +0100
-Subject: [PATCH] lra: Avoid cycling on certain subreg reloads [PR96796]
-
-This PR is about LRA cycling for a reload of the form:
-
-----------------------------------------------------------------------------
-Changing pseudo 196 in operand 1 of insn 103 on equiv [r105:DI*0x8+r140:DI]
-      Creating newreg=287, assigning class ALL_REGS to slow/invalid mem r287
-      Creating newreg=288, assigning class ALL_REGS to slow/invalid mem r288
-  103: r203:SI=r288:SI<<0x1+r196:DI#0
-      REG_DEAD r196:DI
-    Inserting slow/invalid mem reload before:
-  316: r287:DI=[r105:DI*0x8+r140:DI]
-  317: r288:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-The problem is with r287.  We rightly give it a broad starting class of
-POINTER_AND_FP_REGS (reduced from ALL_REGS by preferred_reload_class).
-However, we never make forward progress towards narrowing it down to
-a specific choice of class (POINTER_REGS or FP_REGS).
-
-I think in practice we rely on two things to narrow a reload pseudo's
-class down to a specific choice:
-
-(1) a restricted class is specified when the pseudo is created
-
-    This happens for input address reloads, where the class is taken
-    from the target's chosen base register class.  It also happens
-    for simple REG reloads, where the class is taken from the chosen
-    alternative's constraints.
-
-(2) uses of the reload pseudo as a direct input operand
-
-    In this case get_reload_reg tries to reuse the existing register
-    and narrow its class, instead of creating a new reload pseudo.
-
-However, neither occurs here.  As described above, r287 rightly
-starts out with a wide choice of class, ultimately derived from
-ALL_REGS, so we don't get (1).  And as the comments in the PR
-explain, r287 is never used as an input reload, only the subreg is,
-so we don't get (2):
-
-----------------------------------------------------------------------------
-         Choosing alt 13 in insn 317:  (0) r  (1) w {*movsi_aarch64}
-      Creating newreg=291, assigning class FP_REGS to r291
-  317: r288:SI=r291:SI
-    Inserting insn reload before:
-  320: r291:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-IMO, in this case we should rely on the reload of r316 to narrow
-down the class of r278.  Currently we do:
-
-----------------------------------------------------------------------------
-         Choosing alt 7 in insn 316:  (0) r  (1) m {*movdi_aarch64}
-      Creating newreg=289 from oldreg=287, assigning class GENERAL_REGS to r289
-  316: r289:DI=[r105:DI*0x8+r140:DI]
-    Inserting insn reload after:
-  318: r287:DI=r289:DI
----------------------------------------------------
-
-i.e. we create a new pseudo register r289 and give *that* pseudo
-GENERAL_REGS instead.  This is because get_reload_reg only narrows
-down the existing class for OP_IN and OP_INOUT, not OP_OUT.
-
-But if we have a reload pseudo in a reload instruction and have chosen
-a specific class for the reload pseudo, I think we should simply install
-it for OP_OUT reloads too, if the class is a subset of the existing class.
-We will need to pick such a register whatever happens (for r289 in the
-example above).  And as explained in the PR, doing this actually avoids
-an unnecessary move via the FP registers too.
-
-The patch is quite aggressive in that it does this for all reload
-pseudos in all reload instructions.  I wondered about reusing the
-condition for a reload move in in_class_p:
-
-          INSN_UID (curr_insn) >= new_insn_uid_start
-          && curr_insn_set != NULL
-          && ((OBJECT_P (SET_SRC (curr_insn_set))
-               && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-              || (GET_CODE (SET_SRC (curr_insn_set)) == SUBREG
-                  && OBJECT_P (SUBREG_REG (SET_SRC (curr_insn_set)))
-                  && ! CONSTANT_P (SUBREG_REG (SET_SRC (curr_insn_set)))))))
-
-but I can't really justify that on first principles.  I think we
-should apply the rule consistently until we have a specific reason
-for doing otherwise.
-
-gcc/
-	PR rtl-optimization/96796
-	* lra-constraints.c (in_class_p): Add a default-false
-	allow_all_reload_class_changes_p parameter.  Do not treat
-	reload moves specially when the parameter is true.
-	(get_reload_reg): Try to narrow the class of an existing OP_OUT
-	reload if we're reloading a reload pseudo in a reload instruction.
-
-gcc/testsuite/
-	PR rtl-optimization/96796
-	* gcc.c-torture/compile/pr96796.c: New test.
----
- gcc/lra-constraints.c                         | 54 ++++++++++++++----
- gcc/testsuite/gcc.c-torture/compile/pr96796.c | 55 +++++++++++++++++++
- 2 files changed, 99 insertions(+), 10 deletions(-)
- create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr96796.c
-
-diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
-index 580da9c3ed6..161b721efb1 100644
---- a/gcc/lra-constraints.c
-+++ b/gcc/lra-constraints.c
-@@ -236,12 +236,17 @@ get_reg_class (int regno)
-    CL.  Use elimination first if REG is a hard register.  If REG is a
-    reload pseudo created by this constraints pass, assume that it will
-    be allocated a hard register from its allocno class, but allow that
--   class to be narrowed to CL if it is currently a superset of CL.
-+   class to be narrowed to CL if it is currently a superset of CL and
-+   if either:
-+
-+   - ALLOW_ALL_RELOAD_CLASS_CHANGES_P is true or
-+   - the instruction we're processing is not a reload move.
- 
-    If NEW_CLASS is nonnull, set *NEW_CLASS to the new allocno class of
-    REGNO (reg), or NO_REGS if no change in its class was needed.  */
- static bool
--in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
-+in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class,
-+	    bool allow_all_reload_class_changes_p = false)
- {
-   enum reg_class rclass, common_class;
-   machine_mode reg_mode;
-@@ -266,7 +271,8 @@ in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
- 	 typically moves that have many alternatives, and restricting
- 	 reload pseudos for one alternative may lead to situations
- 	 where other reload pseudos are no longer allocatable.  */
--      || (INSN_UID (curr_insn) >= new_insn_uid_start
-+      || (!allow_all_reload_class_changes_p
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
- 	  && curr_insn_set != NULL
- 	  && ((OBJECT_P (SET_SRC (curr_insn_set))
- 	       && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-@@ -598,13 +604,12 @@ canonicalize_reload_addr (rtx addr)
-   return addr;
- }
- 
--/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse already
--   created input reload pseudo (only if TYPE is not OP_OUT).  Don't
--   reuse pseudo if IN_SUBREG_P is true and the reused pseudo should be
--   wrapped up in SUBREG.  The result pseudo is returned through
--   RESULT_REG.  Return TRUE if we created a new pseudo, FALSE if we
--   reused the already created input reload pseudo.  Use TITLE to
--   describe new registers for debug purposes.  */
-+/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse an existing
-+   reload pseudo.  Don't reuse an existing reload pseudo if IN_SUBREG_P
-+   is true and the reused pseudo should be wrapped up in a SUBREG.
-+   The result pseudo is returned through RESULT_REG.  Return TRUE if we
-+   created a new pseudo, FALSE if we reused an existing reload pseudo.
-+   Use TITLE to describe new registers for debug purposes.  */
- static bool
- get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 		enum reg_class rclass, bool in_subreg_p,
-@@ -616,6 +621,35 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 
-   if (type == OP_OUT)
-     {
-+      /* Output reload registers tend to start out with a conservative
-+	 choice of register class.  Usually this is ALL_REGS, although
-+	 a target might narrow it (for performance reasons) through
-+	 targetm.preferred_reload_class.  It's therefore quite common
-+	 for a reload instruction to require a more restrictive class
-+	 than the class that was originally assigned to the reload register.
-+
-+	 In these situations, it's more efficient to refine the choice
-+	 of register class rather than create a second reload register.
-+	 This also helps to avoid cycling for registers that are only
-+	 used by reload instructions.  */
-+      if (REG_P (original)
-+	  && (int) REGNO (original) >= new_regno_start
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
-+	  && in_class_p (original, rclass, &new_class, true))
-+	{
-+	  unsigned int regno = REGNO (original);
-+	  if (lra_dump_file != NULL)
-+	    {
-+	      fprintf (lra_dump_file, "	 Reuse r%d for output ", regno);
-+	      dump_value_slim (lra_dump_file, original, 1);
-+	    }
-+	  if (new_class != lra_get_allocno_class (regno))
-+	    lra_change_class (regno, new_class, ", change to", false);
-+	  if (lra_dump_file != NULL)
-+	    fprintf (lra_dump_file, "\n");
-+	  *result_reg = original;
-+	  return false;
-+	}
-       *result_reg
- 	= lra_create_new_reg_with_unique_value (mode, original, rclass, title);
-       return true;
-diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96796.c b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-new file mode 100644
-index 00000000000..8808e62fe77
---- /dev/null
-+++ b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-@@ -0,0 +1,55 @@
-+/* { dg-additional-options "-fcommon" } */
-+
-+struct S0 {
-+  signed f0 : 8;
-+  unsigned f1;
-+  unsigned f4;
-+};
-+struct S1 {
-+  long f3;
-+  char f4;
-+} g_3_4;
-+
-+int g_5, func_1_l_32, func_50___trans_tmp_31;
-+static struct S0 g_144, g_834, g_1255, g_1261;
-+
-+int g_273[120] = {};
-+int *g_555;
-+char **g_979;
-+static int g_1092_0;
-+static int g_1193;
-+int safe_mul_func_int16_t_s_s(int si1, int si2) { return si1 * si2; }
-+static struct S0 *func_50();
-+int func_1() { func_50(g_3_4, g_5, func_1_l_32, 8, 3); }
-+void safe_div_func_int64_t_s_s(int *);
-+void safe_mod_func_uint32_t_u_u(struct S0);
-+struct S0 *func_50(int p_51, struct S0 p_52, struct S1 p_53, int p_54,
-+                   int p_55) {
-+  int __trans_tmp_30;
-+  char __trans_tmp_22;
-+  short __trans_tmp_19;
-+  long l_985_1;
-+  long l_1191[8];
-+  safe_div_func_int64_t_s_s(g_273);
-+  __builtin_printf((char*)g_1261.f4);
-+  safe_mod_func_uint32_t_u_u(g_834);
-+  g_144.f0 += 1;
-+  for (;;) {
-+    struct S1 l_1350 = {&l_1350};
-+    for (; p_53.f3; p_53.f3 -= 1)
-+      for (; g_1193 <= 2; g_1193 += 1) {
-+        __trans_tmp_19 = safe_mul_func_int16_t_s_s(l_1191[l_985_1 + p_53.f3],
-+                                                   p_55 % (**g_979 = 10));
-+        __trans_tmp_22 = g_1255.f1 * p_53.f4;
-+        __trans_tmp_30 = __trans_tmp_19 + __trans_tmp_22;
-+        if (__trans_tmp_30)
-+          g_1261.f0 = p_51;
-+        else {
-+          g_1255.f0 = p_53.f3;
-+          int *l_1422 = g_834.f0 = g_144.f4 != (*l_1422)++ > 0 < 0 ^ 51;
-+          g_555 = ~0;
-+          g_1092_0 |= func_50___trans_tmp_31;
-+        }
-+      }
-+  }
-+}
--- 
-2.18.4
-
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 604d90fa782..6426f7434d5 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -63,17 +63,11 @@ with lib;
 with builtins;
 
 let majorVersion = "9";
-    version = "${majorVersion}.3.0";
+    version = "${majorVersion}.4.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
-    patches =
-      # Fix ICE: Max. number of generated reload insns per insn is achieved (90)
-      #
-      # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96796
-      #
-      # This patch can most likely be removed by a post 9.3.0-release.
-      [ ./avoid-cycling-subreg-reloads.patch ]
+    patches = []
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
@@ -87,9 +81,7 @@ let majorVersion = "9";
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
 
       # Obtain latest patch with ../update-mcfgthread-patches.sh
-      ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
-
-      ++ [ ../libsanitizer-no-cyclades-9.patch ];
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
@@ -106,7 +98,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "1la2yy27ziasyf0jvzk58y1i5b5bq2h176qil550bxhifs39gqbi";
+    sha256 = "13l3p6g2krilaawbapmn9zmmrh3zdwc36mfr3msxfy038hps6pf9";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index dad133337e8..8f78c4de0e1 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -51,11 +51,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.16.10";
+  version = "1.16.11";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-qQVHIBFYXkA9ANKkHefO0puIhDCdc0gqMH9on9DzILU=";
+    sha256 = "sha256-WAQe3NgUY7TPG8KLhtwMF/TZVo1jxa/IU2fdj6577+c=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/gwt/2.4.0.nix b/pkgs/development/compilers/gwt/2.4.0.nix
index 011a7979df7..38f29cb3200 100644
--- a/pkgs/development/compilers/gwt/2.4.0.nix
+++ b/pkgs/development/compilers/gwt/2.4.0.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, unzip }:
 
-stdenv.mkDerivation {
-  name = "gwt-java-2.4.0";
+stdenv.mkDerivation rec {
+  pname = "gwt-java";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-web-toolkit/gwt-2.4.0.zip";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-web-toolkit/gwt-${version}.zip";
     sha256 = "1gvyg00vx7fdqgfl2w7nhql78clg3abs6fxxy7m03pprdm5qmm17";
   };
 
diff --git a/pkgs/development/compilers/llvm/11/libcxxabi/default.nix b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
index 65e0139a591..61cfe8eede9 100644
--- a/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
@@ -1,5 +1,7 @@
 { lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
 , enableShared ? !stdenv.hostPlatform.isStatic
+, standalone ? stdenv.hostPlatform.useLLVM or false
+, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
 }:
 
 stdenv.mkDerivation {
@@ -29,10 +31,11 @@ stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+  buildInputs = lib.optional withLibunwind libunwind;
 
-  cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+  cmakeFlags = lib.optionals standalone [
     "-DLLVM_ENABLE_LIBCXX=ON"
+  ] ++ lib.optionals (standalone && withLibunwind) [
     "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
   ] ++ lib.optionals stdenv.hostPlatform.isWasm [
     "-DLIBCXXABI_ENABLE_THREADS=OFF"
diff --git a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
index 16eaed20d78..803fe6a62fa 100644
--- a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
@@ -1,5 +1,7 @@
 { lib, stdenv, llvm_meta, cmake, python3, fetch, libcxx, libunwind, llvm, version
 , enableShared ? !stdenv.hostPlatform.isStatic
+, standalone ? stdenv.hostPlatform.useLLVM or false
+, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
 }:
 
 stdenv.mkDerivation {
@@ -28,9 +30,9 @@ stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [ cmake python3 ];
-  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+  buildInputs = lib.optional withLibunwind libunwind;
 
-  cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+  cmakeFlags = lib.optionals standalone [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
   ] ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -47,7 +49,7 @@ stdenv.mkDerivation {
         # the magic combination of necessary CMake variables
         # if you fancy a try, take a look at
         # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-        install_name_tool -id $out/$file $file
+        ${stdenv.cc.targetPrefix}install_name_tool -id $out/$file $file
       done
       make install
       install -d 755 $out/include
diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index 6c87366ea31..a89c6dabe39 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -252,11 +252,18 @@ let
                );
     };
 
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
+    libcxxabi = let
+      stdenv_ = if stdenv.hostPlatform.useLLVM or false
                then overrideCC stdenv buildLlvmTools.clangNoLibcxx
                else stdenv;
+      cxx-headers = callPackage ./libcxx {
+        inherit llvm_meta;
+        stdenv = stdenv_;
+        headersOnly = true;
+      };
+    in callPackage ./libcxxabi {
+      stdenv = stdenv_;
+      inherit llvm_meta cxx-headers;
     };
 
     libunwind = callPackage ./libunwind {
diff --git a/pkgs/development/compilers/llvm/13/libcxx/default.nix b/pkgs/development/compilers/llvm/13/libcxx/default.nix
index c60039274de..0ce73ed97af 100644
--- a/pkgs/development/compilers/llvm/13/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/13/libcxx/default.nix
@@ -1,15 +1,23 @@
 { lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version
+, libcxxabi
 , enableShared ? !stdenv.hostPlatform.isStatic
+
+# If headersOnly is true, the resulting package would only include the headers.
+# Use this to break the circular dependency between libcxx and libcxxabi.
+#
+# Some context:
+# https://reviews.llvm.org/rG1687f2bbe2e2aaa092f942d4a97d41fad43eedfb
+, headersOnly ? false
 }:
 
 stdenv.mkDerivation rec {
-  pname = "libcxx";
+  pname = if headersOnly then "cxx-headers" else "libcxx";
   inherit version;
 
   inherit src;
-  sourceRoot = "source/${pname}";
+  sourceRoot = "source/libcxx";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" ] ++ lib.optional (!headersOnly) "dev";
 
   patches = [
     ./gnu-install-dirs.patch
@@ -24,15 +32,29 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  cmakeFlags = [
-  ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+  buildInputs = lib.optionals (!headersOnly) [ libcxxabi ];
+
+  cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" ]
+    ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
-    ++ lib.optional stdenv.hostPlatform.isWasm [
+    ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
       "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
       "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
     ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
 
+  buildFlags = lib.optional headersOnly "generate-cxx-headers";
+  installTargets = lib.optional headersOnly "install-cxx-headers";
+
+  # At this point, cxxabi headers would be installed in the dev output, which
+  # prevents moveToOutput from doing its job later in the build process.
+  postInstall = lib.optionalString (!headersOnly) ''
+    mv "$dev/include/c++/v1/"* "$out/include/c++/v1/"
+    pushd "$dev"
+    rmdir -p include/c++/v1
+    popd
+  '';
+
   passthru = {
     isLLVM = true;
   };
@@ -45,9 +67,6 @@ stdenv.mkDerivation rec {
       C++14 and above.
     '';
 
-    # https://github.com/NixOS/nixpkgs/pull/133217#issuecomment-895742807
-    broken = stdenv.isDarwin;
-
     # "All of the code in libc++ is dual licensed under the MIT license and the
     # UIUC License (a BSD-like license)":
     license = with lib.licenses; [ mit ncsa ];
diff --git a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
index 6267678c46d..0bdbee07b73 100644
--- a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
@@ -1,6 +1,7 @@
-{ lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version
+{ lib, stdenv, llvm_meta, cmake, python3, src, cxx-headers, libunwind, version
 , enableShared ? !stdenv.hostPlatform.isStatic
-, libcxx
+, standalone ? stdenv.hostPlatform.useLLVM or false
+, withLibunwind ? !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm
 }:
 
 stdenv.mkDerivation rec {
@@ -23,12 +24,13 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ cmake python3 ];
-  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
+  buildInputs = lib.optional withLibunwind libunwind;
 
   cmakeFlags = [
-    "-DLIBCXXABI_LIBCXX_INCLUDES=${libcxx.dev}/include/c++/v1"
-  ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+    "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1"
+  ] ++ lib.optionals standalone [
     "-DLLVM_ENABLE_LIBCXX=ON"
+  ] ++ lib.optionals (standalone && withLibunwind) [
     "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
   ] ++ lib.optionals stdenv.hostPlatform.isWasm [
     "-DLIBCXXABI_ENABLE_THREADS=OFF"
diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch b/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
new file mode 100644
index 00000000000..e7abf9735b9
--- /dev/null
+++ b/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
@@ -0,0 +1,10 @@
+--- a/lib/xray/xray_buffer_queue.h
++++ b/lib/xray/xray_buffer_queue.h
+@@ -17,6 +17,7 @@
+ 
+ #include "sanitizer_common/sanitizer_atomic.h"
+ #include "sanitizer_common/sanitizer_mutex.h"
++#include <cstddef>
+ #include <deque>
+ #include <unordered_set>
+ #include <utility>
diff --git a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
index 874540dd8c3..f6f59bb6d99 100644
--- a/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation {
 
     ./sys-ustat.patch
     ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
+    ./compiler-rt-5-cstddef.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/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index fb2baf0e29a..666e9be3cd8 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -247,11 +247,18 @@ let
                else stdenv;
     };
 
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
+    libcxxabi = let
+      stdenv_ = if stdenv.hostPlatform.useLLVM or false
                then overrideCC stdenv buildLlvmTools.clangNoLibcxx
                else stdenv;
+      cxx-headers = callPackage ./libcxx {
+        inherit llvm_meta;
+        stdenv = stdenv_;
+        headersOnly = true;
+      };
+    in callPackage ./libcxxabi {
+      stdenv = stdenv_;
+      inherit llvm_meta cxx-headers;
     };
 
     libunwind = callPackage ./libunwind {
diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix
index f511eba81dc..0ddf28909b8 100644
--- a/pkgs/development/compilers/llvm/git/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxx/default.nix
@@ -1,15 +1,23 @@
 { lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version
+, libcxxabi
 , enableShared ? !stdenv.hostPlatform.isStatic
+
+# If headersOnly is true, the resulting package would only include the headers.
+# Use this to break the circular dependency between libcxx and libcxxabi.
+#
+# Some context:
+# https://reviews.llvm.org/rG1687f2bbe2e2aaa092f942d4a97d41fad43eedfb
+, headersOnly ? false
 }:
 
 stdenv.mkDerivation rec {
-  pname = "libcxx";
+  pname = if headersOnly then "cxx-headers" else "libcxx";
   inherit version;
 
   inherit src;
-  sourceRoot = "source/${pname}";
+  sourceRoot = "source/libcxx";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" ] ++ lib.optional (!headersOnly) "dev";
 
   patches = [
     ./gnu-install-dirs.patch
@@ -24,15 +32,29 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  cmakeFlags = [
-  ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+  buildInputs = lib.optionals (!headersOnly) [ libcxxabi ];
+
+  cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" ]
+    ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
-    ++ lib.optional stdenv.hostPlatform.isWasm [
+    ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
       "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
       "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
     ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
 
+  buildFlags = lib.optional headersOnly "generate-cxx-headers";
+  installTargets = lib.optional headersOnly "install-cxx-headers";
+
+  # At this point, cxxabi headers would be installed in the dev output, which
+  # prevents moveToOutput from doing its job later in the build process.
+  postInstall = lib.optionalString (!headersOnly) ''
+    mv "$dev/include/c++/v1/"* "$out/include/c++/v1/"
+    pushd "$dev"
+    rmdir -p include/c++/v1
+    popd
+  '';
+
   passthru = {
     isLLVM = true;
   };
diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
index 6267678c46d..9f14f87a7a0 100644
--- a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
@@ -1,6 +1,5 @@
-{ lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version
+{ lib, stdenv, llvm_meta, cmake, python3, src, cxx-headers, libunwind, version
 , enableShared ? !stdenv.hostPlatform.isStatic
-, libcxx
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
 
   cmakeFlags = [
-    "-DLIBCXXABI_LIBCXX_INCLUDES=${libcxx.dev}/include/c++/v1"
+    "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1"
   ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index 9687f1b1a66..f105707f933 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -2,15 +2,16 @@
 # The binaries can also be used as is.
 {lib, stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}:
 
-stdenv.mkDerivation {
-  name = "opendylan-2013.2";
+stdenv.mkDerivation rec {
+  pname = "opendylan";
+  version = "2013.2";
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl {
-      url = "https://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2";
+      url = "https://opendylan.org/downloads/opendylan/${version}/opendylan-${version}-x86_64-linux.tar.bz2";
       sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h";
     }
     else if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
-      url = "https://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2";
+      url = "https://opendylan.org/downloads/opendylan/${version}/opendylan-${version}-x86-linux.tar.bz2";
       sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5";
     }
     else throw "platform ${stdenv.hostPlatform.system} not supported.";
diff --git a/pkgs/development/compilers/rust/1_56.nix b/pkgs/development/compilers/rust/1_57.nix
index 49df8bcd5ec..f6b9d3c72a3 100644
--- a/pkgs/development/compilers/rust/1_56.nix
+++ b/pkgs/development/compilers/rust/1_57.nix
@@ -20,8 +20,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.56.1";
-  rustcSha256 = "04cmqx7nn63hzz7z27b2b0dj2qx18rck9ifvip43s6dampx8v2f3";
+  rustcVersion = "1.57.0";
+  rustcSha256 = "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
@@ -37,24 +37,24 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.55.0";
+  bootstrapVersion = "1.56.1";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "6e42b6c44d2eb4170f4144423fa3c33338d8d5c3ea00b03bbac200c877bc9e98";
-    x86_64-unknown-linux-gnu = "2080253a2ec36ac8ed6e060d30802d888533124b8d16545cfd4af898b365eaac";
-    x86_64-unknown-linux-musl = "f24f68587253c4bfbe59d3d10fe4897068d9130538de6b2d02097a25718030c2";
-    arm-unknown-linux-gnueabihf = "483444153d35cda51c6aec2c24bc4c97fa4fd30b28df4b60bf9763bd6e06da3a";
-    armv7-unknown-linux-gnueabihf = "8c72f0eb75b10db970fb546c3b41f5e97df294d5dbbf0b8fa96e17f2b281ee9c";
-    aarch64-unknown-linux-gnu = "eebdb2e659ed14884a49f0457d44e5e8c9f89fca3414533752c6dbb96232c156";
-    aarch64-unknown-linux-musl = "2ce36a7d34f1f2aa43b4cbc0b437d96eefb45743828bf9ae699ff581ae257f28";
-    x86_64-apple-darwin = "2e345ac7724c192c9487a2c6bd4f6c52c884d791981510288830d27d9a0bf2f3";
-    aarch64-apple-darwin = "70c71d30d0de76912fcd88d503a6cb4323cfe6250c1a255be7e0d4e644b3d40a";
-    powerpc64le-unknown-linux-gnu = "12bf6447d338cbe2b55539b84e6369b17e7eefe938d1ba7e3dd69781c9cc9812";
-    riscv64gc-unknown-linux-gnu = "effceb45346fef3b0b54b357336e6f374f788b803bb1bee4084f25eace8907f3";
+    i686-unknown-linux-gnu = "84db34603ce22d93312ff8bccd5580fe112e932bbeb0361e7cc37668a9803a27";
+    x86_64-unknown-linux-gnu = "a6be5d045183a0b12dddf0d81633e2a64e63e4c2dfa44eb7593970c1ef93a98f";
+    x86_64-unknown-linux-musl = "3c09058d104d9a88943fb343af1fb70422f9c4a987e6703666ee8a8051211190";
+    arm-unknown-linux-gnueabihf = "c445706d109bb74de4c889687ae08a48af5808676fda15b84b7ef5970a82a5f6";
+    armv7-unknown-linux-gnueabihf = "29ec65af502370c0c1a49faecd7131f1243fe3005b419ead4b40b267af2b2db0";
+    aarch64-unknown-linux-gnu = "69792887357c8dd78c5424f0b4a624578296796d99edf6c30ebe2acc2b939aa3";
+    aarch64-unknown-linux-musl = "971d13d41657e50e3ac54f17f52b4198c3d8bc25ec489a6a9e6d12c18226dda5";
+    x86_64-apple-darwin = "8d65ef02a123c23be00101fb204d28b60498b9145dd2ee8edabf0afde6e01e55";
+    aarch64-apple-darwin = "e71c14c1368048a22e4d1851f301872ac2e6f4c574f04d2a7ae4d64b0e7c7235";
+    powerpc64le-unknown-linux-gnu = "fa78b28fe1ef3cd4add9ec151e5eab756dfc83c8bc3e5a576a6eddd350c4de7a";
+    riscv64gc-unknown-linux-gnu = "5ec327d1bd3ba8d00afbe9be4a1f0fb8ab845063fcf9be479be9493c52a4dbb6";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_56;
+  selectRustPackage = pkgs: pkgs.rust_1_57;
 
   rustcPatches = [
   ];
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 76f13ec6899..f446251fd32 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -114,8 +114,8 @@ in rec {
   };
 
   vala_0_54 = generic {
-    version = "0.54.2";
-    sha256 = "iE3nRTF9TVbk6M7emT3I8E1Qz8o2z2DS8vJ4wwwrExE=";
+    version = "0.54.3";
+    sha256 = "7R1f5MvAzShF0N5PH/77Fa+waJLSMMfMppV4FnLo+2A=";
   };
 
   vala = vala_0_54;
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index b770f3b7dfd..58b8252729a 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl}:
+{lib, stdenv, fetchurl, buildPackages}:
 
 stdenv.mkDerivation rec {
   pname = "yasm";
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   meta = with lib; {
     homepage = "http://www.tortall.net/projects/yasm/";
     description = "Complete rewrite of the NASM assembler";
diff --git a/pkgs/development/haskell-modules/lib/compose.nix b/pkgs/development/haskell-modules/lib/compose.nix
index f19b6241f26..a831a83a15f 100644
--- a/pkgs/development/haskell-modules/lib/compose.nix
+++ b/pkgs/development/haskell-modules/lib/compose.nix
@@ -288,7 +288,11 @@ rec {
     enableLibraryProfiling = false;
     isLibrary = false;
     doHaddock = false;
-    postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
+    postFixup = drv.postFixup or "" + ''
+
+      # Remove every directory which could have links to other store paths.
+      rm -rf $out/lib $out/nix-support $out/share/doc
+    '';
   });
 
   /* Build a source distribution tarball instead of using the source files
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 6cba19bff0f..6d8b996f183 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -6,9 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "love-0.7.2";
+  pname = "love";
+  version = "0.7.2";
+
   src = fetchurl {
-    url = "https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz";
+    url = "https://bitbucket.org/rude/love/downloads/love-${version}-linux-src.tar.gz";
     sha256 = "0s7jywkvydlshlgy11ilzngrnybmq5xlgzp2v2dhlffwrfqdqym5";
   };
 
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
index b7e20498a39..512aade7f95 100644
--- a/pkgs/development/interpreters/love/0.9.nix
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -5,9 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "love-0.9.1";
+  pname = "love";
+  version = "0.9.1";
+
   src = fetchurl {
-    url = "https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz";
+    url = "https://bitbucket.org/rude/love/downloads/love-${version}-linux-src.tar.gz";
     sha256 = "1pikd0bzb44r4bf0jbgn78whz1yswpq1n5jc8nf87v42pm30kp84";
   };
 
diff --git a/pkgs/development/interpreters/python/cpython/3.11/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.11/no-ldconfig.patch
new file mode 100644
index 00000000000..ca6a76d0ffd
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.11/no-ldconfig.patch
@@ -0,0 +1,107 @@
+From 5330b6af9f832af59aa5c61d9ef6971053a8e709 Mon Sep 17 00:00:00 2001
+From: Jonathan Ringer <jonringer117@gmail.com>
+Date: Mon, 9 Nov 2020 10:24:35 -0800
+Subject: [PATCH] CPython: Don't use ldconfig
+
+---
+ Lib/ctypes/util.py | 77 ++--------------------------------------------
+ 1 file changed, 2 insertions(+), 75 deletions(-)
+
+diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
+index 0c2510e161..7fb98af308 100644
+--- a/Lib/ctypes/util.py
++++ b/Lib/ctypes/util.py
+@@ -100,53 +100,7 @@ def _is_elf(filename):
+             return thefile.read(4) == elf_header
+ 
+     def _findLib_gcc(name):
+-        # Run GCC's linker with the -t (aka --trace) option and examine the
+-        # library name it prints out. The GCC command will fail because we
+-        # haven't supplied a proper program with main(), but that does not
+-        # matter.
+-        expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
+-
+-        c_compiler = shutil.which('gcc')
+-        if not c_compiler:
+-            c_compiler = shutil.which('cc')
+-        if not c_compiler:
+-            # No C compiler available, give up
+-            return None
+-
+-        temp = tempfile.NamedTemporaryFile()
+-        try:
+-            args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
+-
+-            env = dict(os.environ)
+-            env['LC_ALL'] = 'C'
+-            env['LANG'] = 'C'
+-            try:
+-                proc = subprocess.Popen(args,
+-                                        stdout=subprocess.PIPE,
+-                                        stderr=subprocess.STDOUT,
+-                                        env=env)
+-            except OSError:  # E.g. bad executable
+-                return None
+-            with proc:
+-                trace = proc.stdout.read()
+-        finally:
+-            try:
+-                temp.close()
+-            except FileNotFoundError:
+-                # Raised if the file was already removed, which is the normal
+-                # behaviour of GCC if linking fails
+-                pass
+-        res = re.findall(expr, trace)
+-        if not res:
+-            return None
+-
+-        for file in res:
+-            # Check if the given file is an elf file: gcc can report
+-            # some files that are linker scripts and not actual
+-            # shared objects. See bpo-41976 for more details
+-            if not _is_elf(file):
+-                continue
+-            return os.fsdecode(file)
++        return None
+ 
+ 
+     if sys.platform == "sunos5":
+@@ -268,34 +222,7 @@ def find_library(name, is64 = False):
+     else:
+ 
+         def _findSoname_ldconfig(name):
+-            import struct
+-            if struct.calcsize('l') == 4:
+-                machine = os.uname().machine + '-32'
+-            else:
+-                machine = os.uname().machine + '-64'
+-            mach_map = {
+-                'x86_64-64': 'libc6,x86-64',
+-                'ppc64-64': 'libc6,64bit',
+-                'sparc64-64': 'libc6,64bit',
+-                's390x-64': 'libc6,64bit',
+-                'ia64-64': 'libc6,IA-64',
+-                }
+-            abi_type = mach_map.get(machine, 'libc6')
+-
+-            # XXX assuming GLIBC's ldconfig (with option -p)
+-            regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
+-            regex = os.fsencode(regex % (re.escape(name), abi_type))
+-            try:
+-                with subprocess.Popen(['/sbin/ldconfig', '-p'],
+-                                      stdin=subprocess.DEVNULL,
+-                                      stderr=subprocess.DEVNULL,
+-                                      stdout=subprocess.PIPE,
+-                                      env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
+-                    res = re.search(regex, p.stdout.read())
+-                    if res:
+-                        return os.fsdecode(res.group(1))
+-            except OSError:
+-                pass
++            return None
+ 
+         def _findLib_ld(name):
+             # See issue #9998 for why this is needed
+-- 
+2.33.1
+
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
index e033858acc0..dbfe1c51b4d 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python27-docs-html-2.7.16";
+stdenv.mkDerivation rec {
+  pname = "python27-docs-html";
+  version = "2.7.16";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-html.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-html.tar.bz2";
     sha256 = "1razs1grzhai65ihaiyph8kz6ncjkgp1gsn3c8v7kanf13lqim02";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
index c9a770a6fcf..cf03df68b0f 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python27-docs-pdf-a4-2.7.16";
+stdenv.mkDerivation rec {
+  pname = "python27-docs-pdf-a4";
+  version = "2.7.16";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-a4.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-a4.tar.bz2";
     sha256 = "14ml1ynrlbhg43737bdsb8k5y39wsffqj4iwhylhb8n8l5dplfdq";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
index e03d031bae4..d75ea77f787 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python27-docs-pdf-letter-2.7.16";
+stdenv.mkDerivation rec {
+  pname = "python27-docs-pdf-letter";
+  version = "2.7.16";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-letter.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-letter.tar.bz2";
     sha256 = "019i8n48m71mn31v8d85kkwyqfgcgqnqh506y4a7fcgf656bajs0";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
index d19d7be1935..0c217d18841 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python27-docs-text-2.7.16";
+stdenv.mkDerivation rec {
+  pname = "python27-docs-text";
+  version = "2.7.16";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-text.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-text.tar.bz2";
     sha256 = "1da7swlykvc013684nywycinfz3v8dqkcmv0zj8p7l5lyi5mq03r";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix
index a83363b5c47..2e399aa52fc 100644
--- a/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python37-docs-html-3.7.2";
+stdenv.mkDerivation rec {
+  pname = "python37-docs-html";
+  version = "3.7.2";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-html.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-html.tar.bz2";
     sha256 = "19wbrawpdam09fmyipfy92sxwn1rl93v8jkfqsfx028qhvzf0422";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix
index e60032f71bf..9879a26be52 100644
--- a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python37-docs-pdf-a4-3.7.2";
+stdenv.mkDerivation rec {
+  pname = "python37-docs-pdf-a4";
+  version = "3.7.2";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-a4.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-a4.tar.bz2";
     sha256 = "0vdx762m30hjaabn6w88awcj2qpbz0b6z59zn9wmamd35k59lfba";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix
index b737a1e3299..7c58c45776e 100644
--- a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python37-docs-pdf-letter-3.7.2";
+stdenv.mkDerivation rec {
+  pname = "python37-docs-pdf-letter";
+  version = "3.7.2";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-letter.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-pdf-letter.tar.bz2";
     sha256 = "17g57vlyvqx0k916q84q2pcx7y8myw0fda9fvg9kh0ph930c837x";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix
index 2897042ec04..641e4913f65 100644
--- a/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix
@@ -2,10 +2,12 @@
 
 { stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
-  name = "python37-docs-text-3.7.2";
+stdenv.mkDerivation rec {
+  pname = "python37-docs-text";
+  version = "3.7.2";
+
   src = fetchurl {
-    url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-text.tar.bz2";
+    url = "http://docs.python.org/ftp/python/doc/${version}/python-${version}-docs-text.tar.bz2";
     sha256 = "0h50rlr8jclwfxa106b42q2vn2ynp219c4zsy5qz65n5m3b7y1g2";
   };
   installPhase = ''
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 7937fe171a0..e7b86eef96c 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -95,6 +95,7 @@ with pkgs;
         isPy38 = pythonVersion == "3.8";
         isPy39 = pythonVersion == "3.9";
         isPy310 = pythonVersion == "3.10";
+        isPy311 = pythonVersion == "3.11";
         isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
         isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
         isPy3k = isPy3;
@@ -132,10 +133,10 @@ with pkgs;
       sourceVersion = {
         major = "3";
         minor = "9";
-        patch = "6";
+        patch = "9";
         suffix = "";
       };
-      sha256 = "12hhw2685i68pwfx5hdkqngzhbji4ccyjmqb5rzvkigg6fpj0y9r";
+      sha256 = "sha256-BoKMBKVzwHOk5RxCkqJ8G+SuJmIcPtx8+TGEGM47bSc=";
     };
   };
 
@@ -192,6 +193,19 @@ in {
     inherit passthruFun;
   };
 
+  python311 = callPackage ./cpython {
+    self = python311;
+    sourceVersion = {
+      major = "3";
+      minor = "11";
+      patch = "0";
+      suffix = "a2";
+    };
+    sha256 = "sha256-aKjE1s4lSKe2F9aZ+9s0iTe9rODPltsaoIOEnfXa0T8=";
+    inherit (darwin) configd;
+    inherit passthruFun;
+  };
+
   # Minimal versions of Python (built without optional dependencies)
   python3Minimal = (callPackage ./cpython ({
     self = python3Minimal;
diff --git a/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh b/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh
index 15d2bd0eb34..37479d9d411 100644
--- a/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh
@@ -24,6 +24,17 @@ pythonNamespacesHook() {
                 rm -v "$pathToRemove"
             fi
 
+            # remove ${pname}-${version}-${python-interpeter}-nspkg.pth
+            #
+            # Still need to check that parent directory exists in the
+            # event of a "meta-package" package, which will just install
+            # other packages, but not produce anything in site-packages
+            # besides meta information
+            if [ -d "${constructedPath}/../" -a -z ${dontRemovePth-} ]; then
+                # .pth files are located in the parent directory of a module
+                @findutils@/bin/find ${constructedPath}/../ -name '*-nspkg.pth' -exec rm -v "{}" +
+            fi
+
             # remove __pycache__/ entry, can be interpreter specific. E.g. __init__.cpython-38.pyc
             # use null characters to perserve potential whitespace in filepath
             if [ -d "$pycachePath" ]; then
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index b007e71ce44..af0fa617401 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, ncurses, automake}:
 
-stdenv.mkDerivation {
-  name = "aalib-1.4rc5";
+stdenv.mkDerivation rec {
+  pname = "aalib";
+  version = "1.4rc5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/aa-project/aalib-1.4rc5.tar.gz";
+    url = "mirror://sourceforge/aa-project/aalib-${version}.tar.gz";
     sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv";
   };
 
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 936e793cafe..1ac577e19cd 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -6,10 +6,11 @@
 # files.
 
 stdenv.mkDerivation rec {
-  name = "acl-2.3.1";
+  pname = "acl";
+  version = "2.3.1";
 
   src = fetchurl {
-    url = "mirror://savannah/acl/${name}.tar.gz";
+    url = "mirror://savannah/acl/acl-${version}.tar.gz";
     sha256 = "sha256-dgxhxokBs3/dXu/ur0wMeia9/disdHoe3/HODiQ8Ea8=";
   };
 
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index e1f2d326879..22cac39dbe1 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "aubio-0.4.9";
+  pname = "aubio";
+  version = "0.4.9";
 
   src = fetchurl {
-    url = "https://aubio.org/pub/${name}.tar.bz2";
+    url = "https://aubio.org/pub/aubio-${version}.tar.bz2";
     sha256 = "1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl";
   };
 
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 54df6d7b255..64c6d8ee4f5 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -11,7 +11,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "audiofile-0.3.6";
+  pname = "audiofile";
+  version = "0.3.6";
 
   buildInputs =
     lib.optionals stdenv.isLinux [
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
     ];
 
   src = fetchurl {
-    url = "https://audiofile.68k.org/${name}.tar.gz";
+    url = "https://audiofile.68k.org/audiofile-${version}.tar.gz";
     sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind";
   };
 
diff --git a/pkgs/development/libraries/beecrypt/default.nix b/pkgs/development/libraries/beecrypt/default.nix
index 6b86fca868f..f6c61254c10 100644
--- a/pkgs/development/libraries/beecrypt/default.nix
+++ b/pkgs/development/libraries/beecrypt/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, m4}:
 
-stdenv.mkDerivation {
-  name = "beecrypt-4.2.1";
+stdenv.mkDerivation rec {
+  pname = "beecrypt";
+  version = "4.2.1";
+
   src = fetchurl {
-    url = "mirror://sourceforge/beecrypt/beecrypt-4.2.1.tar.gz";
+    url = "mirror://sourceforge/beecrypt/beecrypt-${version}.tar.gz";
     sha256 = "0pf5k1c4nsj77jfq5ip0ra1gzx2q47xaa0s008fnn6hd11b1yvr8";
   };
   buildInputs = [ m4 ];
diff --git a/pkgs/development/libraries/boost-process/default.nix b/pkgs/development/libraries/boost-process/default.nix
index 148e27faa2b..551c1247949 100644
--- a/pkgs/development/libraries/boost-process/default.nix
+++ b/pkgs/development/libraries/boost-process/default.nix
@@ -1,18 +1,19 @@
 { lib, stdenv, fetchurl, unzip }:
 
-stdenv.mkDerivation {
-  name = "boost-process-0.5";
+stdenv.mkDerivation rec {
+  pname = "boost-process";
+  version = "0.5";
 
   src = fetchurl {
-    url = "http://www.highscore.de/boost/process0.5/process.zip";
+    url = "http://www.highscore.de/boost/process${version}/process.zip";
     sha256 = "1v9y9pffb2b7p642kp9ic4z6kg42ziizmyvbgrqd1ci0i4gn0831";
   };
 
   nativeBuildInputs = [ unzip ];
 
   unpackPhase = ''
-    mkdir $name
-    cd $name
+    mkdir boost-process-$version
+    cd boost-process-$version
     unzip $src
   '';
 
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
index bcb452ea4f8..b01f62e9dea 100644
--- a/pkgs/development/libraries/boost/1.55.nix
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchurl, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.55.0";
 
   patches = [ ./clang-math.patch ./clang-math-2.patch ./gcc-5.patch ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
   };
 })
diff --git a/pkgs/development/libraries/boost/1.59.nix b/pkgs/development/libraries/boost/1.59.nix
index 0f6e9a35b6e..88e584f5e41 100644
--- a/pkgs/development/libraries/boost/1.59.nix
+++ b/pkgs/development/libraries/boost/1.59.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.59.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_59_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj";
   };
 })
diff --git a/pkgs/development/libraries/boost/1.60.nix b/pkgs/development/libraries/boost/1.60.nix
index 4bc7a1cc732..0cf81a06029 100644
--- a/pkgs/development/libraries/boost/1.60.nix
+++ b/pkgs/development/libraries/boost/1.60.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.60.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_60_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     sha256 = "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8";
   };
 
diff --git a/pkgs/development/libraries/boost/1.65.nix b/pkgs/development/libraries/boost/1.65.nix
index 764f38d5b74..6238a88424f 100644
--- a/pkgs/development/libraries/boost/1.65.nix
+++ b/pkgs/development/libraries/boost/1.65.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.65.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_65_1.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     # SHA256 from http://www.boost.org/users/history/version_1_65_1.html
     sha256 = "9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81";
   };
diff --git a/pkgs/development/libraries/boost/1.66.nix b/pkgs/development/libraries/boost/1.66.nix
index af61aa51944..5bc3dcbff5a 100644
--- a/pkgs/development/libraries/boost/1.66.nix
+++ b/pkgs/development/libraries/boost/1.66.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.66.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_66_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
     sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9";
   };
diff --git a/pkgs/development/libraries/boost/1.68.nix b/pkgs/development/libraries/boost/1.68.nix
index 920dd9a300b..7fb85d7239f 100644
--- a/pkgs/development/libraries/boost/1.68.nix
+++ b/pkgs/development/libraries/boost/1.68.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, fetchpatch, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.68.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_68_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     # SHA256 from http://www.boost.org/users/history/version_1_68_0.html
     sha256 = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7";
   };
diff --git a/pkgs/development/libraries/boost/1.69.nix b/pkgs/development/libraries/boost/1.69.nix
index 7292356ecd1..d934e3267fc 100644
--- a/pkgs/development/libraries/boost/1.69.nix
+++ b/pkgs/development/libraries/boost/1.69.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, fetchpatch, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.69.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_69_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     # SHA256 from http://www.boost.org/users/history/version_1_69_0.html
     sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
   };
diff --git a/pkgs/development/libraries/boost/1.70.nix b/pkgs/development/libraries/boost/1.70.nix
index 3b898cfc0ae..bc70797acda 100644
--- a/pkgs/development/libraries/boost/1.70.nix
+++ b/pkgs/development/libraries/boost/1.70.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, fetchpatch, ... } @ args:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix (args // rec {
   version = "1.70.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_70_0.tar.bz2";
+    url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     # SHA256 from http://www.boost.org/users/history/version_1_70_0.html
     sha256 = "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778";
   };
diff --git a/pkgs/development/libraries/boost/1.72.nix b/pkgs/development/libraries/boost/1.72.nix
index 97dad9b6c8a..bb2fccdfaf7 100644
--- a/pkgs/development/libraries/boost/1.72.nix
+++ b/pkgs/development/libraries/boost/1.72.nix
@@ -4,10 +4,9 @@ callPackage ./generic.nix (args // rec {
   version = "1.72.0";
 
   src = fetchurl {
-    #url = "mirror://sourceforge/boost/boost_1_72_0.tar.bz2";
     urls = [
-      "mirror://sourceforge/boost/boost_1_72_0.tar.bz2"
-      "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2"
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
     ];
     # SHA256 from http://www.boost.org/users/history/version_1_72_0.html
     sha256 = "59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722";
diff --git a/pkgs/development/libraries/boost/1.73.nix b/pkgs/development/libraries/boost/1.73.nix
index 289bea197c3..1d53ebcccd7 100644
--- a/pkgs/development/libraries/boost/1.73.nix
+++ b/pkgs/development/libraries/boost/1.73.nix
@@ -4,10 +4,9 @@ callPackage ./generic.nix (args // rec {
   version = "1.73.0";
 
   src = fetchurl {
-    #url = "mirror://sourceforge/boost/boost_1_73_0.tar.bz2";
     urls = [
-      "mirror://sourceforge/boost/boost_1_73_0.tar.bz2"
-      "https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.bz2"
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
     ];
     # SHA256 from http://www.boost.org/users/history/version_1_73_0.html
     sha256 = "4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402";
diff --git a/pkgs/development/libraries/boost/1.74.nix b/pkgs/development/libraries/boost/1.74.nix
index a181ed94c26..f3a29dafbcd 100644
--- a/pkgs/development/libraries/boost/1.74.nix
+++ b/pkgs/development/libraries/boost/1.74.nix
@@ -5,8 +5,8 @@ callPackage ./generic.nix (args // rec {
 
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/boost/boost_1_74_0.tar.bz2"
-      "https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2"
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
     ];
     # SHA256 from http://www.boost.org/users/history/version_1_74_0.html
     sha256 = "83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1";
diff --git a/pkgs/development/libraries/boost/1.75.nix b/pkgs/development/libraries/boost/1.75.nix
index ff1073bd026..1432899f996 100644
--- a/pkgs/development/libraries/boost/1.75.nix
+++ b/pkgs/development/libraries/boost/1.75.nix
@@ -5,8 +5,8 @@ callPackage ./generic.nix (args // rec {
 
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/boost/boost_1_75_0.tar.bz2"
-      "https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2"
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
     ];
     # SHA256 from http://www.boost.org/users/history/version_1_75_0.html
     sha256 = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb";
diff --git a/pkgs/development/libraries/boost/1.77.nix b/pkgs/development/libraries/boost/1.77.nix
new file mode 100644
index 00000000000..634523b244c
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.77.nix
@@ -0,0 +1,15 @@
+{ callPackage, fetchurl, fetchpatch, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.77.0";
+
+  src = fetchurl {
+    urls = [
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+    ];
+    # SHA256 from http://www.boost.org/users/history/version_1_77_0.html
+    sha256 = "sha256-/J+F/AMOIzFCkIJBr3qEbmBjCqc4jeml+vsfOiaECFQ=";
+  };
+})
+
diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix
index 3b79378605f..aeb0878a0d1 100644
--- a/pkgs/development/libraries/boost/default.nix
+++ b/pkgs/development/libraries/boost/default.nix
@@ -44,4 +44,5 @@ in {
   boost173 = makeBoost ./1.73.nix;
   boost174 = makeBoost ./1.74.nix;
   boost175 = makeBoost ./1.75.nix;
+  boost177 = makeBoost ./1.77.nix;
 }
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index 39792d4fd6a..3fdbbd23ecd 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, ucommon, openssl, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "ccrtp-2.1.2";
+  pname = "ccrtp";
+  version = "2.1.2";
 
   src = fetchurl {
-    url = "mirror://gnu/ccrtp/${name}.tar.gz";
+    url = "mirror://gnu/ccrtp/ccrtp-${version}.tar.gz";
     sha256 = "17ili8l7zqbbkzr1rcy4hlnazkf50mds41wg6n7bfdsx3c7cldgh";
   };
 
diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix
index 73ffd6c12b2..1a3e261c60e 100644
--- a/pkgs/development/libraries/clearsilver/default.nix
+++ b/pkgs/development/libraries/clearsilver/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, python2 }:
 
 stdenv.mkDerivation rec {
-  name = "clearsilver-0.10.5";
+  pname = "clearsilver";
+  version = "0.10.5";
 
   src = fetchurl {
-    url = "http://www.clearsilver.net/downloads/${name}.tar.gz";
+    url = "http://www.clearsilver.net/downloads/clearsilver-${version}.tar.gz";
     sha256 = "1046m1dpq3nkgxbis2dr2x7hynmy51n64465q78d7pdgvqwa178y";
   };
 
diff --git a/pkgs/development/libraries/cloog/0.18.0.nix b/pkgs/development/libraries/cloog/0.18.0.nix
index c952c1a563b..12e279797e7 100644
--- a/pkgs/development/libraries/cloog/0.18.0.nix
+++ b/pkgs/development/libraries/cloog/0.18.0.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, gmp, isl }:
 
 stdenv.mkDerivation rec {
-  name = "cloog-0.18.0";
+  pname = "cloog";
+  version = "0.18.0";
 
   src = fetchurl {
-    url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
+    url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-${version}.tar.gz";
     sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
   };
 
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 9c1f3c21cd2..52caa26c9c5 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, cmake, boost, zlib}:
 
 stdenv.mkDerivation rec {
-  name = "clucene-core-2.3.3.4";
+  pname = "clucene-core";
+  version = "2.3.3.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/clucene/${name}.tar.gz";
+    url = "mirror://sourceforge/clucene/clucene-core-${version}.tar.gz";
     sha256 = "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx";
   };
 
diff --git a/pkgs/development/libraries/clucene-core/default.nix b/pkgs/development/libraries/clucene-core/default.nix
index 8d5b389150a..6f0eb8dfff0 100644
--- a/pkgs/development/libraries/clucene-core/default.nix
+++ b/pkgs/development/libraries/clucene-core/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "clucene-core-0.9.21b";
+  pname = "clucene-core";
+  version = "0.9.21b";
 
   src = fetchurl {
-    url = "mirror://sourceforge/clucene/${name}.tar.bz2";
+    url = "mirror://sourceforge/clucene/clucene-core-${version}.tar.bz2";
     sha256 = "202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317";
   };
 
diff --git a/pkgs/development/libraries/cminpack/default.nix b/pkgs/development/libraries/cminpack/default.nix
index 10d06860436..02ad6acfbe2 100644
--- a/pkgs/development/libraries/cminpack/default.nix
+++ b/pkgs/development/libraries/cminpack/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "cminpack-1.3.6";
+  pname = "cminpack";
+  version = "1.3.6";
 
   src = fetchurl {
-    url = "http://devernay.free.fr/hacks/cminpack/${name}.tar.gz";
+    url = "http://devernay.free.fr/hacks/cminpack/cminpack-${version}.tar.gz";
     sha256 = "17yh695aim508x1kn9zf6g13jxwk3pi3404h5ix4g5lc60hzs1rw";
   };
 
diff --git a/pkgs/development/libraries/cpptest/default.nix b/pkgs/development/libraries/cpptest/default.nix
index 17bd3900386..a3558e0ef49 100644
--- a/pkgs/development/libraries/cpptest/default.nix
+++ b/pkgs/development/libraries/cpptest/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cpptest-2.0.0";
+  pname = "cpptest";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/cpptest/cpptest/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/cpptest/cpptest/cpptest-${version}/cpptest-${version}.tar.gz";
     sha256 = "0lpy3f2fjx1srh02myanlp6zfi497whlldcrnij39ghfhm0arcnm";
   };
 
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 0bab4eb1949..c6be0dd419d 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.112";
+  pname = "dbus-glib";
+  version = "0.112";
 
   src = fetchurl {
-    url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
+    url = "${meta.homepage}/releases/dbus-glib/dbus-glib-${version}.tar.gz";
     sha256 = "sha256-fVUNzN/NKG4ziVUBgp7Zce62XGFOc6rbSgiu73GbFDo=";
   };
 
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 22798fb1d84..a3c5bbbf70b 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , lib
+, fetchpatch
 , fetchurl
 , pkg-config
 , expat
@@ -15,6 +16,8 @@
 , docbook_xml_dtd_44
 , docbook-xsl-nons
 , xmlto
+, autoreconfHook
+, autoconf-archive
 }:
 
 stdenv.mkDerivation rec {
@@ -32,15 +35,23 @@ stdenv.mkDerivation rec {
     # Also applied upstream in https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/189,
     # expected in version 1.14
     ./docs-reproducible-ids.patch
+    # AC_PATH_XTRA doesn't seem to find X11 libs even though libX11 seems
+    # to provide valid pkg-config files. This replace AC_PATH_XTRA with
+    # PKG_CHECK_MODULES.
+    # MR merged cf https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/212/diffs?commit_id=23880a181e82ee7f
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/dbus/dbus/-/commit/6bfaea0707ba1a7788c4b6d30c18fb094f3a1dd4.patch";
+      sha256 = "1d8ay55n2ksw5faqx3hsdpfni3xl3gq9hnjl65073xcfnx67x8d2";
+    })
   ] ++ (lib.optional stdenv.isSunOS ./implement-getgrouplist.patch);
 
   postPatch = ''
-    substituteInPlace tools/Makefile.in \
-      --replace 'install-localstatelibDATA:' 'disabled:' \
+    substituteInPlace bus/Makefile.am \
+      --replace 'install-data-hook:' 'disabled:' \
+      --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus' ':'
+    substituteInPlace tools/Makefile.am \
       --replace 'install-data-local:' 'disabled:' \
       --replace 'installcheck-local:' 'disabled:'
-    substituteInPlace bus/Makefile.in \
-      --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus' ':'
   '' + /* cleanup of runtime references */ ''
     substituteInPlace ./dbus/dbus-sysdeps-unix.c \
       --replace 'DBUS_BINDIR "/dbus-launch"' "\"$lib/bin/dbus-launch\""
@@ -51,6 +62,8 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "lib" "doc" "man" ];
 
   nativeBuildInputs = [
+    autoreconfHook
+    autoconf-archive
     pkg-config
     docbook_xml_dtd_44
     docbook-xsl-nons
diff --git a/pkgs/development/libraries/dclib/default.nix b/pkgs/development/libraries/dclib/default.nix
index b393b74f2b2..05ea7db2cac 100644
--- a/pkgs/development/libraries/dclib/default.nix
+++ b/pkgs/development/libraries/dclib/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libxml2, openssl, bzip2}:
 
-stdenv.mkDerivation {
-  name = "dclib-0.3.7";
+stdenv.mkDerivation rec {
+  pname = "dclib";
+  version = "0.3.7";
 
   src = fetchurl {
-    url = "ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-0.3.7.tar.bz2";
+    url = "ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-${version}.tar.bz2";
     sha256 = "02jdzm5hqzs1dv2rd596vgpcjaapm55pqqapz5m94l30v4q72rfc";
   };
 
diff --git a/pkgs/development/libraries/dclxvi/default.nix b/pkgs/development/libraries/dclxvi/default.nix
index 8d7dc5a0178..ac2664a1c9f 100644
--- a/pkgs/development/libraries/dclxvi/default.nix
+++ b/pkgs/development/libraries/dclxvi/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "dclxvi-2013-01-27";
+  pname = "dclxvi";
+  version = "unstable-2013-01-27";
 
   src = fetchFromGitHub {
     owner = "agl";
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index 0d1374018b6..e70a8210df8 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.1";
+  version = "2.3.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-e0sa/PLNi/ppHe6mGIQE0zfyMXS7w5ucKt0r80Bzbpw=";
+    sha256 = "sha256-zpukf9TTQDG9aURVmKaYpmEWArKw6R1wXpGm9QmerW4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 22875e51842..64e6f9a2476 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , substituteAll
 , fetchurl
 , pkg-config
@@ -21,6 +22,14 @@ stdenv.mkDerivation rec {
     sha256 = "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55";
   };
 
+  patches = [
+    # Fix font style detection
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/92fbf14b0d7c4737ffe1e8326b7ab8ffae5548c3.patch";
+      sha256 = "1wmyax2151hg3m11q61mv25k45zk2w3xapb4p1r6wzk91zjlsgyr";
+    })
+  ];
+
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/freealut/default.nix b/pkgs/development/libraries/freealut/default.nix
index 3bb6eaddfa3..36bc4a25677 100644
--- a/pkgs/development/libraries/freealut/default.nix
+++ b/pkgs/development/libraries/freealut/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, darwin, fetchurl, openal }:
 
 stdenv.mkDerivation rec {
-  name = "freealut-1.1.0";
+  pname = "freealut";
+  version = "1.1.0";
 
   src = fetchurl {
-    url = "http://www.openal.org/openal_webstf/downloads/${name}.tar.gz";
+    url = "http://www.openal.org/openal_webstf/downloads/freealut-${version}.tar.gz";
     sha256 = "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0";
   };
 
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index 56de42d9dc5..a2d6078024d 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, pkg-config, glib, autoreconfHook }:
 
-let
-  cross = stdenv.hostPlatform != stdenv.buildPlatform;
-in stdenv.mkDerivation (rec {
-  name = "gamin-0.1.10";
+stdenv.mkDerivation rec {
+  pname = "gamin";
+  version = "0.1.10";
 
   src = fetchurl {
-    url = "https://www.gnome.org/~veillard/gamin/sources/${name}.tar.gz";
+    url = "https://www.gnome.org/~veillard/gamin/sources/gamin-${version}.tar.gz";
     sha256 = "18cr51y5qacvs2fc2p1bqv32rs8bzgs6l67zhasyl45yx055y218";
   };
 
@@ -22,6 +21,10 @@ in stdenv.mkDerivation (rec {
     "CPPFLAGS=-D_GNU_SOURCE"
   ];
 
+  preBuild = lib.optionalString stdenv.isDarwin ''
+    sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
+  '';
+
   patches = [ ./deadlock.patch ]
     ++ map fetchurl (import ./debian-patches.nix)
     ++ lib.optional stdenv.cc.isClang ./returnval.patch
@@ -29,7 +32,7 @@ in stdenv.mkDerivation (rec {
       name = "fix-pthread-mutex.patch";
       url = "https://git.alpinelinux.org/aports/plain/main/gamin/fix-pthread-mutex.patch?h=3.4-stable&id=a1a836b089573752c1b0da7d144c0948b04e8ea8";
       sha256 = "13igdbqsxb3sz0h417k6ifmq2n4siwqspj6slhc7fdl5wd1fxmdz";
-    }) ++ lib.optional (cross) ./abstract-socket-namespace.patch ;
+    }) ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./abstract-socket-namespace.patch;
 
 
   meta = with lib; {
@@ -41,8 +44,3 @@ in stdenv.mkDerivation (rec {
   };
 }
 
-// lib.optionalAttrs stdenv.isDarwin {
-  preBuild =  ''
-    sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
-  '';
-})
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index 3a64cc56397..3d2a83dca4f 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch
+{ lib, stdenv, fetchurl
 , autoconf
 , automake
 , pkg-config
@@ -14,21 +14,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gd";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchurl {
     url = "https://github.com/libgd/libgd/releases/download/${pname}-${version}/libgd-${version}.tar.xz";
-    sha256 = "1yypywkh8vphcy4qqpf51kxpb0a3r7rjqk3fc61rpn70hiq092j7";
+    sha256 = "0qas3q9xz3wgw06dm2fj0i189rain6n60z1vyq50d5h7wbn25s1z";
   };
 
   hardeningDisable = [ "format" ];
-  patches = [
-    (fetchpatch {
-      name = "CVE-2021-40812.partial.patch";
-      url = "https://github.com/libgd/libgd/commit/6f5136821be86e7068fcdf651ae9420b5d42e9a9.patch";
-      sha256 = "11rvhd23bl05ksj8z39hwrhqqjm66svr4hl3y230wrc64rvnd2d2";
-    })
-  ];
 
   # -pthread gets passed to clang, causing warnings
   configureFlags = lib.optional stdenv.isDarwin "--enable-werror=no";
diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix
index e66f7bfe2a8..ca4a3c98e0a 100644
--- a/pkgs/development/libraries/giblib/default.nix
+++ b/pkgs/development/libraries/giblib/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, xlibsWrapper, imlib2 }:
 
 stdenv.mkDerivation rec {
-  name = "giblib-1.2.4";
+  pname = "giblib";
+  version = "1.2.4";
 
   src = fetchurl {
-    url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz";
+    url = "http://linuxbrit.co.uk/downloads/giblib-${version}.tar.gz";
     sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
   };
 
diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix
index c0afe067c49..8f3ebcf7d3b 100644
--- a/pkgs/development/libraries/giflib/4.1.nix
+++ b/pkgs/development/libraries/giflib/4.1.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "giflib-4.1.6";
+stdenv.mkDerivation rec {
+  pname = "giflib";
+  version = "4.1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2";
+    url = "mirror://sourceforge/giflib/giflib-${version}.tar.bz2";
     sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1";
   };
 
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index c86b706e13c..2016742351c 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2, fixDarwinDylibNames, pkgsStatic }:
 
 stdenv.mkDerivation rec {
-  name = "giflib-5.2.1";
+  pname = "giflib";
+  version = "5.2.1";
   src = fetchurl {
-    url = "mirror://sourceforge/giflib/${name}.tar.gz";
+    url = "mirror://sourceforge/giflib/giflib-${version}.tar.gz";
     sha256 = "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii";
   };
 
diff --git a/pkgs/development/libraries/gle/default.nix b/pkgs/development/libraries/gle/default.nix
index b7a4f7f2fef..79be821faae 100644
--- a/pkgs/development/libraries/gle/default.nix
+++ b/pkgs/development/libraries/gle/default.nix
@@ -1,11 +1,12 @@
 {lib, stdenv, fetchurl, freeglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}:
-stdenv.mkDerivation {
-  name = "gle-3.1.0";
+stdenv.mkDerivation rec {
+  pname = "gle";
+  version = "3.1.0";
   buildInputs = [libGLU libGL freeglut libX11 libXt libXmu libXi libXext];
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
-      "https://www.linas.org/gle/pub/gle-3.1.0.tar.gz"
+      "mirror://sourceforge/project/gle/gle/gle-${version}/gle-${version}.tar.gz"
+      "https://www.linas.org/gle/pub/gle-${version}.tar.gz"
       ];
     sha256 = "09zs1di4dsssl9k322nzildvf41jwipbzhik9p43yb1bcfsp92nw";
   };
diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix
index 29376cb2567..ab2e740cd86 100644
--- a/pkgs/development/libraries/glew/1.10.nix
+++ b/pkgs/development/libraries/glew/1.10.nix
@@ -5,10 +5,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "glew-1.10.0";
+  pname = "glew";
+  version = "1.10.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/glew/${name}.tgz";
+    url = "mirror://sourceforge/glew/glew-${version}.tgz";
     sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
   };
 
diff --git a/pkgs/development/libraries/glfw/2.x.nix b/pkgs/development/libraries/glfw/2.x.nix
index d05fa6e5f77..75a7c97db2b 100644
--- a/pkgs/development/libraries/glfw/2.x.nix
+++ b/pkgs/development/libraries/glfw/2.x.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libGLU, libGL, libX11, libXext }:
 
 stdenv.mkDerivation rec {
-  name = "glfw-2.7.9";
+  pname = "glfw";
+  version = "2.7.9";
 
   src = fetchurl {
-    url = "mirror://sourceforge/glfw/${name}.tar.bz2";
+    url = "mirror://sourceforge/glfw/glfw-${version}.tar.bz2";
     sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i";
   };
 
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index d5bc952597d..1a693e0e045 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.70.0";
+  version = "2.70.1";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36";
+    sha256 = "Kha/wtJxzNMmbj+0YryKQQPALoG7szmqktb7BgWS17w=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index d41bfd2f413..9f39776be28 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.70.1";
+  version = "2.70.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "+be85/UXU6H0OFO7ysqL8J4V6ZQmjinP16dvZWNiY8A=";
+    sha256 = "BVFFnIXNPaPVjdyQFv0ovlr1A/XhYVpxultRKslFgG8=";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 3dc7774cf84..50f74b15822 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 57c2e259e06..6fa46d6d6c1 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
 
 let
   version = "2.33";
-  patchSuffix = "-56";
+  patchSuffix = "-59";
   sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
 in
 
@@ -63,7 +63,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-56-g6090cf1330
+          glibc-2.33-59-gf9592d65f2
           $ 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/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 0d39abe1ac3..f5605295303 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -1,8 +1,10 @@
 { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip
-, perl, gmp, autoconf, automake, libidn, p11-kit, libiconv
+, perl, gmp, autoconf, automake, libidn, libiconv
 , unbound, dns-root-data, gettext, util-linux
+, cxxBindings ? !stdenv.hostPlatform.isStatic # tries to link libstdc++.so
 , guileBindings ? config.gnutls.guile or false, guile
 , tpmSupport ? false, trousers, which, nettools, libunistring
+, withP11-kit ? !stdenv.hostPlatform.isStatic, p11-kit
 , withSecurity ? false, Security  # darwin Security.framework
 }:
 
@@ -51,13 +53,15 @@ stdenv.mkDerivation rec {
 
   preConfigure = "patchShebangs .";
   configureFlags =
-    lib.optionals stdenv.isLinux [
+    lib.optionals withP11-kit [
     "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
     "--with-default-trust-store-pkcs11=pkcs11:"
   ] ++ [
     "--disable-dependency-tracking"
     "--enable-fast-install"
     "--with-unbound-root-key-file=${dns-root-data}/root.key"
+    (lib.withFeature withP11-kit "p11-kit")
+    (lib.enableFeature cxxBindings "cxx")
   ] ++ lib.optional guileBindings [
     "--enable-guile"
     "--with-guile-site-dir=\${out}/share/guile/site"
@@ -67,7 +71,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp libunistring unbound gettext libiconv ]
+  buildInputs = [ lzo lzip libtasn1 libidn zlib gmp libunistring unbound gettext libiconv ]
+    ++ lib.optional (withP11-kit) p11-kit
     ++ lib.optional (isDarwin && withSecurity) Security
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ lib.optional guileBindings guile;
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 869430538e8..53ae099b1bb 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchurl, qt4, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-0.5.1";
+  pname = "grantlee";
+  version = "0.5.1";
 
 # Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
     urls = [
-      "http://downloads.grantlee.org/${name}.tar.gz"
-      "http://www.loegria.net/grantlee/${name}.tar.gz"
+      "http://downloads.grantlee.org/grantlee-${version}.tar.gz"
+      "http://www.loegria.net/grantlee/grantlee-${version}.tar.gz"
     ];
     sha256 = "1b501xbimizmbmysl1j5zgnp48qw0r2r7lhgmxvzhzlv9jzhj60r";
   };
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index dec2125974d..63d759b7349 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsl";
-  version = "2.7";
+  version = "2.7.1";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${pname}-${version}.tar.gz";
-    sha256 = "sha256-77vzeF2g5TA4vnkHUAYotGYVLbw8FzqH3hteui4jYCs=";
+    sha256 = "sha256-3LD71DBIgyt1f/mUJpGo3XACbV2g/4VgHlJof23us0s=";
   };
 
   preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
diff --git a/pkgs/development/libraries/gsl/gsl-1_16.nix b/pkgs/development/libraries/gsl/gsl-1_16.nix
index 4370314f6ec..2cda6c7955c 100644
--- a/pkgs/development/libraries/gsl/gsl-1_16.nix
+++ b/pkgs/development/libraries/gsl/gsl-1_16.nix
@@ -1,10 +1,11 @@
 { fetchurl, fetchpatch, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gsl-1.16";
+  pname = "gsl";
+  version = "1.16";
 
   src = fetchurl {
-    url = "mirror://gnu/gsl/${name}.tar.gz";
+    url = "mirror://gnu/gsl/gsl-${version}.tar.gz";
     sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
   };
 
diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix
index 6406dad7d6c..0c49e97a56b 100644
--- a/pkgs/development/libraries/gss/default.nix
+++ b/pkgs/development/libraries/gss/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "1.0.3";
 
   src = fetchurl {
-    url = "mirror://gnu/gss/${pname}-${version}.tar.gz";
+    url = "mirror://gnu/gss/gss-${version}.tar.gz";
     sha256 = "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz";
   };
 
diff --git a/pkgs/development/libraries/gtk-engine-bluecurve/default.nix b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
index 918e1679eba..43cf8675735 100644
--- a/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
+++ b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, intltool, gtk2 }:
 
-stdenv.mkDerivation {
-  name = "gtk-engine-bluecurve-1.0";
+stdenv.mkDerivation rec {
+  pname = "gtk-engine-bluecurve";
+  version = "1.0";
 
   src = fetchurl {
-    url = "https://ftp.gnome.org/pub/gnome/teams/art.gnome.org/archive/themes/gtk2/GTK2-Wonderland-Engine-1.0.tar.bz2";
+    url = "https://ftp.gnome.org/pub/gnome/teams/art.gnome.org/archive/themes/gtk2/GTK2-Wonderland-Engine-${version}.tar.bz2";
     sha256 = "1nim3lhmbs5mw1hh76d9258c1p923854x2j6i30gmny812c7qjnm";
   };
 
diff --git a/pkgs/development/libraries/gtk-engines/default.nix b/pkgs/development/libraries/gtk-engines/default.nix
index 70b2c4d1e22..e553efa5f25 100644
--- a/pkgs/development/libraries/gtk-engines/default.nix
+++ b/pkgs/development/libraries/gtk-engines/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, intltool, gtk2 }:
 
-stdenv.mkDerivation {
-  name = "gtk-engines-2.20.2";
+stdenv.mkDerivation rec {
+  pname = "gtk-engines";
+  version = "2.20.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2";
+    url = "mirror://gnome/sources/gtk-engines/${lib.versions.majorMinor version}/gtk-engines-${version}.tar.bz2";
     sha256 = "1db65pb0j0mijmswrvpgkdabilqd23x22d95hp5kwxvcramq1dhm";
   };
 
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index 1a77e50eb54..f5aba82956e 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gupnp";
-  version = "1.4.0";
+  version = "1.4.1";
 
   outputs = [ "out" "dev" ]
     ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-WQ/7ArhNoqGuxo/VNLxArxs33T9iI/nRV3/EirSL428=";
+    sha256 = "sha256-iZGWteZvA7jiXwRqemWM0qaFG+y4Py1VNFqzKBZV3Aw=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 06cc41c6b58..cc6287eace7 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "3.0.0";
+  version = "3.1.2";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "sha256-yRRr4RcnbwoZ1Hn3+zbbocKFyBSLYx/exaAHNGsPINA=";
+    sha256 = "sha256-1xndbJhx+1AzJNnpvvdEcBHPZMPaMI03h6sG2h1d3qs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hotpatch/default.nix b/pkgs/development/libraries/hotpatch/default.nix
index 2dd894ff4a3..84803159a2b 100644
--- a/pkgs/development/libraries/hotpatch/default.nix
+++ b/pkgs/development/libraries/hotpatch/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "hotpatch-0.2";
+  pname = "hotpatch";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "vikasnkumar";
diff --git a/pkgs/development/libraries/java/commons/bsf/default.nix b/pkgs/development/libraries/java/commons/bsf/default.nix
index 629ab7ec131..08b6a99a55d 100644
--- a/pkgs/development/libraries/java/commons/bsf/default.nix
+++ b/pkgs/development/libraries/java/commons/bsf/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "commons-bsf-1.2";
+stdenv.mkDerivation rec {
+  pname = "commons-bsf";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "mirror://apache/commons/bsf/binaries/bsf-bin-2.4.0.tar.gz";
+    url = "mirror://apache/commons/bsf/binaries/bsf-bin-${version}.tar.gz";
     sha256 = "1my3hv4y8cvrd1kr315wvbjqsamzlzswnbqcmsa2m4hqcafddfr8";
   };
 
diff --git a/pkgs/development/libraries/java/commons/logging/default.nix b/pkgs/development/libraries/java/commons/logging/default.nix
index d63a214e2ad..5b6c8b36b34 100644
--- a/pkgs/development/libraries/java/commons/logging/default.nix
+++ b/pkgs/development/libraries/java/commons/logging/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "commons-logging-1.2";
+stdenv.mkDerivation rec {
+  pname = "commons-logging";
+  version = "1.2";
 
   src = fetchurl {
-    url    = "mirror://apache/commons/logging/binaries/commons-logging-1.2-bin.tar.gz";
+    url    = "mirror://apache/commons/logging/binaries/commons-logging-${version}-bin.tar.gz";
     sha256 = "1gc70pmcv0x6ibl89jglmr22f8zpr63iaifi49nrq399qw2qhx9z";
   };
 
diff --git a/pkgs/development/libraries/java/dbus-java/default.nix b/pkgs/development/libraries/java/dbus-java/default.nix
index 9fbcf8b020c..c8e67edfe2b 100644
--- a/pkgs/development/libraries/java/dbus-java/default.nix
+++ b/pkgs/development/libraries/java/dbus-java/default.nix
@@ -1,18 +1,19 @@
-{lib, stdenv, fetchurl, gettext, jdk8, libmatthew_java}:
+{ lib, stdenv, fetchurl, gettext, jdk8, libmatthew_java }:
+
+stdenv.mkDerivation rec {
+  pname = "dbus-java";
+  version = "2.7";
 
-let jdk = jdk8; in
-stdenv.mkDerivation {
-  name = "dbus-java-2.7";
   src = fetchurl {
-    url = "https://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz";
+    url = "https://dbus.freedesktop.org/releases/dbus-java/dbus-java-${version}.tar.gz";
     sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y";
   };
-  JAVA_HOME=jdk;
-  JAVA="${jdk}/bin/java";
+  JAVA_HOME=jdk8;
+  JAVA="${jdk8}/bin/java";
   PREFIX="\${out}";
   JAVAUNIXLIBDIR="${libmatthew_java}/lib/jni";
   JAVAUNIXJARDIR="${libmatthew_java}/share/java";
-  buildInputs = [ gettext jdk ];
+  buildInputs = [ gettext jdk8 ];
   # I'm too lazy to build the documentation
   preBuild = ''
     sed -i -e "s|all: bin doc man|all: bin|" \
diff --git a/pkgs/development/libraries/java/geoipjava/default.nix b/pkgs/development/libraries/java/geoipjava/default.nix
index 0e5b1084b49..cbb6b35a65c 100644
--- a/pkgs/development/libraries/java/geoipjava/default.nix
+++ b/pkgs/development/libraries/java/geoipjava/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, jdk, unzip}:
 
-stdenv.mkDerivation {
-  name = "GeoIPJava-1.2.5";
+stdenv.mkDerivation rec {
+  pname = "GeoIPJava";
+  version = "1.2.5";
+
   src = fetchurl {
-    url = "https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.5.zip";
+    url = "https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-${version}.zip";
     sha256 = "1gb2d0qvvq7xankz7l7ymbr3qprwk9bifpy4hlgw0sq4i6a55ypd";
   };
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/java/jflex/default.nix b/pkgs/development/libraries/java/jflex/default.nix
index cf5b42a0ac2..4f5a9de7bd5 100644
--- a/pkgs/development/libraries/java/jflex/default.nix
+++ b/pkgs/development/libraries/java/jflex/default.nix
@@ -1,14 +1,15 @@
 {lib, stdenv, fetchurl, jre} :
 
 stdenv.mkDerivation rec {
-  name = "jflex-1.8.2";
+  pname = "jflex";
+  version = "1.8.2";
 
   src = fetchurl {
-    url = "http://jflex.de/release/${name}.tar.gz";
+    url = "http://jflex.de/release/jflex-${version}.tar.gz";
     sha256 = "1ar7g6zb2xjgnws3j4cqcp86jplhc9av8cpcjdmxw08x6igd5q51";
   };
 
-  sourceRoot = name;
+  sourceRoot = "${pname}-${version}";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix
index a3cdaa37ed0..6f736403e05 100644
--- a/pkgs/development/libraries/java/libmatthew-java/default.nix
+++ b/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, jdk}:
 
-stdenv.mkDerivation {
-  name = "libmatthew-java-0.8";
+stdenv.mkDerivation rec {
+  pname = "libmatthew-java";
+  version = "0.8";
+
   src = fetchurl {
-    url = "https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz";
+    url = "https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-${version}.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-${version}.tar.gz";
     sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85";
   };
   JAVA_HOME=jdk;
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index b4f0f4525f7..af75be53757 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, jdk }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.20";
+  pname = "lombok";
+  version = "1.18.20";
 
   src = fetchurl {
-    url = "https://projectlombok.org/downloads/${name}.jar";
+    url = "https://projectlombok.org/downloads/lombok-${version}.jar";
     sha256 = "sha256-zpR75sL751n7vo7ztCtoJfgUyYyIU/EBPy2WMM7fdLA=";
   };
 
diff --git a/pkgs/development/libraries/java/mockobjects/default.nix b/pkgs/development/libraries/java/mockobjects/default.nix
index 3780ef4abed..93b22235784 100644
--- a/pkgs/development/libraries/java/mockobjects/default.nix
+++ b/pkgs/development/libraries/java/mockobjects/default.nix
@@ -1,10 +1,11 @@
-{lib, stdenv, fetchurl} :
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "mockobjects-0.09";
+stdenv.mkDerivation rec {
+  pname = "mockobjects";
+  version = "0.09";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar";
+    url = "mirror://sourceforge/mockobjects/mockobjects-bin-${version}.tar";
     sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz";
   };
 
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index c5d6098a3cd..5c032f5469c 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -1,10 +1,11 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "smack-4.1.9";
+stdenv.mkDerivation rec {
+  pname = "smack";
+  version = "4.1.9";
 
   src = fetchurl {
-    url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_4_1_9.tar.gz";
+    url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_${lib.replaceStrings ["."] ["_"] version}.tar.gz";
     sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp";
   };
 
diff --git a/pkgs/development/libraries/lib3ds/default.nix b/pkgs/development/libraries/lib3ds/default.nix
index 6e926dfb421..78ee4172b57 100644
--- a/pkgs/development/libraries/lib3ds/default.nix
+++ b/pkgs/development/libraries/lib3ds/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "lib3ds-1.3.0";
+  pname = "lib3ds";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "http://lib3ds.googlecode.com/files/${name}.zip";
+    url = "http://lib3ds.googlecode.com/files/lib3ds-${version}.zip";
     sha256 = "1qr9arfdkjf7q11xhvxwzmhxqz3nhcjkyb8zzfjpz9jm54q0rc7m";
   };
 
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
index 7d762fc8077..5d0f2ff5684 100644
--- a/pkgs/development/libraries/libLAS/default.nix
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip2, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  name = "libLAS-1.8.1";
+  pname = "libLAS";
+  version = "1.8.1";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/liblas/${name}.tar.bz2";
+    url = "https://download.osgeo.org/liblas/libLAS-${version}.tar.bz2";
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index e5f6324e261..dccad33dda9 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "libcdaudio-0.99.12p2";
+stdenv.mkDerivation rec {
+  pname = "libcdaudio";
+  version = "0.99.12p2";
+
   src = fetchurl {
-    url = "mirror://sourceforge/libcdaudio/libcdaudio-0.99.12p2.tar.gz";
+    url = "mirror://sourceforge/libcdaudio/libcdaudio-${version}.tar.gz";
     sha256 = "1fsy6dlzxrx177qc877qhajm9l4g28mvh06h2l15rxy4bapzknjz" ;
   };
 
diff --git a/pkgs/development/libraries/libcdio-paranoia/default.nix b/pkgs/development/libraries/libcdio-paranoia/default.nix
index 905d39dbd8e..999c0450489 100644
--- a/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libcdio, pkg-config,
   libiconv, IOKit, DiskArbitration}:
 
-stdenv.mkDerivation {
-  name = "libcdio-paranoia-0.94+2";
+stdenv.mkDerivation rec {
+  pname = "libcdio-paranoia";
+  version = "0.94+2";
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "libcdio-paranoia";
-    rev = "release-10.2+0.94+2";
+    rev = "release-10.2+${version}";
     sha256 = "1wjgmmaca4baw7k5c3vdap9hnjc49ciagi5kvpvync3aqfmdvkha";
   };
 
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index 71a953b8390..546573c6230 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, libcddb, pkg-config, ncurses, help2man, libiconv, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-2.1.0";
+  pname = "libcdio";
+  version = "2.1.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libcdio/${name}.tar.bz2";
+    url = "mirror://gnu/libcdio/libcdio-${version}.tar.bz2";
     sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
   };
 
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index f02ac04621f..22cf5068f39 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -4,10 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libchop-0.5.2";
+  pname = "libchop";
+  version = "0.5.2";
 
   src = fetchurl {
-    url = "mirror://savannah/libchop/${name}.tar.gz";
+    url = "mirror://savannah/libchop/libchop-${version}.tar.gz";
     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
   };
 
diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix
index 6a86d4941bf..79e063826f8 100644
--- a/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -6,10 +6,11 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "libdbi-drivers-0.9.0";
+  pname = "libdbi-drivers";
+  version = "0.9.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdbi-drivers/${name}.tar.gz";
+    url = "mirror://sourceforge/libdbi-drivers/libdbi-drivers-${version}.tar.gz";
     sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
   };
 
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index 43d9d2077fe..6455bf03b5a 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -1,12 +1,13 @@
 {lib, stdenv, fetchurl, automake, autoconf, libtool}:
 
-stdenv.mkDerivation {
-  name = "libdnet-1.12";
+stdenv.mkDerivation rec {
+  pname = "libdnet";
+  version = "1.12";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-1.12.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-${version}.tgz";
     sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3";
   };
 
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index ae442e69836..731039e26a0 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdrm";
-  version = "2.4.108";
+  version = "2.4.109";
 
   src = fetchurl {
     url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "186nwf7qnzh805iz8k3djq3pd1m79mgfnjsbw7yn6rskpj699mx1";
+    sha256 = "09kzrdsd14zr0i3izvi5mck4vqccl3c9hr84r9i4is0zikh554v2";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/pkgs/development/libraries/libdv/default.nix b/pkgs/development/libraries/libdv/default.nix
index ff3c7f6f863..55191fff899 100644
--- a/pkgs/development/libraries/libdv/default.nix
+++ b/pkgs/development/libraries/libdv/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, popt }:
 
 stdenv.mkDerivation rec {
-  name = "libdv-1.0.0";
+  pname = "libdv";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdv/${name}.tar.gz";
+    url = "mirror://sourceforge/libdv/libdv-${version}.tar.gz";
     sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
   };
 
diff --git a/pkgs/development/libraries/libdvdnav/4.2.1.nix b/pkgs/development/libraries/libdvdnav/4.2.1.nix
index 1f832de5bb3..0285ff22fe2 100644
--- a/pkgs/development/libraries/libdvdnav/4.2.1.nix
+++ b/pkgs/development/libraries/libdvdnav/4.2.1.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, libdvdread}:
 
-stdenv.mkDerivation {
-  name = "libdvdnav-4.2.1";
+stdenv.mkDerivation rec {
+  pname = "libdvdnav";
+  version = "4.2.1";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-${version}.tar.xz";
     sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
   };
 
diff --git a/pkgs/development/libraries/libdvdread/4.9.9.nix b/pkgs/development/libraries/libdvdread/4.9.9.nix
index 7049e1dd993..87ab724796c 100644
--- a/pkgs/development/libraries/libdvdread/4.9.9.nix
+++ b/pkgs/development/libraries/libdvdread/4.9.9.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, libdvdcss}:
 
-stdenv.mkDerivation {
-  name = "libdvdread-4.9.9";
+stdenv.mkDerivation rec {
+  pname = "libdvdread";
+  version = "4.9.9";
 
   src = fetchurl {
-    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz";
+    url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-${version}.tar.xz";
     sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
   };
 
diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix
index 5a0347e5954..37eeb73f91c 100644
--- a/pkgs/development/libraries/libdwg/default.nix
+++ b/pkgs/development/libraries/libdwg/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, indent}:
 
-stdenv.mkDerivation {
-  name = "libdwg-0.6";
+stdenv.mkDerivation rec {
+  pname = "libdwg";
+  version = "0.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libdwg/libdwg-0.6.tar.bz2";
+    url = "mirror://sourceforge/libdwg/libdwg-${version}.tar.bz2";
     sha256 = "0l8ks1x70mkna1q7mzy1fxplinz141bd24qhrm1zkdil74mcsryc";
   };
 
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index 7172df01e22..ae052971825 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchurl, pkg-config, libestr }:
-stdenv.mkDerivation {
-  name = "libee-0.4.1";
+stdenv.mkDerivation rec {
+  pname = "libee";
+  version = "0.4.1";
 
   src = fetchurl {
-    url = "http://www.libee.org/download/files/download/libee-0.4.1.tar.gz";
+    url = "http://www.libee.org/download/files/download/libee-${version}.tar.gz";
     sha256 = "09xhgzmsq0g3jsyj24vy67bhzk2fv971w5ixdkhfwgar70cw1nn0";
   };
 
diff --git a/pkgs/development/libraries/libepoxy/default.nix b/pkgs/development/libraries/libepoxy/default.nix
index 83b8ba8960d..86f6843bfb5 100644
--- a/pkgs/development/libraries/libepoxy/default.nix
+++ b/pkgs/development/libraries/libepoxy/default.nix
@@ -1,37 +1,64 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, utilmacros, python3
-, libGL, libX11
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, utilmacros
+, python3
+, libGL
+, libX11
+, Carbon
+, OpenGL
 }:
 
-with lib;
+let
+  inherit (lib) getLib optional optionalString;
 
+in
 stdenv.mkDerivation rec {
   pname = "libepoxy";
-  version = "1.5.4";
+  version = "1.5.9";
 
   src = fetchFromGitHub {
     owner = "anholt";
     repo = pname;
     rev = version;
-    sha256 = "0rmg0qlswn250h0arx434jh3hwzsr95lawanpmh1czsfvrcx59l6";
+    sha256 = "sha256-8rdmC8FZUkKkEvWPJIdfrBQHiwa81vl5tmVqRdU4UIY=";
   };
 
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ autoreconfHook pkg-config utilmacros python3 ];
-  buildInputs = [ libGL libX11 ];
+  patches = [ ./libgl-path.patch ];
 
-  preConfigure = optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace build_glx=no build_glx=yes
+  postPatch = ''
+    patchShebangs src/*.py
+  ''
+  + optionalString stdenv.isDarwin ''
     substituteInPlace src/dispatch_common.h --replace "PLATFORM_HAS_GLX 0" "PLATFORM_HAS_GLX 1"
   '';
 
-  patches = [ ./libgl-path.patch ];
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ meson ninja pkg-config utilmacros python3 ];
+
+  buildInputs = [
+    libGL
+    libX11
+  ] ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    OpenGL
+  ];
+
+  mesonFlags = [
+    "-Dtests=${if doCheck then "true" else "false"}"
+  ]
+  ++ optional stdenv.isDarwin "-Dglx=yes";
 
   NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
 
-  doCheck = false; # needs X11
+  # tests are running from version 1.5.9
+  doCheck = true;
 
-  meta = {
+  meta = with lib; {
     description = "A library for handling OpenGL function pointer management";
     homepage = "https://github.com/anholt/libepoxy";
     license = licenses.mit;
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index 1c650ad60de..0ab1f8fa984 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libexif";
-  version = "0.6.23";
+  version = "0.6.24";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${builtins.replaceStrings ["."] ["_"] version}-release";
-    sha256 = "sha256-Os0yI/IPoe9MuhXgNdDaIg6uohclA2bjeu9t3tbUoNA=";
+    sha256 = "sha256-Eqgnm31s8iPJdhTpk5HM89HSZTXTK+e7YZ/CCdbeJX4=";
   };
 
   nativeBuildInputs = [ autoreconfHook gettext ];
diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix
index 4142c3763b5..c1c6ef7032a 100644
--- a/pkgs/development/libraries/libfabric/default.nix
+++ b/pkgs/development/libraries/libfabric/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.13.1";
+  version = "1.13.2";
 
   enableParallelBuilding = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0USQMBXZrbz4GtXLNsSti9ohUOqqo0OCtVz+0Uk9ndI=";
+    sha256 = "sha256-ydMZP83keUGDYDw9i/SCa4U1KEgfuqkFklwRKbfLoK8=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index 62a72175b8e..13bbd246c64 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.8.0";
+  version = "1.9.0";
 
   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm";
+    sha256 = "sha256-ujnjrzc20t/IrT0ctuO+fszAlYhhCjsHyGXQ7T5YwtI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index 897222116e8..b30aa89b148 100644
--- a/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -3,10 +3,11 @@
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.5.6";
+  pname = "libgcrypt";
+  version = "1.5.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
+    url = "mirror://gnupg/libgcrypt/libgcrypt-${version}.tar.bz2";
     sha256 = "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h";
   };
 
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 49dcec3ee78..e56e512931a 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -6,10 +6,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "libgpod-0.8.3";
+  pname = "libgpod";
+  version = "0.8.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
+    url = "mirror://sourceforge/gtkpod/libgpod-${version}.tar.bz2";
     sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 3d7df2bba9c..92aaf6201b9 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -16,13 +16,13 @@ assert !(enableJpeg7 && enableJpeg8);  # pick only one or none, not both
 stdenv.mkDerivation rec {
 
   pname = "libjpeg-turbo";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "libjpeg-turbo";
     repo = "libjpeg-turbo";
     rev = version;
-    sha256 = "sha256-Ma3Q/zMJPjsQmoaYJtVbHJOx65AfGLWJYi2iRFm3l5s=";
+    sha256 = "sha256-mlHueKAU/uNUdV9s4jWKAE+XVJdpEFhw2hxGvqRwAGc=";
   };
 
   # This is needed by freeimage
diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix
index b406654caba..828090875e8 100644
--- a/pkgs/development/libraries/libjxl/default.nix
+++ b/pkgs/development/libraries/libjxl/default.nix
@@ -1,4 +1,5 @@
 { stdenv, lib, fetchFromGitHub
+, fetchpatch
 , asciidoc
 , brotli
 , cmake
@@ -18,17 +19,26 @@
 
 stdenv.mkDerivation rec {
   pname = "libjxl";
-  version = "0.5";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "libjxl";
     repo = "libjxl";
     rev = "v${version}";
-    sha256 = "0grljgmy6cfhm8zni9d1mdn01qzc49k1pl75vhr7qcd3sp4r8lxm";
+    sha256 = "sha256-fTK5hyU9PZ6nigMsfzVugwviihgAXfEcLF+l+n5h+54=";
     # There are various submodules in `third_party/`.
     fetchSubmodules = true;
   };
 
+  patches = [
+    # present in master, remove after 0.7?
+    (fetchpatch {
+      name = "fix-link-lld-macho.patch";
+      url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch";
+      sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk";
+    })
+  ];
+
   # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
   # unless we disable highway's tests
   postPatch = lib.optional stdenv.isDarwin ''
diff --git a/pkgs/development/libraries/liblogging/default.nix b/pkgs/development/libraries/liblogging/default.nix
index 4a28bf67741..df27688e105 100644
--- a/pkgs/development/libraries/liblogging/default.nix
+++ b/pkgs/development/libraries/liblogging/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "liblogging-1.0.6";
+  pname = "liblogging";
+  version = "1.0.6";
 
   src = fetchurl {
-    url = "http://download.rsyslog.com/liblogging/${name}.tar.gz";
+    url = "http://download.rsyslog.com/liblogging/liblogging-${version}.tar.gz";
     sha256 = "14xz00mq07qmcgprlj5b2r21ljgpa4sbwmpr6jm2wrf8wms6331k";
   };
 
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
index 293f72d67b2..af4190f9683 100644
--- a/pkgs/development/libraries/liblognorm/default.nix
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libestr, json_c, pcre, fastJson }:
 
 stdenv.mkDerivation rec {
-  name = "liblognorm-2.0.6";
+  pname = "liblognorm";
+  version = "2.0.6";
 
   src = fetchurl {
-    url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
+    url = "http://www.liblognorm.com/files/download/liblognorm-${version}.tar.gz";
     sha256 = "1wpn15c617r7lfm1z9d5aggmmi339s6yn4pdz698j0r2bkl5gw6g";
   };
 
diff --git a/pkgs/development/libraries/libmd/default.nix b/pkgs/development/libraries/libmd/default.nix
index 7093376aa7e..a429cb219d5 100644
--- a/pkgs/development/libraries/libmd/default.nix
+++ b/pkgs/development/libraries/libmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmd";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js";
+    sha256 = "sha256-9RySEELjS+3e3tS3VVdlZVnPWx8kSAM7TB7sEcB+Uw8=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 02ccf0c66fb..c7a00e7372d 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -4,9 +4,11 @@ let
   inherit (lib) optional optionalString;
 
 in stdenv.mkDerivation rec {
-  name = "libmikmod-3.3.11.1";
+  pname = "libmikmod";
+  version = "3.3.11.1";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
+    url = "mirror://sourceforge/mikmod/libmikmod-${version}.tar.gz";
     sha256 = "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd";
   };
 
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index 83add1d42a5..0d099e77b6e 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "libmms-0.6.4";
+  pname = "libmms";
+  version = "0.6.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libmms/${name}.tar.gz";
+    url = "mirror://sourceforge/libmms/libmms-${version}.tar.gz";
     sha256 = "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w";
   };
 
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
index b311c4f0418..6971fcbf5d3 100644
--- a/pkgs/development/libraries/libmodbus/default.nix
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmodbus-3.1.6";
+  pname = "libmodbus";
+  version = "3.1.6";
 
   src = fetchurl {
-    url = "http://libmodbus.org/releases/${name}.tar.gz";
+    url = "http://libmodbus.org/releases/libmodbus-${version}.tar.gz";
     sha256 = "05kwz0n5gn9m33cflzv87lz3zp502yp8fpfzbx70knvfl6agmnfp";
   };
 
diff --git a/pkgs/development/libraries/libndp/default.nix b/pkgs/development/libraries/libndp/default.nix
index 42f6ecc6489..a7be399d428 100644
--- a/pkgs/development/libraries/libndp/default.nix
+++ b/pkgs/development/libraries/libndp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libndp-1.8";
+  pname = "libndp";
+  version = "1.8";
 
   src = fetchurl {
-    url = "http://libndp.org/files/${name}.tar.gz";
+    url = "http://libndp.org/files/libndp-${version}.tar.gz";
     sha256 = "sha256-iP+2buLrUn8Ub1wC9cy8OLqX0rDVfrRr+6SIghqwwCs=";
   };
 
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
index a070d2e3af2..b22722d3439 100644
--- a/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libnfnetlink-1.0.1";
+  pname = "libnfnetlink";
+  version = "1.0.1";
 
   src = fetchurl {
-    url = "https://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
+    url = "https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${version}.tar.bz2";
     sha256 = "06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j";
   };
 
diff --git a/pkgs/development/libraries/libnxml/default.nix b/pkgs/development/libraries/libnxml/default.nix
index 84617001143..6a0c52c9e99 100644
--- a/pkgs/development/libraries/libnxml/default.nix
+++ b/pkgs/development/libraries/libnxml/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, curl}:
 
-stdenv.mkDerivation {
-  name = "libnxml-0.18.3";
+stdenv.mkDerivation rec {
+  pname = "libnxml";
+  version = "0.18.3";
 
   src = fetchurl {
-    url = "https://www.autistici.org/bakunin/libnxml/libnxml-0.18.3.tar.gz";
+    url = "https://www.autistici.org/bakunin/libnxml/libnxml-${version}.tar.gz";
     sha256 = "0ix5b9bxd7r517vhgcxwdviq4m0g0pq46s5g3h04gcqnpbin150g";
   };
 
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index 8d929975815..62fa4f10aa4 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "liboil-0.3.17";
+  pname = "liboil";
+  version = "0.3.17";
 
   src = fetchurl {
-    url = "${meta.homepage}/download/${name}.tar.gz";
+    url = "${meta.homepage}/download/liboil-${version}.tar.gz";
     sha256 = "0sgwic99hxlb1av8cm0albzh8myb7r3lpcwxfm606l0bkc3h4pqh";
   };
 
diff --git a/pkgs/development/libraries/liboop/default.nix b/pkgs/development/libraries/liboop/default.nix
index 5d849ebe1ca..7a5d38db0d3 100644
--- a/pkgs/development/libraries/liboop/default.nix
+++ b/pkgs/development/libraries/liboop/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "liboop-1.0";
+  pname = "liboop";
+  version = "1.0";
 
   src = fetchurl {
     url = "http://download.ofb.net/liboop/liboop.tar.gz";
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 7c2a2b9a6b9..53699ab7eac 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-4.1.1";
+  pname = "libotr";
+  version = "4.1.1";
 
   src = fetchurl {
-    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    url = "https://otr.cypherpunks.ca/libotr-${version}.tar.gz";
     sha256 = "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb";
   };
 
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index b5310c3cb8c..62adbe18808 100644
--- a/pkgs/development/libraries/libpipeline/default.nix
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.5.3";
+  pname = "libpipeline";
+  version = "1.5.3";
 
   src = fetchurl {
-    url = "mirror://savannah/libpipeline/${name}.tar.gz";
+    url = "mirror://savannah/libpipeline/libpipeline-${version}.tar.gz";
     sha256 = "1c5dl017xil2ssb6a5vg927bnsbc9vymfgi9ahvqbb8gypx0igsx";
   };
 
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index bf3d5168d6c..a76a1ada6c8 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -3,10 +3,11 @@
 assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.59";
+  pname = "libpng";
+  version = "1.2.59";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpng/${name}.tar.xz";
+    url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
     sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
   };
 
diff --git a/pkgs/development/libraries/libpseudo/default.nix b/pkgs/development/libraries/libpseudo/default.nix
index f0638150573..58931a81618 100644
--- a/pkgs/development/libraries/libpseudo/default.nix
+++ b/pkgs/development/libraries/libpseudo/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses}:
 stdenv.mkDerivation rec {
-  name = "libpseudo-1.2.0";
+  pname = "libpseudo";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libpseudo/${name}.tar.gz";
+    url = "mirror://sourceforge/libpseudo/libpseudo-${version}.tar.gz";
     sha256 = "0d3pw0m3frycr3x5kzqcaj4r2qh43iv6b0fpd6l4yk0aa4a9560n";
   };
 
diff --git a/pkgs/development/libraries/librdf/raptor.nix b/pkgs/development/libraries/librdf/raptor.nix
index ef755b82155..1dde9402f90 100644
--- a/pkgs/development/libraries/librdf/raptor.nix
+++ b/pkgs/development/libraries/librdf/raptor.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2, curl }:
 
 stdenv.mkDerivation rec {
-  name = "raptor-1.4.21";
+  pname = "raptor";
+  version = "1.4.21";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/raptor-${version}.tar.gz";
     sha256 = "db3172d6f3c432623ed87d7d609161973d2f7098e3d2233d0702fbcc22cfd8ca";
   };
 
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 0dd5b87377f..fd0f6d2ce6d 100644
--- a/pkgs/development/libraries/librdf/rasqal.nix
+++ b/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, librdf_raptor2, gmp, pkg-config, pcre, libxml2, perl }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.33";
+  pname = "rasqal";
+  version = "0.9.33";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/rasqal-${version}.tar.gz";
     sha256 = "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939";
   };
 
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 5ac2c711104..252a5037f77 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "redland-1.0.17";
+  pname = "redland";
+  version = "1.0.17";
 
   src = fetchurl {
-    url = "http://download.librdf.org/source/${name}.tar.gz";
+    url = "http://download.librdf.org/source/redland-${version}.tar.gz";
     sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
   };
 
diff --git a/pkgs/development/libraries/libroxml/default.nix b/pkgs/development/libraries/libroxml/default.nix
index 39c8eab5a65..71d78a8b8e5 100644
--- a/pkgs/development/libraries/libroxml/default.nix
+++ b/pkgs/development/libraries/libroxml/default.nix
@@ -1,11 +1,14 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "libroxml-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "libroxml";
+  version = "2.3.0";
+
   src = fetchurl {
-    url = "http://download.libroxml.net/pool/v2.x/libroxml-2.3.0.tar.gz";
+    url = "http://download.libroxml.net/pool/v2.x/libroxml-${version}.tar.gz";
     sha256  = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x";
   };
+
   meta = with lib; {
     homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 25f8209dd3d..8b1213e6377 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.52.3";
+  version = "2.52.4";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Nuf1vIjXhgjqf2wF5K/krMFga5rxPChF1DhQc9CCuKQ=";
+    sha256 = "Zg7Ig2o6kVh7yThJIBMtTDjR0XGMZ/4WDFIT/k3sKSg=";
   };
 
   cargoVendorDir = "vendor";
diff --git a/pkgs/development/libraries/libsigcxx/1.2.nix b/pkgs/development/libraries/libsigcxx/1.2.nix
index a417e0bcc1d..8464ba36af3 100644
--- a/pkgs/development/libraries/libsigcxx/1.2.nix
+++ b/pkgs/development/libraries/libsigcxx/1.2.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, m4}:
 
 stdenv.mkDerivation rec {
-  name = "libsigc++-1.2.7";
+  pname = "libsigc++";
+  version = "1.2.7";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libsigc++/1.2/libsigc++-${version}.tar.bz2";
     sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
   };
 
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index 4189ba9c6fa..bc36a12eea8 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigsegv-2.13";
+  pname = "libsigsegv";
+  version = "2.13";
 
   src = fetchurl {
-    url = "mirror://gnu/libsigsegv/${name}.tar.gz";
+    url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz";
     sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk=";
   };
 
diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix
index 5f8c0ec1b48..ef87c5f2033 100644
--- a/pkgs/development/libraries/libsoup/3.x.nix
+++ b/pkgs/development/libraries/libsoup/3.x.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "3.0.2";
+  version = "3.0.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-mO9T7ZtIFewFIyFVNxr4A6mSj0ZSrMaF/wIIa+FqP/U=";
+    sha256 = "sha256-UWWwTa2uMCfpoogthoaUtFhq/9d4wZSYKuTeI3PS4l4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 95926f54f94..83fb0c4a029 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "2.74.1";
+  version = "2.74.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3CejuPowvI/5ULWnWVh1fSJC4+UeTi2cTmI+9195O/g=";
+    sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libstemmer/default.nix b/pkgs/development/libraries/libstemmer/default.nix
index 2f6b2835c4e..835d13d51b4 100644
--- a/pkgs/development/libraries/libstemmer/default.nix
+++ b/pkgs/development/libraries/libstemmer/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation {
-  name = "libstemmer-2017-03-02";
+  pname = "libstemmer";
+  version = "unstable-2017-03-02";
 
   src = fetchFromGitHub {
     owner = "zvelo";
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 4d7b57c1f08..25b4688c93a 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.17.0";
+  pname = "libtasn1";
+  version = "4.17.0";
 
   src = fetchurl {
-    url = "mirror://gnu/libtasn1/${name}.tar.gz";
+    url = "mirror://gnu/libtasn1/libtasn1-${version}.tar.gz";
     sha256 = "sha256-7OdVHOp5IrjhDX68cLwiSNH91zNRZGotao1oqUIcRaU=";
   };
 
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index ea246790020..2fe6159556f 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -8,6 +8,11 @@
 , libjpeg
 , xz
 , zlib
+
+, Cocoa
+, GLUT
+, libGL
+, libGLU
 }:
 
 #FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
@@ -21,8 +26,17 @@ stdenv.mkDerivation rec {
     sha256 = "1j3snghqjbhwmnm5vz3dr1zm68dj15mgbx1wqld7vkl7n2nfaihf";
   };
 
-  # FreeImage needs this patch
-  patches = [ ./headers.patch ];
+  patches = [
+    # FreeImage needs this patch
+    ./headers.patch
+    # libc++abi 11 has an `#include <version>`, this picks up files name
+    # `version` in the project's include paths
+    ./rename-version.patch
+  ];
+
+  postPatch = ''
+    mv VERSION VERSION.txt
+  '';
 
   outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ];
 
@@ -38,7 +52,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libjpeg xz zlib ]; #TODO: opengl support (bogus configure detection)
 
-  buildInputs = [ libdeflate ]; # TODO: move all propagatedBuildInputs to buildInputs.
+  buildInputs = [ libdeflate ] # TODO: move all propagatedBuildInputs to buildInputs.
+    ++ lib.optionals (stdenv.isDarwin) [ Cocoa GLUT libGL libGLU ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libtiff/rename-version.patch b/pkgs/development/libraries/libtiff/rename-version.patch
new file mode 100644
index 00000000000..30601c0f04e
--- /dev/null
+++ b/pkgs/development/libraries/libtiff/rename-version.patch
@@ -0,0 +1,20 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -34,7 +34,7 @@ docfiles = \
+ 	README.md \
+ 	RELEASE-DATE \
+ 	TODO \
+-	VERSION
++	VERSION.txt
+ 
+ EXTRA_DIST = \
+ 	cmake \
+@@ -61,7 +61,7 @@ SUBDIRS = port libtiff tools build contrib test man html
+ 
+ release:
+ 	(rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE)
+-	(rm -f $(top_srcdir)/VERSION && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION)
++	(rm -f $(top_srcdir)/VERSION.txt && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION.txt)
+ 	(rm -f $(top_srcdir)/libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' $(top_srcdir)/libtiff/tiffvers.h.in > $(top_srcdir)/libtiff/tiffvers.h)
+ 
+ pkgconfigdir = $(libdir)/pkgconfig
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
index 094ff565b3c..60dee56e6a2 100644
--- a/pkgs/development/libraries/libtiger/default.nix
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchurl, libkate, pango, cairo, pkg-config, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "libtiger-0.3.4";
+  pname = "libtiger";
+  version = "0.3.4";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/libtiger-${version}.tar.gz";
     sha256 = "0rj1bmr9kngrgbxrjbn4f4f9pww0wmf6viflinq7ava7zdav4hkk";
   };
 
diff --git a/pkgs/development/libraries/libtoxcore/new-api.nix b/pkgs/development/libraries/libtoxcore/new-api.nix
index 77119e2830f..c2348aa3112 100644
--- a/pkgs/development/libraries/libtoxcore/new-api.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api.nix
@@ -2,7 +2,8 @@
 , libvpx, check, libconfig, pkg-config }:
 
 stdenv.mkDerivation {
-  name = "tox-core-new-20160727";
+  pname = "tox-core-new";
+  version = "unstable-2016-07-27";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
diff --git a/pkgs/development/libraries/libunwind/backtrace-only-with-glibc.patch b/pkgs/development/libraries/libunwind/backtrace-only-with-glibc.patch
deleted file mode 100644
index 5fcaa72c0c0..00000000000
--- a/pkgs/development/libraries/libunwind/backtrace-only-with-glibc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 04437142399662b576bd55a85485c6dcc14d0812 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem at gmail.com>
-Date: Thu, 31 Dec 2015 06:44:07 +0000
-Subject: [PATCH] backtrace: Use only with glibc and uclibc
-
-backtrace API is glibc specific not linux specific
-so make it behave so.
-
-Signed-off-by: Khem Raj <raj.khem at gmail.com>
----
-Upstream-Status: Pending
-
- tests/test-coredump-unwind.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
-index 5254708..8767b42 100644
---- a/tests/test-coredump-unwind.c
-+++ b/tests/test-coredump-unwind.c
-@@ -57,7 +57,9 @@
- #include <grp.h>
- 
- /* For SIGSEGV handler code */
-+#ifdef __GLIBC__
- #include <execinfo.h>
-+#endif
- #include <sys/ucontext.h>
- 
- #include <libunwind-coredump.h>
-@@ -238,11 +240,11 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
- 			ip);
- 
-   {
-+#ifdef __GLIBC__
-     /* glibc extension */
-     void *array[50];
-     int size;
-     size = backtrace(array, 50);
--#ifdef __linux__
-     backtrace_symbols_fd(array, size, 2);
- #endif
-   }
--- 
-2.6.4
-
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index 0a931821837..4bce1341c7d 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -1,24 +1,14 @@
-{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, xz, buildPackages }:
+{ stdenv, lib, fetchurl, autoreconfHook, xz, buildPackages }:
 
 stdenv.mkDerivation rec {
   pname = "libunwind";
-  version = "1.4.0";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "mirror://savannah/libunwind/${pname}-${version}.tar.gz";
-    sha256 = "0dc46flppifrv2z0mrdqi60165ghxm1wk0g47vcbyzjdplqwjnfz";
+    sha256 = "sha256-SmrsZmmR+0XQiJxErt6K1usQgHHDVU/N/2cfnJR5SXY=";
   };
 
-  patches = [
-    ./backtrace-only-with-glibc.patch
-
-    (fetchpatch {
-      # upstream build fix against -fno-common compilers like >=gcc-10
-      url = "https://github.com/libunwind/libunwind/commit/29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.patch";
-      sha256 = "1angwfq6h0jskg6zx8g6w9min38g5mgmrcbppcy5hqn59cgsxbw0";
-    })
-  ];
-
   postPatch = if stdenv.cc.isClang then ''
     substituteInPlace configure.ac --replace "-lgcc_s" ""
   '' else lib.optionalString stdenv.hostPlatform.isMusl ''
@@ -48,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "A portable and efficient API to determine the call-chain of a program";
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
-    badPlatforms = [ "riscv32-linux" "riscv64-linux" ];
+    badPlatforms = [ "riscv32-linux" ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libviper/default.nix b/pkgs/development/libraries/libviper/default.nix
index 993e260b7bd..4caa26aadc6 100644
--- a/pkgs/development/libraries/libviper/default.nix
+++ b/pkgs/development/libraries/libviper/default.nix
@@ -1,9 +1,10 @@
 {lib, stdenv, fetchurl, pkg-config, glib, ncurses, gpm}:
 stdenv.mkDerivation rec {
-  name = "libviper-1.4.6";
+  pname = "libviper";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libviper/${name}.tar.gz";
+    url = "mirror://sourceforge/libviper/libviper-${version}.tar.gz";
     sha256 = "1jvm7wdgw6ixyhl0pcfr9lnr9g6sg6whyrs9ihjiz0agvqrgvxwc";
   };
 
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 4908dc4a9ce..4333b4fbda4 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,13 +27,13 @@ in
 with lib;
 stdenv.mkDerivation rec {
   pname = "libwebp";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner  = "webmproject";
     repo   = pname;
-    rev    = version;
-    sha256 = "1kl6qqa29ygqb2fpv140y59v539gdqx4vcf3mlaxhca2bks98qgm";
+    rev    = "v${version}";
+    hash   = "sha256-KrvB5d3KNmujbfekWaevz2JZrWtK3PjEG9NEzRBYIDw=";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/libwpd/0.8.nix b/pkgs/development/libraries/libwpd/0.8.nix
index df21f264096..7657cd48952 100644
--- a/pkgs/development/libraries/libwpd/0.8.nix
+++ b/pkgs/development/libraries/libwpd/0.8.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, libgsf, libxml2, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.8.14";
+  pname = "libwpd";
+  version = "0.8.14";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.gz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.gz";
     sha256 = "1syli6i5ma10cwzpa61a18pyjmianjwsf6pvmvzsh5md6yk4yx01";
   };
 
diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix
index 8afe549cb68..1f54c2c2fb1 100644
--- a/pkgs/development/libraries/libwpd/default.nix
+++ b/pkgs/development/libraries/libwpd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, pkg-config, glib, libgsf, libxml2, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.10.0";
+  pname = "libwpd";
+  version = "0.10.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libwpd/${name}.tar.xz";
+    url = "mirror://sourceforge/libwpd/libwpd-${version}.tar.xz";
     sha256 = "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx";
   };
 
diff --git a/pkgs/development/libraries/libxdg-basedir/default.nix b/pkgs/development/libraries/libxdg-basedir/default.nix
index 58a58f2726b..77047e9099d 100644
--- a/pkgs/development/libraries/libxdg-basedir/default.nix
+++ b/pkgs/development/libraries/libxdg-basedir/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, fetchpatch}:
 
 stdenv.mkDerivation rec {
-  name = "libxdg-basedir-1.2.0";
+  pname = "libxdg-basedir";
+  version = "1.2.0";
+
   src = fetchurl {
-    url = "https://nevill.ch/libxdg-basedir/downloads/${name}.tar.gz";
+    url = "https://nevill.ch/libxdg-basedir/downloads/libxdg-basedir-${version}.tar.gz";
     sha256 = "2757a949618742d80ac59ee2f0d946adc6e71576406cdf798e6ced507708cdf4";
   };
 
diff --git a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
index 9f374c22c1e..539fca7456b 100644
--- a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
+++ b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, bison, flex, xkeyboard_config, libxcb, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.7.2";
+  pname = "libxkbcommon";
+  version = "0.7.2";
 
   src = fetchurl {
-    url = "http://xkbcommon.org/download/${name}.tar.xz";
+    url = "http://xkbcommon.org/download/libxkbcommon-${version}.tar.xz";
     sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918";
   };
 
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
index e9ef841b65d..c6b49033bee 100644
--- a/pkgs/development/libraries/log4cplus/default.nix
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -1,13 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-let
-  name = "log4cplus-2.0.6";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "log4cplus";
+  version = "2.0.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
+    url = "mirror://sourceforge/log4cplus/log4cplus-${version}.tar.bz2";
     sha256 = "sha256-GpY6/Q+IPWLelGsYkn0jgFH9R5NuQV6r7/4rE5fxbso=";
   };
 
diff --git a/pkgs/development/libraries/luabind/default.nix b/pkgs/development/libraries/luabind/default.nix
index b36e6f34c82..1e09353d3fa 100644
--- a/pkgs/development/libraries/luabind/default.nix
+++ b/pkgs/development/libraries/luabind/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "luabind";
     repo = "luabind";
     rev = "v${version}";
-    sha256 = "sha256-sK1ca2Oj9yXdmxyXeDO3k8YZ1g+HxIXLhvdTWdPDdag=";
+    sha256 = "sha256-Dl6tUKB2aNKYiPL6b1MiD5AMiG5GosmcfoZWhC8F/y0=";
   };
 
   patches = [ ./0.9.1_modern_boost_fix.patch ./0.9.1_boost_1.57_fix.patch ./0.9.1_discover_luajit.patch ];
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
index b2f06b9e627..66fadee0b31 100644
--- a/pkgs/development/libraries/menu-cache/default.nix
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, glib, pkg-config, libfm-extra }:
 
-let name = "menu-cache-1.1.0";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "menu-cache";
+  version = "1.1.0";
+
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    url = "mirror://sourceforge/lxde/menu-cache-${version}.tar.xz";
     sha256 = "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd";
   };
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index a5d41d48629..97b5613ea26 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -33,7 +33,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.2.6";
+  version = "21.3.1";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,7 +47,7 @@ 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 = "0m69h3f9fr66h6xjxfc485zfdci6kl8j24ab0kx5k23f7kcj4zhy";
+    sha256 = "0ka7rh00inkzkir6bz6shn8k91j5pinp03yh85bm54mi1iac439b";
   };
 
   # TODO:
diff --git a/pkgs/development/libraries/mythes/default.nix b/pkgs/development/libraries/mythes/default.nix
index b678baf9881..2c4312d6498 100644
--- a/pkgs/development/libraries/mythes/default.nix
+++ b/pkgs/development/libraries/mythes/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, hunspell, ncurses, pkg-config, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mythes-1.2.4";
+  pname = "mythes";
+  version = "1.2.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/hunspell/${name}.tar.gz";
+    url = "mirror://sourceforge/hunspell/mythes-${version}.tar.gz";
     sha256 = "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y";
   };
 
diff --git a/pkgs/development/libraries/neardal/default.nix b/pkgs/development/libraries/neardal/default.nix
index 43f63d91a61..bbcefa0a443 100644
--- a/pkgs/development/libraries/neardal/default.nix
+++ b/pkgs/development/libraries/neardal/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, readline, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "neardal-0.7-post-git-20150930";
+  pname = "neardal";
+  version = "unstable-0.7-post-git-2015-09-30";
 
   src = fetchFromGitHub {
     owner = "connectivity";
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index a5ac9ce9912..208924bfd7b 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-1.6";
+  pname = "npth";
+  version = "1.6";
 
   src = fetchurl {
-    url = "mirror://gnupg/npth/${name}.tar.bz2";
+    url = "mirror://gnupg/npth/npth-${version}.tar.bz2";
     sha256 = "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk";
   };
 
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index 61679278781..cd65630879e 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -8,11 +8,12 @@
 , withNvidiaCg ? false, nvidia_cg_toolkit
 , withSamples ? false }:
 
-stdenv.mkDerivation {
-  name = "ogre-1.10.11";
+stdenv.mkDerivation rec {
+  pname = "ogre";
+  version = "1.10.11";
 
   src = fetchurl {
-     url = "https://bitbucket.org/sinbad/ogre/get/v1-10-11.tar.gz";
+     url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
      sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
   };
 
diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix
index a9eb209edda..9a7877a9938 100644
--- a/pkgs/development/libraries/opendbx/default.nix
+++ b/pkgs/development/libraries/opendbx/default.nix
@@ -3,10 +3,11 @@
 let inherit (lib) getDev; in
 
 stdenv.mkDerivation rec {
-  name = "opendbx-1.4.6";
+  pname = "opendbx";
+  version = "1.4.6";
 
   src = fetchurl {
-    url = "https://linuxnetworks.de/opendbx/download/${name}.tar.gz";
+    url = "https://linuxnetworks.de/opendbx/download/opendbx-${version}.tar.gz";
     sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
   };
 
diff --git a/pkgs/development/libraries/openslp/default.nix b/pkgs/development/libraries/openslp/default.nix
index 4fa03c5e7c1..1eec70be6ac 100644
--- a/pkgs/development/libraries/openslp/default.nix
+++ b/pkgs/development/libraries/openslp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch }:
 
-stdenv.mkDerivation {
-  name = "openslp-2.0.0";
+stdenv.mkDerivation rec {
+  pname = "openslp";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/openslp/2.0.0/2.0.0/openslp-2.0.0.tar.gz";
+    url = "mirror://sourceforge/openslp/${version}/${version}/openslp-${version}.tar.gz";
     sha256 = "16splwmqp0400w56297fkipaq9vlbhv7hapap8z09gp5m2i3fhwj";
   };
 
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index c298ca8c17d..a70a19e9314 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.48.10";
+  version = "1.50.0";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "IeH1eYvN/adeq8QoBRSwiWq1b2VtTn5mAwuaJTXs3Jg=";
+    sha256 = "26i2Ld+G4Q9z+Tw9Ila3MjiyvK+HA3yiKbQL3AQOs/M=";
   };
 
   strictDeps = !withIntrospection;
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index f13dce99c13..1fc5cea01de 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.46.1";
+  version= "2.46.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-yIUBP+YaTFEX/aOVdw1QdWNBHGPkn0o6ztTJ7+NNmXU=";
+    sha256 = "sha256-V0QqtNwEOHe/44OZFXMastaT/GY0pxYUQi+1MMnqpvQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/pangoxsl/default.nix b/pkgs/development/libraries/pangoxsl/default.nix
index 7d314a930f2..81c815e562c 100644
--- a/pkgs/development/libraries/pangoxsl/default.nix
+++ b/pkgs/development/libraries/pangoxsl/default.nix
@@ -1,9 +1,11 @@
 {lib, stdenv, fetchurl, pkg-config, glib, pango}:
 
-stdenv.mkDerivation {
-  name = "pangoxsl-1.6.0.3";
+stdenv.mkDerivation rec {
+  pname = "pangoxsl";
+  version = "1.6.0.3";
+
   src = fetchurl {
-    url = "mirror://sourceforge/pangopdf/pangoxsl-1.6.0.3.tar.gz";
+    url = "mirror://sourceforge/pangopdf/pangoxsl-${version}.tar.gz";
     sha256 = "1wcd553nf4nwkrfrh765cyzwj9bsg7zpkndg2hjs8mhwgx04lm8n";
   };
 
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index d2fe9a84ac3..5fc8d496ba9 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -7,18 +7,15 @@ with lib;
 
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
-let
-  version = "8.44";
-  pname = if (variant == null) then "pcre"
-    else  if (variant == "cpp") then "pcre-cpp"
-    else  variant;
-
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
+stdenv.mkDerivation rec {
+  pname = "pcre"
+    + lib.optionalString (variant == "cpp") "-cpp"
+    + lib.optionalString (variant != "cpp" && variant != null) variant;
+  version = "8.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/pcre/pcre/${version}/pcre-${version}.tar.bz2";
-    sha256 = "0v9nk51wh55pcbnf2jr36yarz8ayajn6d7ywiq2wagivn9c8c40r";
+    sha256 = "sha256-Ta5v3NK7C7bDe1+Xwzwr6VTadDmFNpzdrDVG4yGL/7g=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
@@ -43,8 +40,7 @@ in stdenv.mkDerivation {
 
   postFixup = ''
     moveToOutput bin/pcre-config "$dev"
-  ''
-    + optionalString (variant != null) ''
+  '' + optionalString (variant != null) ''
     ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.{so.*.*.*,*dylib}
   '';
 
@@ -62,5 +58,6 @@ in stdenv.mkDerivation {
     '';
 
     platforms = platforms.all;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
index 18d5d0bcfa2..fadc1424083 100644
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/pkgs/development/libraries/pocketsphinx/default.nix
@@ -7,10 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pocketsphinx-5prealpha";
+  pname = "pocketsphinx";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/pocketsphinx-${version}.tar.gz";
     sha256 = "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg";
   };
 
diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix
index b0ab32c9e39..c1c76a90017 100644
--- a/pkgs/development/libraries/portaudio/default.nix
+++ b/pkgs/development/libraries/portaudio/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "portaudio";
-  version =  "190700_20210406";
+  version = "190700_20210406";
 
   src = fetchurl {
     url = "http://files.portaudio.com/archives/pa_stable_v${version}.tgz";
@@ -23,9 +23,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-mac-universal" "--enable-cxx" ];
 
-  postConfigure = ''
-    substituteInPlace Makefile --replace "-Werror" ""
-  '';
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=nullability-inferred-on-nested-type -Wno-error=nullability-completeness-on-arrays -Wno-error=implicit-const-int-float-conversion";
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];
 
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index 16235176d03..c75b0d1db2d 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pth-2.0.7";
+  pname = "pth";
+  version = "2.0.7";
 
   src = fetchurl {
-    url = "mirror://gnu/pth/${name}.tar.gz";
+    url = "mirror://gnu/pth/pth-${version}.tar.gz";
     sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
   };
 
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index a047b5b7108..f4a9d11c751 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -191,6 +191,7 @@ let
         inherit (darwin.apple_sdk.libs) sandbox;
         inherit (darwin.apple_sdk.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
           ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication;
+        stdenv = stdenvActual;
       };
       qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
       qtwebkit = callPackage ../modules/qtwebkit.nix {
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index b49efa600fa..0e443996311 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -110,6 +110,8 @@ qtModule {
     # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940
     # TODO: investigate and fix properly
     "-march=westmere"
+  ] ++ lib.optionals stdenv.cc.isClang [
+    "-Wno-elaborated-enum-base"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12"
     "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12"
diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix
index 0164f8884a2..ad1f73cc9e8 100644
--- a/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -1,9 +1,11 @@
 { lib, stdenv, fetchurl, qt4 }:
 
-stdenv.mkDerivation {
-  name = "qtscriptgenerator-0.1.0";
+stdenv.mkDerivation rec {
+  pname = "qtscriptgenerator";
+  version = "0.1.0";
+
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-${version}.tar.gz";
     sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
   };
   buildInputs = [ qt4 ];
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index 1f2518fc738..a9fa29ba4d4 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.6";
+  pname = "qwt";
+  version = "6.1.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "sha256-mUYNMcEV7kEXsBddiF9HwsWQ14QgbwmBXcBY++Xt4fY=";
   };
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
index 61903af93fa..021fa0ba57d 100644
--- a/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.5";
+  pname = "qwt";
+  version = "6.1.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${name}.tar.bz2";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
   };
 
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
       install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
     '';
 
-  qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
 
   meta = with lib; {
     description = "Qt widgets for technical applications";
diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix
index e5657bcb3c3..96e4a42ad09 100644
--- a/pkgs/development/libraries/rabbitmq-java-client/default.nix
+++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, ant, jdk, jre, python, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "rabbitmq-java-client-3.3.4";
+stdenv.mkDerivation rec {
+  pname = "rabbitmq-java-client";
+  version = "3.3.4";
 
   src = fetchurl {
-    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
+    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v${version}/rabbitmq-java-client-${version}.tar.gz";
     sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
   };
 
diff --git a/pkgs/development/libraries/readline/5.x.nix b/pkgs/development/libraries/readline/5.x.nix
index b2eab66387f..98decdca968 100644
--- a/pkgs/development/libraries/readline/5.x.nix
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "readline-5.2";
+stdenv.mkDerivation rec {
+  pname = "readline";
+  version = "5.2";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/readline-5.2.tar.gz";
+    url = "mirror://gnu/readline/readline-${version}.tar.gz";
     sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
   };
 
diff --git a/pkgs/development/libraries/readline/6.2.nix b/pkgs/development/libraries/readline/6.2.nix
index 98db664dd8f..13c53937a7c 100644
--- a/pkgs/development/libraries/readline/6.2.nix
+++ b/pkgs/development/libraries/readline/6.2.nix
@@ -2,10 +2,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "readline-6.2";
+  pname = "readline";
+  version = "6.2";
 
   src = fetchurl {
-    url = "mirror://gnu/readline/${name}.tar.gz";
+    url = "mirror://gnu/readline/readline-${version}.tar.gz";
     sha256 = "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr";
   };
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation (rec {
     (let
        patch = nr: sha256:
          fetchurl {
-           url = "mirror://gnu/readline/${name}-patches/readline62-${nr}";
+           url = "mirror://gnu/readline/readline-${version}-patches/readline62-${nr}";
            inherit sha256;
          };
      in
diff --git a/pkgs/development/libraries/readline/6.3.nix b/pkgs/development/libraries/readline/6.3.nix
index 2f63c4a3043..88ad884bd48 100644
--- a/pkgs/development/libraries/readline/6.3.nix
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -1,7 +1,8 @@
 { fetchurl, lib, stdenv, ncurses }:
 
 stdenv.mkDerivation {
-  name = "readline-6.3p08";
+  pname = "readline";
+  version = "6.3p08";
 
   src = fetchurl {
     url = "mirror://gnu/readline/readline-6.3.tar.gz";
diff --git a/pkgs/development/libraries/resolv_wrapper/default.nix b/pkgs/development/libraries/resolv_wrapper/default.nix
index 69ec0174748..c6669edbc16 100644
--- a/pkgs/development/libraries/resolv_wrapper/default.nix
+++ b/pkgs/development/libraries/resolv_wrapper/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name = "resolv_wrapper-1.1.7";
+  pname = "resolv_wrapper";
+  version = "1.1.7";
 
   src = fetchurl {
-    url = "mirror://samba/cwrap/${name}.tar.gz";
+    url = "mirror://samba/cwrap/resolv_wrapper-${version}.tar.gz";
     sha256 = "sha256-Rgrn/V5TSFvn3ZmlXFki8csWNrnoghmB1JrRZQfIoHQ=";
   };
 
diff --git a/pkgs/development/libraries/rlog/default.nix b/pkgs/development/libraries/rlog/default.nix
index 88a96209993..c8661f173e6 100644
--- a/pkgs/development/libraries/rlog/default.nix
+++ b/pkgs/development/libraries/rlog/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "rlog-1.4";
+stdenv.mkDerivation rec {
+  pname = "rlog";
+  version = "1.4";
 
   src = fetchurl {
-    url = "http://rlog.googlecode.com/files/rlog-1.4.tar.gz";
+    url = "http://rlog.googlecode.com/files/rlog-${version}.tar.gz";
     sha256 = "0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59";
   };
 
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index bf7eb3d0d38..0fc00efcff0 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -129,7 +129,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.17";
+  version = "0.3.18";
 
   outputs = [ "out" "dev" ];
 
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "11j103s851mml6kns781kha0asxjz6b6s1vbv80aq3b6g7p05pms";
+    sha256 = "sha256-b5i52rjsH65qAIlYGXQrzVxChi8/fwbD4eJTrxVq7Z8=";
   };
 
   inherit blas64;
diff --git a/pkgs/development/libraries/shapelib/default.nix b/pkgs/development/libraries/shapelib/default.nix
index abb27a132c2..1604578a10c 100644
--- a/pkgs/development/libraries/shapelib/default.nix
+++ b/pkgs/development/libraries/shapelib/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shapelib-1.5.0";
+  pname = "shapelib";
+  version = "1.5.0";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/shapelib/${name}.tar.gz";
+    url = "https://download.osgeo.org/shapelib/shapelib-${version}.tar.gz";
     sha256 = "1qfsgb8b3yiqwvr6h9m81g6k9fjhfys70c22p7kzkbick20a9h0z";
   };
 
diff --git a/pkgs/development/libraries/shhmsg/default.nix b/pkgs/development/libraries/shhmsg/default.nix
index 704df3dc5ef..901ee48adec 100644
--- a/pkgs/development/libraries/shhmsg/default.nix
+++ b/pkgs/development/libraries/shhmsg/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "shhmsg-1.4.2";
+  pname = "shhmsg";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "https://shh.thathost.com/pub-unix/files/${name}.tar.gz";
+    url = "https://shh.thathost.com/pub-unix/files/shhmsg-${version}.tar.gz";
     sha256 = "0ax02fzqpaxr7d30l5xbndy1s5vgg1ag643c7zwiw2wj1czrxil8";
   };
 
diff --git a/pkgs/development/libraries/sparsehash/default.nix b/pkgs/development/libraries/sparsehash/default.nix
index 41b765bcb07..35208d021b8 100644
--- a/pkgs/development/libraries/sparsehash/default.nix
+++ b/pkgs/development/libraries/sparsehash/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "sparsehash-2.0.4";
+  pname = "sparsehash";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "sparsehash";
     repo = "sparsehash";
-    rev = name;
+    rev = "sparsehash-${version}";
     sha256 = "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7";
   };
 
diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix
index 9633f435fb8..a7d4aa97074 100644
--- a/pkgs/development/libraries/speex/default.nix
+++ b/pkgs/development/libraries/speex/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
 
 stdenv.mkDerivation rec {
-  name = "speex-1.2.0";
+  pname = "speex";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz";
+    url = "http://downloads.us.xiph.org/releases/speex/speex-${version}.tar.gz";
     sha256 = "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa";
   };
 
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index a7d59cd8bf6..43a70c50fed 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -8,10 +8,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-5prealpha";
+  pname = "sphinxbase";
+  version = "5prealpha";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
+    url = "mirror://sourceforge/cmusphinx/sphinxbase-${version}.tar.gz";
     sha256 = "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp";
   };
 
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index acfce3d2e77..de433ba5008 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -11,12 +11,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite";
-  version = "3.36.0";
+  version = "3.37.0";
 
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2021/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-vZDD65a+6ZYga4O+cGXJzhmu84w/T7Uwc62g0LabvOM=";
+    sha256 = "sha256-cxpGUdTUs2/H0h21hrLeTdAK8x/VT7WppLf0kgV0efc=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 352577fd2da..7309e1de0b6 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,11 +4,11 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.36.0";
+    version = "3.37.0";
 
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "092khwfm0m0i80sjb4fc5569jj0kilm6pa867w0akcv6h38bk8r5";
+      sha256 = "sha256-cJd/s5Qhh9RidBOv3pqUkvoCuVSFCBK1OXS2ox7Oj68=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 1d6bf0f7aa4..61e6bed9091 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -51,6 +51,10 @@ stdenv.mkDerivation rec {
 
   postPatch = lib.optionalString withDocumentation ''
     patchShebangs doc/doxygen/gen-doxygen.py
+  '' + lib.optionalString stdenv.hostPlatform.isStatic ''
+    # delete line containing os-wrappers-test, disables
+    # the building of os-wrappers-test
+    sed -i '/os-wrappers-test/d' tests/meson.build
   '';
 
   outputs = [ "out" "bin" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 71131516f94..73fef21eccb 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
-  version = "1.23";
+  version = "1.24";
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0xizccackgwszjhlq7jjiv2z2gwppljx0w32ga91bxlnby8z22kc";
+    sha256 = "1hlb6gvyqlmsdkv5179ccj07p04cn6xacjkgklakbszczv7xiw5z";
   };
 
   postPatch = lib.optionalString doCheck ''
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index d3b0ef67d86..bd180c627fa 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -64,7 +64,7 @@ assert enableGeoLocation -> geoclue2 != null;
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.34.1";
+  version = "2.34.2";
 
   outputs = [ "out" "dev" ];
 
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-RDwTFnBd4CR0F0joX+MjJNKZ2e5o5v6zQLieSgQHPe4=";
+    sha256 = "sha256-WEZ31ufK4S4nzcyOBbTPc7VISaJK/D16QM7JEBbe/wA=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix
index cf302861269..4c16861823f 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.5";
+  version = "1.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3";
+    sha256 = "4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2";
   };
 
   propagatedBuildInputs = [ markupsafe ];
diff --git a/pkgs/development/python-modules/Markups/default.nix b/pkgs/development/python-modules/Markups/default.nix
index bacfe95a9a1..1fa304f57a8 100644
--- a/pkgs/development/python-modules/Markups/default.nix
+++ b/pkgs/development/python-modules/Markups/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "Markups";
-  version = "3.1.2";
+  version = "3.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2954d53656d9ec84f2f6c077e91a1de534e05647f20d327757283bbb5a857770";
+    sha256 = "ab9747a72c1c6457418eb4276c79871977c13a654618e4f12e2a1f0990fbf2fc";
   };
 
   checkInputs = [ markdown docutils pygments pyyaml ];
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index 611686e5c0a..30a0e68dea0 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eb0383bd431c0d7b2320179904cab00120a10977e3c9671d99efbbed17efb55a";
+    sha256 = "72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/adjusttext/default.nix b/pkgs/development/python-modules/adjusttext/default.nix
index 82613ffa52a..9685f5c9969 100644
--- a/pkgs/development/python-modules/adjusttext/default.nix
+++ b/pkgs/development/python-modules/adjusttext/default.nix
@@ -1,13 +1,15 @@
-{ buildPythonPackage
-, numpy
-, matplotlib
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
+, matplotlib
+, numpy
+, packaging
 }:
 
 buildPythonPackage rec {
   pname = "adjusttext";
   version = "0.7.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Phlya";
@@ -16,12 +18,21 @@ buildPythonPackage rec {
     sha256 = "02apaznnnmwmrn342f22dj5dldn56gdl9v5qix07ah6kgp9503yw";
   };
 
-  propagatedBuildInputs = [ matplotlib numpy ];
+  nativeBuildInputs = [
+    packaging
+  ];
+
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+  ];
 
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "adjustText" ];
+  pythonImportsCheck = [
+    "adjustText"
+  ];
 
   meta = with lib; {
     description = "Iteratively adjust text position in matplotlib plots to minimize overlaps";
diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix
index c06929176d9..d0de050c86f 100644
--- a/pkgs/development/python-modules/afdko/default.nix
+++ b/pkgs/development/python-modules/afdko/default.nix
@@ -1,38 +1,48 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder
+{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder
 , fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
 , brotli, fontmath, mutatormath, booleanoperations
 , ufoprocessor, ufonormalizer, psautohint, tqdm
-, setuptools-scm
+, setuptools-scm, scikit-build
+, cmake
+, antlr4_9
 , pytestCheckHook
+# Enables some expensive tests, useful for verifying an update
+, runAllTests ? false
+, afdko
 }:
 
 buildPythonPackage rec {
   pname = "afdko";
-  version = "3.5.1";
+  version = "3.7.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qg7dgl81yq0sp50pkhgvmf8az1svx20zmpkfa68ka9d0ssh1wjw";
+    sha256 = "05hj2mw3ppfjaig5zdk5db9vfrbbq5gmv5rzggmvvrj0yyfpr0pd";
   };
 
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    setuptools-scm
+    scikit-build
+    cmake
+  ];
+
+  buildInputs = [
+    antlr4_9.runtime.cpp
+  ];
+
   patches = [
-    # Skip date-dependent test. See
-    # https://github.com/adobe-type-tools/afdko/pull/1232
-    # https://github.com/NixOS/nixpkgs/pull/98158#issuecomment-704321117
-    (fetchpatch {
-      url = "https://github.com/adobe-type-tools/afdko/commit/2c36ad10f9d964759f643e8ed7b0972a27aa26bd.patch";
-      sha256 = "0p6a485mmzrbfldfbhgfghsypfiad3cabcw7qlw2rh993ivpnibf";
-    })
-    # fix tests for fonttools 4.21.1
-    (fetchpatch {
-      url = "https://github.com/adobe-type-tools/afdko/commit/0919e7454a0a05a1b141c23bf8134c67e6b688fc.patch";
-      sha256 = "0glly85swyl1kcc0mi8i0w4bm148bb001jz1winz5drfrw3a63jp";
-    })
+    # Don't try to install cmake and ninja using pip
+    ./no-pypi-build-tools.patch
+    # Use antlr4 runtime from nixpkgs and link it dynamically
+    ./use-dynamic-system-antlr4-runtime.patch
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
+  # setup.py will always (re-)execute cmake in buildPhase
+  dontConfigure = true;
 
   propagatedBuildInputs = [
     booleanoperations
@@ -53,10 +63,6 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  # tests are broken on non x86_64
-  # https://github.com/adobe-type-tools/afdko/issues/1163
-  # https://github.com/adobe-type-tools/afdko/issues/1216
-  doCheck = stdenv.isx86_64;
   checkInputs = [ pytestCheckHook ];
   preCheck = ''
     export PATH=$PATH:$out/bin
@@ -65,7 +71,7 @@ buildPythonPackage rec {
     #   https://github.com/adobe-type-tools/afdko/issues/1418
     find tests -name layerinfo.plist -delete
   '';
-  disabledTests = [
+  disabledTests = lib.optionals (!runAllTests) [
     # Disable slow tests, reduces test time ~25 %
     "test_report"
     "test_post_overflow"
@@ -74,8 +80,16 @@ buildPythonPackage rec {
     "test_filename_without_dir"
     "test_overwrite"
     "test_options"
+  ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [
+    # aarch64-only (?) failure, unknown reason so far
+    # https://github.com/adobe-type-tools/afdko/issues/1425
+    "test_spec"
   ];
 
+  passthru.tests = {
+    fullTestsuite = afdko.override { runAllTests = true; };
+  };
+
   meta = with lib; {
     description = "Adobe Font Development Kit for OpenType";
     homepage = "https://adobe-type-tools.github.io/afdko/";
diff --git a/pkgs/development/python-modules/afdko/no-pypi-build-tools.patch b/pkgs/development/python-modules/afdko/no-pypi-build-tools.patch
new file mode 100644
index 00000000000..4acc351e7bd
--- /dev/null
+++ b/pkgs/development/python-modules/afdko/no-pypi-build-tools.patch
@@ -0,0 +1,24 @@
+commit 72b0ab672d1080049431eeee07ae6d2556ae9e4a
+Author: sternenseemann <sternenseemann@systemli.org>
+Date:   Tue Oct 5 18:17:20 2021 +0200
+
+    Don't use pypi distributions of build tools
+    
+    We want to use regular cmake and ninja and not the pypi projects which
+    somehow wrap and vendor a version of the proper tool.
+
+diff --git a/setup.py b/setup.py
+index 50deb781..81417971 100644
+--- a/setup.py
++++ b/setup.py
+@@ -196,9 +196,7 @@ def main():
+           setup_requires=[
+               'wheel',
+               'setuptools_scm',
+-              'scikit-build',
+-              'cmake',
+-              'ninja'
++              'scikit-build'
+           ],
+           tests_require=[
+               'pytest',
diff --git a/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch b/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch
new file mode 100644
index 00000000000..25e399e78d9
--- /dev/null
+++ b/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch
@@ -0,0 +1,43 @@
+commit 105daa26f09034af58eb13ac7c5c4ff5420c1724
+Author: sternenseemann <sternenseemann@systemli.org>
+Date:   Tue Oct 5 18:16:10 2021 +0200
+
+    Link against system antlr4 runtime, dynamically
+    
+    Instead of cloning a antlr4 version from git, use the system one. Also
+    don't link it statically, but dynamically by default (the library is
+    called antlr4-runtime, not antlr4_static).
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d7f86fb6..c43c4456 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,13 +36,13 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+ # https://www.antlr.org/download/antlr4-cpp-runtime-4.9.2-source.zip
+ # set(ANTLR4_ZIP_REPOSITORY "/path_to_antlr4_archive/a4.zip")
+ 
+-add_definitions(-DANTLR4CPP_STATIC)
+ set(ANTLR4_WITH_STATIC_CRT OFF)
+ # Use slightly more recent commit than 4.9.2 to deal with utfcpp test
+ # compilation problems
+ # set(ANTLR4_TAG tags/4.9.2)
+ set(ANTLR4_TAG 916f03366edf15bf8b50010b11d479c189bf9f96)
+-include(ExternalAntlr4Cpp)
++find_path(ANTLR4_HEADER antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
++set(ANTLR4_INCLUDE_DIRS ${ANTLR4_HEADER})
+ 
+ # sanitizer support
+ # work around https://github.com/pypa/setuptools/issues/1928 with environment
+diff --git a/c/makeotf/lib/hotconv/CMakeLists.txt b/c/makeotf/lib/hotconv/CMakeLists.txt
+index 82257bf2..02eb2e30 100644
+--- a/c/makeotf/lib/hotconv/CMakeLists.txt
++++ b/c/makeotf/lib/hotconv/CMakeLists.txt
+@@ -69,7 +69,7 @@ add_library(hotconv STATIC
+ 
+ set_property(TARGET hotconv PROPERTY C_STANDARD 99)
+ target_include_directories(hotconv PRIVATE AFTER $<$<COMPILE_LANGUAGE:CXX>:${ANTLR4_INCLUDE_DIRS}>)
+-target_link_libraries(hotconv PUBLIC antlr4_static)
++target_link_libraries(hotconv PUBLIC antlr4-runtime)
+ 
+ if ( CMAKE_COMPILER_IS_GNUCC )
+     target_compile_options(hotconv PRIVATE -Wall -Wno-attributes)
diff --git a/pkgs/development/python-modules/aiofiles/default.nix b/pkgs/development/python-modules/aiofiles/default.nix
index 05027dc0170..033ba87933a 100644
--- a/pkgs/development/python-modules/aiofiles/default.nix
+++ b/pkgs/development/python-modules/aiofiles/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiofiles";
-  version = "0.7.0";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Tinche";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vvk9j8cfdqvq8hw2qc6ajfzsy8x1afabf83mxafffq92rwknd4y";
+    sha256 = "sha256-V7F+xalFGMgTgT30Gmd9FVV3cPndI/i9cB5vEuW/KVc=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,9 @@ buildPythonPackage rec {
     "test_sendfile_file"
   ];
 
-  pythonImportsCheck = [ "aiofiles" ];
+  pythonImportsCheck = [
+    "aiofiles"
+  ];
 
   meta = {
     description = "File support for asyncio";
diff --git a/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
index ed270cddd98..1e476345320 100644
--- a/pkgs/development/python-modules/aiohttp-wsgi/default.nix
+++ b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
@@ -28,6 +28,7 @@ buildPythonPackage rec {
 
   disabledTests = [
     # makes http request to another server
+    # https://github.com/etianen/aiohttp-wsgi/issues/32
     "testEnviron"
   ];
 
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index db1f810cbc8..f96fa882038 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -29,12 +29,12 @@
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "3.8.0";
+  version = "3.8.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-07GdjRg7z9aLJb7rq43DMIKC/iyj1uo8tM0QGzwnn40=";
+    sha256 = "fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiopvapi/default.nix b/pkgs/development/python-modules/aiopvapi/default.nix
index 55651082891..cbf7415ef9f 100644
--- a/pkgs/development/python-modules/aiopvapi/default.nix
+++ b/pkgs/development/python-modules/aiopvapi/default.nix
@@ -2,23 +2,36 @@
 , aiohttp
 , async-timeout
 , buildPythonPackage
+, fetchFromGitHub
 , fetchPypi
+, fetchpatch
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiopvapi";
-  version = "1.6.14";
+  version = "unstable-2021-09-27";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "02bl7q166j6rb8av9n1jz11xlwhrzmbkjq70mwr86qaj63pcxrak";
+  src = fetchFromGitHub {
+    owner = "sander76";
+    repo = "aio-powerview-api";
+    rev = "7b362e28a8ec8c9a53905879d8b519e03fd88e13";
+    sha256 = "sha256-7bZLCv9PEJr61vimw39m89w/rha3tQWM8TWMtfd8kjQ=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Drop loop= kwarg from async_timeout and ClientSession calls
+      # https://github.com/sander76/aio-powerview-api/pull/13
+      url = "https://github.com/sander76/aio-powerview-api/commit/7be67268050fbbf7652ce5a020d2ff26f34d0b27.patch";
+      sha256 = "sha256-7QPwrMP1Sbrayg63YZJcRkVDAqcm6hqh0fuJdrUk5WY=";
+    })
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     async-timeout
diff --git a/pkgs/development/python-modules/amazon_kclpy/default.nix b/pkgs/development/python-modules/amazon_kclpy/default.nix
index b39d3902740..06f61981561 100644
--- a/pkgs/development/python-modules/amazon_kclpy/default.nix
+++ b/pkgs/development/python-modules/amazon_kclpy/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "amazon_kclpy";
-  version = "2.0.2";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "amazon-kinesis-client-python";
     rev = "v${version}";
-    sha256 = "12yxcwml6g86sv1pj3wc2k97md9szdj6xx07qwri1mr9bdkzw7rv";
+    sha256 = "0gbpwhpd9i13vi0cch48qqrma90p230psqrkbfcjvdah69w434l4";
   };
 
   # argparse is just required for python2.6
diff --git a/pkgs/development/python-modules/amqtt/default.nix b/pkgs/development/python-modules/amqtt/default.nix
index d61140081ef..892046908c4 100644
--- a/pkgs/development/python-modules/amqtt/default.nix
+++ b/pkgs/development/python-modules/amqtt/default.nix
@@ -28,7 +28,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'websockets = "^9.0"' 'websockets = "^10.0"'
+      --replace 'websockets = "^9.0"' 'websockets = "^10.0"' \
+      --replace 'PyYAML = "^5.4.0"' 'PyYAML = "*"' \
   '';
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/androguard/default.nix b/pkgs/development/python-modules/androguard/default.nix
index 492c835f018..42f37e13099 100644
--- a/pkgs/development/python-modules/androguard/default.nix
+++ b/pkgs/development/python-modules/androguard/default.nix
@@ -11,6 +11,7 @@
 , click
 , pydot
 , ipython
+, packaging
 , pyqt5
 , pyperclip
 , nose
@@ -39,6 +40,12 @@ buildPythonPackage rec {
     sha256 = "1aparxiq11y0hbvkayp92w684nyxyyx7mi0n1x6x51g5z6c58vmy";
   };
 
+  nativeBuildInputs = [
+    packaging
+  ] ++ lib.optionals withGui [
+    qt5.wrapQtAppsHook
+  ];
+
   propagatedBuildInputs = [
     asn1crypto
     click
@@ -67,10 +74,6 @@ buildPythonPackage rec {
   ];
   inherit doCheck;
 
-  nativeBuildInputs = lib.optionals withGui [
-    qt5.wrapQtAppsHook
-  ];
-
   # If it won't be verbose, you'll see nothing going on for a long time.
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index a23f668529d..f4ec1c18462 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "2.0.3";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15j0ljgw1rjxq4xiywxxxnxj4r6vwk8dwljkdsjmq3qmwgifcswg";
+    sha256 = "7684612f7543c5f07f3e8135667eeb22a9dbd98f625cc69901ba9924329ef24f";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index c0f7274a80d..a2e35265d44 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -1,8 +1,15 @@
-{ lib, buildPythonPackage, fetchFromGitHub, sqlite, isPyPy }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sqlite
+, isPyPy
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.33.0-r1";
+  version = "3.36.0-r1";
+  format = "setuptools";
 
   disabled = isPyPy;
 
@@ -10,14 +17,38 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "05mxcw1382xx22285fnv92xblqby3adfrvvalaw4dc6rzsn6kcan";
+    sha256 = "sha256-kQqJqDikvEC0+PNhQxSNTcjQc+RwvaOSGz9VL3FCetg=";
   };
 
-  buildInputs = [ sqlite ];
+  buildInputs = [
+    sqlite
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
+  disabledTests = [
+    "testCursor"
+    "testLoadExtension"
+    "testShell"
+    "testVFS"
+    "testVFSWithWAL"
+    "testdb"
+  ];
+
+  pythonImportsCheck = [
+    "apsw"
+  ];
 
   meta = with lib; {
     description = "A Python wrapper for the SQLite embedded relational database engine";
     homepage = "https://github.com/rogerbinns/apsw";
     license = licenses.zlib;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index 72bbdb7b977..fc66509a194 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.2.0";
+  version = "1.2.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16fc29bbd9e425e3eb0fef3018297910a0f4568f21116fc31771e2760a50e074";
+    sha256 = "c2dde3c382d9f7e6922ce636bf0b318a7a853df40ecb383b29192e6c5cc82840";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ase/default.nix b/pkgs/development/python-modules/ase/default.nix
index 25210e4740b..c3ec514844c 100644
--- a/pkgs/development/python-modules/ase/default.nix
+++ b/pkgs/development/python-modules/ase/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ase";
-  version = "3.22.0";
+  version = "3.22.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5gJZx7UIZ7HLgXyvk4/MHtODcCQT320uGv5+oH9lrO4=";
+    sha256 = "sha256-AE32sOoEsRFMeQ+t/kXUEl6w5TElxmqTQlr4U9gqtDI=";
   };
 
   propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index b6ba53055d3..101f84b4fce 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , isPyPy
 , lazy-object-proxy
@@ -15,32 +14,23 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.8.2"; # Check whether the version is compatible with pylint
+  version = "2.9.0"; # Check whether the version is compatible with pylint
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.6.2";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0140h4l7licwdw0scnfzsbi5b2ncxi7fxhdab7c1i3sk01r4asp6";
+    sha256 = "sha256-sImWiWULZ1HS3JyQHfEhc4ZRZ6anOUTqZZGNIYj2MaY=";
   };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION=version;
-
-  patches = [
-    (fetchpatch {
-      # Allow wrapt 1.13 (https://github.com/PyCQA/astroid/pull/1203)
-      url = "https://github.com/PyCQA/astroid/commit/fd510e08c2ee862cd284861e02b9bcc9a7fd9809.patch";
-      sha256 = "1s10whslcqnyz251fb76qkc9p41gagxljpljsmw89id1wywmjib4";
-    })
-  ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
     setuptools-scm
   ];
 
-  # From astroid/__pkginfo__.py
   propagatedBuildInputs = [
     lazy-object-proxy
     wrapt
@@ -52,6 +42,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # assert (1, 1) == (1, 16)
+    "test_end_lineno_string"
+  ];
+
   passthru.tests = {
     inherit pylint;
   };
diff --git a/pkgs/development/python-modules/async_stagger/default.nix b/pkgs/development/python-modules/async_stagger/default.nix
index 638e326e0da..3dafd2b2194 100644
--- a/pkgs/development/python-modules/async_stagger/default.nix
+++ b/pkgs/development/python-modules/async_stagger/default.nix
@@ -10,6 +10,8 @@
 buildPythonPackage rec {
   pname = "async_stagger";
   version = "0.3.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -23,7 +25,14 @@ buildPythonPackage rec {
     pytest-mock
   ];
 
-  pythonImportsCheck = [ "async_stagger" ];
+  disabledTests = [
+    # RuntimeError: Logic bug in...
+    "test_stagger_coro_gen"
+  ];
+
+  pythonImportsCheck = [
+    "async_stagger"
+  ];
 
   meta = with lib; {
     description = "Happy Eyeballs connection algorithm and underlying scheduling logic in asyncio";
diff --git a/pkgs/development/python-modules/asyncio-nats-client/default.nix b/pkgs/development/python-modules/asyncio-nats-client/default.nix
index b5017123850..46dbcdbacd5 100644
--- a/pkgs/development/python-modules/asyncio-nats-client/default.nix
+++ b/pkgs/development/python-modules/asyncio-nats-client/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "asyncio-nats-client";
-  version = "0.11.4";
+  version = "0.11.5";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = "nats.py";
     rev = "v${version}";
-    sha256 = "1aj57xi2rj1xswq8air13xdsll1ybpi0nmz5f6jq01azm0zy9xyd";
+    sha256 = "0zwiijaswmfdk71diqmdpb6nx54fmgi8hy0vwx2m3ihhsyjxj82h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncpg/default.nix b/pkgs/development/python-modules/asyncpg/default.nix
index 9c9e2d623dc..7ae4cb1b789 100644
--- a/pkgs/development/python-modules/asyncpg/default.nix
+++ b/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.24.0";
+  version = "0.25.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3S+gY8M0SCNIfZ3cy0CALwJiLd+L+KbMU4he56LBwMY=";
+    sha256 = "63f8e6a69733b285497c2855464a34de657f2cccd25aeaeeb5071872e9382540";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix
index cb9503fe6e9..80e29932ee2 100644
--- a/pkgs/development/python-modules/atom/default.nix
+++ b/pkgs/development/python-modules/atom/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "atom";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df65a654744ccdc4843ce09c38612fd8f702c84be501b1d955c3ac0b9ad28dc5";
+    sha256 = "4055fbdeeb692d3d52c6e3c628d7513fc71f147920cac7d0da05b6dbb5ec8c8d";
   };
 
   buildInputs = [ cppy ];
diff --git a/pkgs/development/python-modules/authcaptureproxy/default.nix b/pkgs/development/python-modules/authcaptureproxy/default.nix
index c03b423932d..73422a0624c 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.2";
+  version = "1.1.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "alandtse";
     repo = "auth_capture_proxy";
     rev = "v${version}";
-    sha256 = "1cg63qhf823nf785kyl96r7vyxfl6dlbwsmhcpny8vb65pl9gng5";
+    sha256 = "08zpaclg5f9g1pix0jaq42i2ph12xc8djjrmhxz0yygw5rsilgl4";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/avro/default.nix b/pkgs/development/python-modules/avro/default.nix
index 4c1fb77dc69..d69f009aaf4 100644
--- a/pkgs/development/python-modules/avro/default.nix
+++ b/pkgs/development/python-modules/avro/default.nix
@@ -1,30 +1,44 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi, pycodestyle, isort }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, typing-extensions
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "avro";
-  version = "1.10.2";
+  version = "1.11.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "381b990cc4c4444743c3297348ffd46e0c3a5d7a17e15b2f4a9042f6e955c31a";
+    sha256 = "1206365cc30ad561493f735329857dd078533459cee4e928aec2505f341ce445";
   };
 
-  patchPhase = ''
-    # this test requires network access
-    sed -i 's/test_server_with_path/noop/' avro/test/test_ipc.py
-  '' + (lib.optionalString isPy3k ''
-    # these files require twisted, which is not python3 compatible
-    rm avro/txipc.py
-    rm avro/test/txsample*
-  '');
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Requires network access
+    "test_server_with_path"
+  ];
 
-  nativeBuildInputs = [ pycodestyle ];
-  propagatedBuildInputs = [ isort ];
+  pythonImportsCheck = [
+    "avro"
+  ];
 
   meta = with lib; {
-    description = "A serialization and RPC framework";
-    homepage = "https://pypi.python.org/pypi/avro/";
+    description = "Python serialization and RPC framework";
+    homepage = "https://github.com/apache/avro";
     license = licenses.asl20;
-    maintainers = [ maintainers.zimbatm ];
+    maintainers = with maintainers; [ zimbatm ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-keyvault/default.nix b/pkgs/development/python-modules/azure-keyvault/default.nix
index f5b83df2664..8a4799c688b 100644
--- a/pkgs/development/python-modules/azure-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault/default.nix
@@ -21,10 +21,9 @@ buildPythonPackage rec {
     azure-keyvault-secrets
   ];
 
-  # this is just a meta package, which contains keys and secrets
+  # this is just a meta package, which contains keys and secrets packages
   doCheck = false;
-
-  pythonNamespaces = [ "azure" ];
+  doBuild = false;
 
   pythonImportsCheck = [
     "azure.keyvault.keys"
diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix
index 43edd16f66a..78b34dfbf17 100644
--- a/pkgs/development/python-modules/bitstruct/default.nix
+++ b/pkgs/development/python-modules/bitstruct/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bitstruct";
-  version = "8.11.1";
+  version = "8.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e7b8769c0f09fee403d0a5f637f8b575b191a79a92e140811aa109ce7461f0c";
+    sha256 = "45b2b932ce6681f5c6ce8cba39abdd423b579b0568c76fa48b1e09c88368ede7";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index ea4fb0b4a74..3fe77cb297b 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "black";
-  version = "21.10b0";
+  version = "21.12b0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qZUiKQkuMl/l89rlbYH2ObI/cTHrhAeBlH5LKIYDDzM=";
+    sha256 = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 63cd373abf7..9017cbed0d6 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -33,11 +33,11 @@
 buildPythonPackage rec {
   pname = "bokeh";
   # update together with panel which is not straightforward
-  version = "2.3.3";
+  version = "2.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5fdcc181835561447fcc5a371300973fce4114692d5853addec284d1cdeb677";
+    sha256 = "f0a4b53364ed3b7eb936c5cb1a4f4132369e394c7ae0a8ef420459410958033d";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 6d8cb85fa88..bf26eca41b6 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.18.54"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.20.13"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LYHcSEAgBZ/HOBZZhDBBB9TbHGd0tjENCMiSoXUfaYA=";
+    sha256 = "bbf53a077d6a0575ddec8026f0475ca6ee6f41b227914bf315bf3e049a3d653a";
   };
 
   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 bf291411608..b34dbfbac98 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.21.54"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.23.14"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RhJ7OjhdDsc9GZS4lYsjt54GE+EsSGNxoQDfmStyobk=";
+    sha256 = "sha256-6NUsvy5zxiaM8sIH9H48+z7eCYP5PotZZ0tUYo5+8fE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix
index 64fe3c455ee..0cedc7655ac 100644
--- a/pkgs/development/python-modules/bpython/default.nix
+++ b/pkgs/development/python-modules/bpython/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "bpython";
-  version = "0.21";
+  version = "0.22.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "88aa9b89974f6a7726499a2608fa7ded216d84c69e78114ab2ef996a45709487";
+    sha256 = "1fb1e0a52332579fc4e3dcf75e21796af67aae2be460179ecfcce9530a49a200";
   };
 
   patches = [ (substituteAll {
diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix
index 95e24e98d51..8cf820edbfe 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.13.0";
+  version = "4.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de8270c24c4557bcb76d2079bb4cabf380ce467d17c65f10ee5159da7ff8496a";
+    sha256 = "4f6addf89f5cd6123243ddc89db325e50fceec825845901dad553fde115bd938";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index 834dd42bc08..8056cd181d5 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.13.4";
+  version = "2.13.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b978b2f9317b317ee4191f78fcc4f05b1ac41bdaaae47f0956f14c8285feef63";
+    sha256 = "ac6edd48b1d7b1fba383dd0840fd49c53266f6bd426111a0195bcc640f4aff0f";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/bumps/default.nix b/pkgs/development/python-modules/bumps/default.nix
index 7e94bd55b28..6e0637d2a6b 100644
--- a/pkgs/development/python-modules/bumps/default.nix
+++ b/pkgs/development/python-modules/bumps/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "bumps";
-  version = "0.8.0";
+  version = "0.8.1";
 
   propagatedBuildInputs = [six];
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f92c05effd8175763799d19ca55592e89b053318f611148a6725159aea41d67";
+    sha256 = "f4f2ee712a1e468a2ce5c0a32f67739a83331f0cb7b9c50b9e7510daefc12169";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/castepxbin/default.nix b/pkgs/development/python-modules/castepxbin/default.nix
index 3c446664863..993684bd5a3 100644
--- a/pkgs/development/python-modules/castepxbin/default.nix
+++ b/pkgs/development/python-modules/castepxbin/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "castepxbin";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "zhubonan";
     repo = "castepxbin";
     rev = "v${version}";
-    sha256 = "16wnd1mwhl204d1s3har2fhyhyjg86sypg00bj812dxk8zixxszf";
+    sha256 = "0bqicpdyisbcz8argy4ppm59zzkcn9lcs4y1mh2f31f75x732na3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index baf6b62d42f..6824f0afdf3 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.2.0";
+  version = "5.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d858a8fe53c07a9f0cbf8cf1da28e8abe5464d0aba5713bf83908e74277734b";
+    sha256 = "b41a590b49caf8e6498a57db628e580d5f8dc6febda0f42de5d783aed5b7f808";
   };
 
   propagatedBuildInputs = [ billiard click click-didyoumean click-plugins click-repl kombu pytz vine ];
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 94aecdcc4ec..07af19a4384 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -1,39 +1,36 @@
-{ lib, stdenv, buildPythonPackage, isPyPy, fetchPypi, libffi, pycparser, pytestCheckHook }:
+{ lib, stdenv, buildPythonPackage, isPyPy, fetchPypi, pytestCheckHook,
+  libffi, pkg-config, pycparser
+}:
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.14.6";
+  version = "1.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd";
+    sha256 = "920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954";
   };
 
   outputs = [ "out" "dev" ];
 
   buildInputs = [ libffi ];
 
+  nativeBuildInputs = [ pkg-config ];
+
   propagatedBuildInputs = [ pycparser ];
 
-  # On Darwin, the cffi tests want to hit libm a lot, and look for it in a global
-  # impure search path. It's obnoxious how much repetition there is, and how difficult
-  # it is to get it to search somewhere else (since we do actually have a libm symlink in libSystem)
   prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace testing/cffi0/test_parsing.py \
-      --replace 'lib_m = "m"' 'lib_m = "System"' \
-      --replace '"libm" in name' '"libSystem" in name'
-    substituteInPlace testing/cffi0/test_unicode_literals.py --replace 'lib_m = "m"' 'lib_m = "System"'
-    substituteInPlace testing/cffi0/test_zdistutils.py --replace 'self.lib_m = "m"' 'self.lib_m = "System"'
-    substituteInPlace testing/cffi1/test_recompiler.py --replace 'lib_m = "m"' 'lib_m = "System"'
-    substituteInPlace testing/cffi0/test_function.py --replace "lib_m = 'm'" "lib_m = 'System'"
-    substituteInPlace testing/cffi0/test_verify.py --replace "lib_m = ['m']" "lib_m = ['System']"
+    # Remove setup.py impurities
+    substituteInPlace setup.py --replace "'-iwithsysroot/usr/include/ffi'" ""
+    substituteInPlace setup.py --replace "'/usr/include/ffi'," ""
+    substituteInPlace setup.py --replace '/usr/include/libffi' '${lib.getDev libffi}/include'
   '';
 
   # The tests use -Werror but with python3.6 clang detects some unreachable code.
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang
-    "-Wno-unused-command-line-argument -Wno-unreachable-code";
+    "-Wno-unused-command-line-argument -Wno-unreachable-code -Wno-c++11-narrowing";
 
-  doCheck = !stdenv.hostPlatform.isMusl && !stdenv.isDarwin; # TODO: Investigate
+  doCheck = !stdenv.hostPlatform.isMusl;
 
   checkInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index f0769f57275..4a409cb41e0 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -5,6 +5,7 @@
 , aws-sam-translator
 , importlib-metadata
 , importlib-resources
+, jschema-to-python
 , jsonpatch
 , jsonschema
 , junit-xml
@@ -12,6 +13,7 @@
 , pathlib2
 , pyyaml
 , requests
+, sarif-om
 , setuptools
 , six
 , mock
@@ -21,13 +23,13 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.54.2";
+  version = "0.56.2";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "v${version}";
-    sha256 = "04d5zyjnrl3b6cb2fxmbpii27mnq77wqsglfxfv2a1zj2p9xby0p";
+    sha256 = "0wpsj719r0p122qmi3nznzqnxqb0nx53isg9fma75894pvq2v5wc";
   };
 
   postPatch = ''
@@ -37,6 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aws-sam-translator
+    jschema-to-python
     jsonpatch
     jsonschema
     junit-xml
@@ -44,6 +47,7 @@ buildPythonPackage rec {
     pathlib2
     pyyaml
     requests
+    sarif-om
     setuptools
     six
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata importlib-resources ];
@@ -70,6 +74,7 @@ buildPythonPackage rec {
     # Tests depend on network access (fails in getaddrinfo)
     "test_update_resource_specs_python_2"
     "test_update_resource_specs_python_3"
+    "test_sarif_formatter"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix
index 66d9e23668b..7f7f54b73d9 100644
--- a/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "charset-normalizer";
-  version = "2.0.5";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "Ousret";
     repo = "charset_normalizer";
     rev = version;
-    sha256 = "0pv6yf5ialc82iimsjbq3gp5hh02pg4a7sdma48gd81h4h8qd627";
+    sha256 = "sha256-+acnzdDcujnMa0FYlWaAX7Ga9APMRlvBLKoogIyY8YM=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/chart-studio/default.nix b/pkgs/development/python-modules/chart-studio/default.nix
index 2873b7e99ef..0e80ee1a41e 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 = "5.3.1";
+  version = "5.4.0";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "v${version}";
-    sha256 = "11jazr5s2rmcxbkpb79gllwlyxvji3f0ryfrj7mkbyvfnfv43gly";
+    sha256 = "1ay9dlblxkx3pxqmizj2am9gf60j1pl6ir23yj7chg8dbafdbv8p";
   };
 
   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 8b8f536bab6..ce229665c65 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "cliff";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3";
+    sha256 = "c68aac08d0d25853234a38fdbf1f33503849af3d5d677a4d0aacd42b0be6a4a1";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index f7308fd8ba9..8339af8094c 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "2.2.0";
+  version = "2.3.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34cd12424d9e2835eff125146af3d9f4a4c2931c6bc5a3cea9790bd4f55756d9";
+    sha256 = "cad18787a26147dad4b161d75c5ab7de16ffe91fef1cfad8e6f18b712746e800";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/cocotb/default.nix b/pkgs/development/python-modules/cocotb/default.nix
index 17fe45f1cf4..90616dc1f8a 100644
--- a/pkgs/development/python-modules/cocotb/default.nix
+++ b/pkgs/development/python-modules/cocotb/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cocotb";
-  version = "1.5.2";
+  version = "1.6.0";
 
   # - we need to use the tarball from PyPi
   #   or the full git checkout (with .git)
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   #   because it does not include required metadata
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f4f3e6eb9caeb479e98d604770645b57469cd25b39e28df1916ffcd593efbe6";
+    sha256 = "a695544ab314e6d795b72ece9e67b51c6668c569b21303158e00452db43c5756";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix
index 16059fe3d6b..facbc320689 100644
--- a/pkgs/development/python-modules/cogapp/default.nix
+++ b/pkgs/development/python-modules/cogapp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cogapp";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a6e82a55af45f5e946d7002ed997869abf6f57d28fdc79f128132b5da18bf8";
+    sha256 = "1be95183f70282422d594fa42426be6923070a4bd8335621f6347f3aeee81db0";
   };
 
   # there are no tests
diff --git a/pkgs/development/python-modules/configparser/default.nix b/pkgs/development/python-modules/configparser/default.nix
index 3eeae353d11..5f227fa4f9e 100644
--- a/pkgs/development/python-modules/configparser/default.nix
+++ b/pkgs/development/python-modules/configparser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "configparser";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "85d5de102cfe6d14a5172676f09d19c465ce63d6019cf0a4ef13385fc535e828";
+    sha256 = "202b9679a809b703720afa2eacaad4c6c2d63196070e5d9edc953c0489dfd536";
   };
 
   # No tests available
diff --git a/pkgs/development/python-modules/construct/2.10.54.nix b/pkgs/development/python-modules/construct/2.10.54.nix
index 30d303b60cd..5bbbd150145 100644
--- a/pkgs/development/python-modules/construct/2.10.54.nix
+++ b/pkgs/development/python-modules/construct/2.10.54.nix
@@ -14,11 +14,21 @@ buildPythonPackage rec {
     sha256 = "1mqspsn6bf3ibvih1zna2glkg8iw7vy5zg9gzg0d1m8zcndk2c48";
   };
 
-  checkInputs = [ pytestCheckHook pytest-benchmark enum34 numpy arrow ruamel-yaml ];
+  checkInputs = [ pytestCheckHook enum34 numpy ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
+  # these have dependencies that are broken on Python 2
+  disabledTestPaths = [
+    "tests/gallery/test_gallery.py"
+    "tests/test_benchmarks.py"
+    "tests/test_compiler.py"
+  ];
 
-  pytestFlagsArray = [ "--benchmark-disable" ];
+  disabledTests = [
+    "test_benchmarks"
+    "test_timestamp"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_multiprocessing"
+  ];
 
   meta = with lib; {
     description = "Powerful declarative parser (and builder) for binary data";
diff --git a/pkgs/development/python-modules/construct/default.nix b/pkgs/development/python-modules/construct/default.nix
index b2783fa0934..8ae44476eff 100644
--- a/pkgs/development/python-modules/construct/default.nix
+++ b/pkgs/development/python-modules/construct/default.nix
@@ -22,11 +22,9 @@ buildPythonPackage rec {
     lz4
   ];
 
-  checkInputs = [ pytestCheckHook pytest-benchmark numpy arrow ruamel-yaml cloudpickle ];
+  checkInputs = [ pytestCheckHook numpy arrow ruamel-yaml cloudpickle ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
-
-  pytestFlagsArray = [ "--benchmark-disable" ];
+  disabledTests = [ "test_benchmarks" ] ++ lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
 
   meta = with lib; {
     description = "Powerful declarative parser (and builder) for binary data";
diff --git a/pkgs/development/python-modules/crccheck/default.nix b/pkgs/development/python-modules/crccheck/default.nix
index 1762d60dfde..891e67f6446 100644
--- a/pkgs/development/python-modules/crccheck/default.nix
+++ b/pkgs/development/python-modules/crccheck/default.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "crccheck";
-  version = "1.0";
+  version = "1.1";
 in buildPythonPackage {
   inherit pname version;
 
@@ -11,7 +11,7 @@ in buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ay9lgy80j7lklm07iw2wq7giwnv9fbv50mncblqlc39y322vi0p";
+    sha256 = "45962231cab62b82d05160553eebd9b60ef3ae79dc39527caef52e27f979fa96";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index eddd7e0b440..d21e6d060fe 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -79,10 +79,6 @@ buildPythonPackage rec {
     py.test ${pytestFlags} tests
   '';
 
-  # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
-  # can do until nix 1.11's release
-  __impureHostDeps = [ "/usr/lib" ];
-
   meta = with lib; {
     description = "A package which provides cryptographic recipes and primitives";
     longDescription = ''
diff --git a/pkgs/development/python-modules/curtsies/default.nix b/pkgs/development/python-modules/curtsies/default.nix
index 549d6062c17..3ef99936c47 100644
--- a/pkgs/development/python-modules/curtsies/default.nix
+++ b/pkgs/development/python-modules/curtsies/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "curtsies";
-  version = "0.3.9";
+  version = "0.3.10";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "933b503767ce38fe32a1f77639d9a4fa3d5229d41abb31a91a6fcbdf01511a55";
+    sha256 = "11efbb153d9cb22223dd9a44041ea0c313b8411e246e7f684aa843f6aa9c1600";
   };
 
   propagatedBuildInputs = [ blessings cwcwidth ]
diff --git a/pkgs/development/python-modules/cx_freeze/default.nix b/pkgs/development/python-modules/cx_freeze/default.nix
index 2f1797bf4fe..514b53b873a 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.8.1";
+  version = "6.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f16d3d40f7f2e1f6032132170d8fd4ba2f4f9ea419f13d7a68091bbe1949583";
+    sha256 = "05e7a2b099d4eb36e74116311b693dcc3103763aee92ef32079be0b6d4832fa0";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/cx_oracle/default.nix b/pkgs/development/python-modules/cx_oracle/default.nix
index a5606ac3dd2..3b7d701f111 100644
--- a/pkgs/development/python-modules/cx_oracle/default.nix
+++ b/pkgs/development/python-modules/cx_oracle/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "cx_Oracle";
-  version = "8.2.1";
+  version = "8.3.0";
 
   buildInputs = [ odpic ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12e7e913a7a10fd8caafb9855e6703a601b7dd5cc596fcd489d0ac9529608b6c";
+    sha256 = "3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/cycler/default.nix b/pkgs/development/python-modules/cycler/default.nix
index 643a57e259f..b9bd167c6a9 100644
--- a/pkgs/development/python-modules/cycler/default.nix
+++ b/pkgs/development/python-modules/cycler/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cycler";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8";
+    sha256 = "9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f";
   };
 
   checkInputs = [ coverage nose ];
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index 86ee238eb10..9b1b9ecb8da 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPyPy
-, nose
+, pytestCheckHook
 , toolz
 , python
 , isPy27
@@ -10,21 +10,25 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.11.0";
+  version = "0.11.2";
   disabled = isPy27 || isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c64f3590c3eb40e1548f0d3c6b2ccde70493d0b8dc6cc7f9f3fec0bb3dcd4222";
+    sha256 = "ea23663153806edddce7e4153d1d407d62357c05120a4e8485bddf1bd5ab22b4";
   };
 
-  checkInputs = [ nose ];
   propagatedBuildInputs = [ toolz ];
 
-  checkPhase = ''
-    nosetests -v $out/${python.sitePackages}
+  # tests are located in cytoolz/tests, however we can't import cytoolz
+  # from $PWD, as it will break relative imports
+  preCheck = ''
+    cd cytoolz
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
   '';
 
+  checkInputs = [ pytestCheckHook ];
+
   meta = {
     homepage = "https://github.com/pytoolz/cytoolz/";
     description = "Cython implementation of Toolz: High performance functional utilities";
diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix
index 62f2a30507b..60df0707682 100644
--- a/pkgs/development/python-modules/dask-ml/default.nix
+++ b/pkgs/development/python-modules/dask-ml/default.nix
@@ -17,13 +17,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.9.0";
+  version = "2021.11.30";
   pname = "dask-ml";
   disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f376a7114133b484a6d393f62298473116fc49c79ec7d50d5b031d752f54307";
+    sha256 = "4f73306b5ee56e9b41b133697062d0028d30b1ece883ac6b56532fea5bd3e94a";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dask-mpi/default.nix b/pkgs/development/python-modules/dask-mpi/default.nix
index d656b055d11..cc44a6e97eb 100644
--- a/pkgs/development/python-modules/dask-mpi/default.nix
+++ b/pkgs/development/python-modules/dask-mpi/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.21.0";
+  version = "2021.11.0";
   pname = "dask-mpi";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7";
+    sha256 = "602d2e2d7816a4abc1eb17998e1acc93a43b6f82bf94a6accca169a42de21898";
   };
 
   propagatedBuildInputs = [ dask distributed mpi4py ];
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index f0aa7a074c6..c3bc5aee76c 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.2";
+  version = "9.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9672aae60b299de58a527f320df45769cadf436398e21f4ce73424a25badb7a7";
+    sha256 = "0e4c9178635d47b18ca12284c8ba970747e0b2e2fb7dd6f0a06d35788e81cb91";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix
index 0c1b8137bc9..b4b60da17f9 100644
--- a/pkgs/development/python-modules/datasets/default.nix
+++ b/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.11.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    sha256 = "0pm14cp7xaagpf4j96v0ybi5gn3r9p0if3pc197ckwx6sw3lx29p";
+    sha256 = "sha256-5J2hhy52eZqVSaeJNIOM9RzZatq3aewAulS3OX76+Io=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 5a611c989f4..7908b3c6b49 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -31,14 +31,15 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.58.1";
+  version = "0.59.4";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dtKqp7LV1fRjwOMAlmmAnC19j8hLA1oixGextATW6z0=";
+    sha256 = "sha256-bH/VREo2f84wloA2jgXnQkGNSRRRYmSvUXmI0wMfmYM=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
@@ -79,7 +80,6 @@ buildPythonPackage rec {
       --replace "pint~=0.9" "pint" \
       --replace "pluggy~=0.13.0" "pluggy" \
       --replace "uvicorn~=0.11" "uvicorn" \
-      --replace "PyYAML~=5.3" "PyYAML"
   '';
 
   # takes 30-180 mins to run entire test suite, not worth the CPU resources, slows down reviews
@@ -108,6 +108,6 @@ buildPythonPackage rec {
     description = "Multi-tool for exploring and publishing data";
     homepage = "https://datasette.io/";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index 5738dc64e75..587f73d81ed 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -31,6 +31,13 @@ buildPythonPackage rec {
     sha256 = "sha256-6JscHm1QjDmXOLLa83qhAvY/xwvlPM6duQ1lSxnCVV8=";
   };
 
+  # the complete extra is for usage with conda, which we
+  # don't care about
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "dask[complete]" "dask"
+  '';
+
   propagatedBuildInputs = [
     dask
     bokeh
@@ -56,11 +63,24 @@ buildPythonPackage rec {
     netcdf4
   ];
 
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
   pytestFlagsArray = [
     "-n $NIX_BUILD_CORES"
     "datashader"
   ];
 
+  disabledTests = [
+    # not compatible with current version of bokeh
+    # see: https://github.com/holoviz/datashader/issues/1031
+    "test_interactive_image_update"
+    # latest dask broken array marshalling
+    # see: https://github.com/holoviz/datashader/issues/1032
+    "test_raster_quadmesh_autorange_reversed"
+  ];
+
   disabledTestPaths = [
     # 31/50 tests fail with TypeErrors
     "datashader/tests/test_datatypes.py"
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index 23fcf511187..599c911b999 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -23,6 +23,10 @@ buildPythonPackage rec {
     MACOSX_DEPLOYMENT_TARGET=10.16
   '' else null;
 
+  configureFlags = [
+    "PYTHON_VERSION=${lib.versions.major python.version}"
+  ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dbus dbus-glib ]
     # My guess why it's sometimes trying to -lncurses.
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index b623fe30278..6dfb531a78b 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -19,15 +19,20 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2021.10.0";
+  version = "2021.11.2";
   disabled = pythonOlder "3.6";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kfq7lwv2n2wiws4v2rj36wx56jvkp2fl6zxg04p2lc3vcgha9za";
+    sha256 = "f86a01a2e1e678865d2e42300c47552b5012cd81a2d354e47827a1fd074cc302";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "dask == 2021.11.2" "dask"
+  '';
+
   propagatedBuildInputs = [
     bokeh
     click
diff --git a/pkgs/development/python-modules/django-configurations/default.nix b/pkgs/development/python-modules/django-configurations/default.nix
index de01f4f7041..4cb23d989fa 100644
--- a/pkgs/development/python-modules/django-configurations/default.nix
+++ b/pkgs/development/python-modules/django-configurations/default.nix
@@ -1,29 +1,48 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, django-discover-runner
-, mock
 , dj-database-url
 , dj-email-url
 , dj-search-url
-, django-cache-url
-, six
 , django
+, django-cache-url
+, django-discover-runner
+, fetchPypi
+, importlib-metadata
+, mock
+, pythonOlder
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
-  version = "2.2";
   pname = "django-configurations";
+  version = "2.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e3bcea1355ac50a4c9f854f751d214cb17e5f8adf18405a4488d0a1e8945915";
+    sha256 = "e2ca25530e184f0ee3b7f5ae69563461a93a8914493306ee0bf6d71e7d8ad1d0";
   };
 
-  buildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ six ];
-  checkInputs = [ django-discover-runner mock dj-database-url dj-email-url dj-search-url django-cache-url ];
+  buildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    django-discover-runner
+    mock
+    dj-database-url
+    dj-email-url
+    dj-search-url
+    django-cache-url
+  ];
 
   checkPhase = ''
     export PYTHONPATH=.:$PYTHONPATH
@@ -35,10 +54,14 @@ buildPythonPackage rec {
   # django.core.exceptions.ImproperlyConfigured: django-configurations settings importer wasn't correctly installed
   doCheck = false;
 
+  pythonImportsCheck = [
+    "configurations"
+  ];
+
   meta = with lib; {
-    homepage = "https://django-configurations.readthedocs.io/";
     description = "A helper for organizing Django settings";
+    homepage = "https://django-configurations.readthedocs.io/";
     license = licenses.bsd0;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/django-formtools/default.nix b/pkgs/development/python-modules/django-formtools/default.nix
index 311fae425a5..c85d5d3fcc7 100644
--- a/pkgs/development/python-modules/django-formtools/default.nix
+++ b/pkgs/development/python-modules/django-formtools/default.nix
@@ -1,19 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi, django, python }:
+{ lib
+, buildPythonPackage
+, django
+, fetchPypi
+, python
+, pythonOlder
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "django-formtools";
-  version = "2.2";
+  version = "2.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1chkbl188yj6hvhh1wgjpfgql553k6hrfwxzb8vv4lfdq41jq9y5";
+    sha256 = "9663b6eca64777b68d6d4142efad8597fe9a685924673b25aa8a1dcff4db00c3";
   };
 
-  propagatedBuildInputs = [ django ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+  ];
+
   checkPhase = ''
     ${python.interpreter} -m django test --settings=tests.settings
   '';
 
+  pythonImportsCheck = [
+    "formtools"
+  ];
+
   meta = with lib; {
     description = "A set of high-level abstractions for Django forms";
     homepage = "https://github.com/jazzband/django-formtools";
diff --git a/pkgs/development/python-modules/django-statici18n/default.nix b/pkgs/development/python-modules/django-statici18n/default.nix
index 95b860a3331..7282cf3b987 100644
--- a/pkgs/development/python-modules/django-statici18n/default.nix
+++ b/pkgs/development/python-modules/django-statici18n/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "django-statici18n";
-  version = "2.0.1";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cqwfirzjbanibq3mfz9lcwqnc8655zpysf9hk9g3lbwj2m478sp";
+    sha256 = "5c85192fa95e3ef3727517ac104add8959fc0a54be3d13440a8a3319fddbc778";
   };
 
   propagatedBuildInputs = [ django django_appconf ];
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
index c1e5139d301..9a0d98034c6 100644
--- a/pkgs/development/python-modules/django/2.nix
+++ b/pkgs/development/python-modules/django/2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.24";
+  version = "2.2.25";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dvx3x85lggm91x7mpvaf9nmpxyz7r97pbpnmr2k1qfy0c7gyf9k";
+    sha256 = "sha256-seZerzcTR9SxPrfgYbCXhslzBh3pU5DDJ8hcHiqiNJw=";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix
index 9b8aa8cba8f..fdcb8129f27 100644
--- a/pkgs/development/python-modules/django/3.nix
+++ b/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "3.2.9";
+  version = "3.2.10";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "51284300f1522ffcdb07ccbdf676a307c6678659e1284f0618e5a774127a6a08";
+    sha256 = "sha256-B06IGLS0Cs3CNp5n3NZVXVWDKXhUCNzSU0DumPHx1cQ=";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django_compressor/default.nix b/pkgs/development/python-modules/django_compressor/default.nix
index 2e58047d8a9..61a32e2561a 100644
--- a/pkgs/development/python-modules/django_compressor/default.nix
+++ b/pkgs/development/python-modules/django_compressor/default.nix
@@ -1,5 +1,6 @@
 { lib, buildPythonPackage, fetchPypi,
   rcssmin, rjsmin, django_appconf }:
+
 buildPythonPackage rec {
     pname = "django_compressor";
     version = "2.4.1";
@@ -9,8 +10,9 @@ buildPythonPackage rec {
       sha256 = "3358077605c146fdcca5f9eaffb50aa5dbe15f238f8854679115ebf31c0415e0";
     };
     postPatch = ''
-      substituteInPlace setup.py --replace 'rcssmin == 1.0.6' 'rcssmin' \
-        --replace 'rjsmin == 1.0.12' 'rjsmin'
+      substituteInPlace setup.py \
+        --replace 'rcssmin == 1.0.6' 'rcssmin' \
+        --replace 'rjsmin == 1.1.0' 'rjsmin'
     '';
 
     # requires django-sekizai, which we don't have packaged yet
diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix
index 348228a8c02..97836b247a3 100644
--- a/pkgs/development/python-modules/django_reversion/default.nix
+++ b/pkgs/development/python-modules/django_reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ad6d714b4b9b824e22b88d47201cc0f74b5c4294c8d4e1f8d7ac7c3631ef3188";
+    sha256 = "6991f16e5d3a972912db3d56e3a714d10b07becd566ab87f85f2e9b671981339";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/pkgs/development/python-modules/djangoql/default.nix b/pkgs/development/python-modules/djangoql/default.nix
index e0e83e0c061..facfc2fafcd 100644
--- a/pkgs/development/python-modules/djangoql/default.nix
+++ b/pkgs/development/python-modules/djangoql/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "djangoql";
-  version = "0.15.3";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e1a2f32573396335a8935dfc2afb29e34eff34babec1150927ff74fcd4bbdb9d";
+    sha256 = "23cea52eca76e605fa2f34b13ae8d2bf60240737ee9ed3f60c667a4f64d28adf";
   };
 
   propagatedBuildInputs = [ ply ];
diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix
index a1010f96d62..dbfb857614e 100644
--- a/pkgs/development/python-modules/doc8/default.nix
+++ b/pkgs/development/python-modules/doc8/default.nix
@@ -1,39 +1,52 @@
 { lib
 , buildPythonPackage
+, chardet
+, docutils
 , fetchPypi
 , pbr
-, docutils
-, six
-, chardet
-, stevedore
-, restructuredtext_lint
 , pygments
+, pytestCheckHook
+, pythonOlder
+, restructuredtext_lint
+, stevedore
 }:
 
 buildPythonPackage rec {
   pname = "doc8";
-  version = "0.9.1";
+  version = "0.10.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e967db31ea10699667dd07790f98cf9d612ee6864df162c64e4954a8e30f90d";
+    sha256 = "376e50f4e70a1ae935416ddfcf93db35dd5d4cc0e557f2ec72f0667d0ace4548";
   };
 
-  buildInputs = [ pbr ];
+  buildInputs = [
+    pbr
+  ];
+
   propagatedBuildInputs = [
     docutils
-    six
     chardet
     stevedore
     restructuredtext_lint
     pygments
   ];
 
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "doc8"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Style checker for Sphinx (or other) RST documentation";
-    homepage = "https://launchpad.net/doc8";
-    license = lib.licenses.asl20;
+    homepage = "https://github.com/pycqa/doc8";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/docstring-to-markdown/default.nix b/pkgs/development/python-modules/docstring-to-markdown/default.nix
index f4f2a36f539..432f77220ad 100644
--- a/pkgs/development/python-modules/docstring-to-markdown/default.nix
+++ b/pkgs/development/python-modules/docstring-to-markdown/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "docstring-to-markdown";
-  version = "0.9";
+  version = "0.10";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XVTlSqqWmvnB5nvjvgGDJmg71KKTq2hHB4//QW7ugvA=";
+    sha256 = "0rflkbms94wkcypjcnz30bc4w4iww91h7sqq3j2b6ypzl4g48csa";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index 7fc0cb3b12b..e43f7d7f2d1 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.23.0";
+  version = "11.25.0";
 
   src = fetchFromGitHub {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
     rev = "v${version}";
-    sha256 = "1zrwr73dirmkbkcpy8v49hb52xffh0k9wp2603aysg9435w1rxvx";
+    sha256 = "1ln6m6wiym5608i26abs8a5nm4mnn7s3czhnpg9nyjyndnr7k0xj";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/easy-thumbnails/default.nix b/pkgs/development/python-modules/easy-thumbnails/default.nix
index 53913f77d2b..e896e79908b 100644
--- a/pkgs/development/python-modules/easy-thumbnails/default.nix
+++ b/pkgs/development/python-modules/easy-thumbnails/default.nix
@@ -1,21 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi,
-  django, pillow
+{ lib
+, buildPythonPackage
+, django
+, fetchPypi
+, pillow
+, pytestCheckHook
+, pythonOlder
+, reportlab
+, svglib
 }:
 
 buildPythonPackage rec {
   pname = "easy-thumbnails";
-  version = "2.7.2";
+  version = "2.8";
+  format = "setuptools";
 
-  meta = {
-    description = "Easy thumbnails for Django";
-    homepage = "https://github.com/SmileyChris/easy-thumbnails";
-    license = lib.licenses.bsd3;
-  };
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7dd9cf97efaf70ba5d76484a962f08ba65b31f1681bc417257743650e9e8a8a";
+    sha256 = "fd2249d936671847fc54a2d6c8c87bcca8f803001967dd03bab6b8bcb7590825";
   };
 
-  propagatedBuildInputs = [ django pillow ];
+  propagatedBuildInputs = [
+    django
+    pillow
+    svglib
+    reportlab
+  ];
+
+  # Tests require a Django instance which is setup
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "easy_thumbnails"
+  ];
+
+  meta = with lib; {
+    description = "Easy thumbnails for Django";
+    homepage = "https://github.com/SmileyChris/easy-thumbnails";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/pkgs/development/python-modules/eliot/default.nix b/pkgs/development/python-modules/eliot/default.nix
index 152561b69ce..b8f75776217 100644
--- a/pkgs/development/python-modules/eliot/default.nix
+++ b/pkgs/development/python-modules/eliot/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "eliot";
-  version = "1.13.0";
+  version = "1.14.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5760194b308a7ab35514ae1b942d88e9f2359071556d82580383f09ca586fff7";
+    sha256 = "c2f099a3e8d5ecfc22745766e7cc664a48db64b6b89d986dff270491d8683149";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/elmax/default.nix b/pkgs/development/python-modules/elmax/default.nix
index db1ff91ee0e..77bbd480e9b 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.3";
+  version = "0.1.5";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-elmax";
     rev = version;
-    sha256 = "sha256-OiVPjWqQw1u0OL6/uYlT+FP2XDh7l3OZyVtQfycHICI=";
+    sha256 = "sha256-EcYEpYv+EwwEfW8Sy7aQjFAPpmsA6qVbmlwrPdxdnEw=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
index 587dcf14923..f755d545598 100644
--- a/pkgs/development/python-modules/env-canada/default.nix
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.17";
+  version = "0.5.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "sha256-viuBuyGzAUcfb4qSecZsDvoAU++FNhuwNJET/s0qyOI=";
+    sha256 = "1w2fclpmcb41k2a3226jk62hdclc8b18kxih2ads90r4yxgpxc8p";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/envoy-reader/default.nix b/pkgs/development/python-modules/envoy-reader/default.nix
index 0f2ca79d641..a327c3f457d 100644
--- a/pkgs/development/python-modules/envoy-reader/default.nix
+++ b/pkgs/development/python-modules/envoy-reader/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , envoy-utils
 , fetchFromGitHub
+, fetchpatch
 , httpx
 , pytest-asyncio
 , pytest-raises
@@ -12,6 +13,7 @@
 buildPythonPackage rec {
   pname = "envoy-reader";
   version = "0.20.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jesserizzo";
@@ -37,7 +39,18 @@ buildPythonPackage rec {
       --replace "pytest-runner>=5.2" ""
   '';
 
-  pythonImportsCheck = [ "envoy_reader" ];
+  patches = [
+    # Support for later httpx, https://github.com/jesserizzo/envoy_reader/pull/82
+    (fetchpatch {
+      name = "support-later-httpx.patch";
+      url = "https://github.com/jesserizzo/envoy_reader/commit/6019a89419fe9c830ba839be7d39ec54725268b0.patch";
+      sha256 = "17vsrx13rskvh8swvjisb2dk6x1jdbjcm8ikkpidia35pa24h272";
+    })
+  ];
+
+  pythonImportsCheck = [
+    "envoy_reader"
+  ];
 
   meta = with lib; {
     description = "Python module to read from Enphase Envoy units";
diff --git a/pkgs/development/python-modules/ephem/default.nix b/pkgs/development/python-modules/ephem/default.nix
index 58c14699880..1e5db008dea 100644
--- a/pkgs/development/python-modules/ephem/default.nix
+++ b/pkgs/development/python-modules/ephem/default.nix
@@ -7,11 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "4.1";
+  version = "4.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c076794a511a34b5b91871c1cf6374dbc323ec69fca3f50eb718f20b171259d6";
+    sha256 = "sha256-26ngXHjOkQrnWgY1GlWSR5GRqNxXCsDNbRinfpgTiHM=";
   };
 
   checkInputs = [
@@ -24,7 +25,9 @@ buildPythonPackage rec {
     LC_ALL="en_US.UTF-8" pytest --pyargs ephem.tests -k "not JPLTest"
   '';
 
-  pythonImportsCheck = [ "ephem" ];
+  pythonImportsCheck = [
+    "ephem"
+  ];
 
   meta = with lib; {
     description = "Compute positions of the planets and stars";
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
index 24639b98e64..038b66a8efe 100644
--- a/pkgs/development/python-modules/eventlet/default.nix
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "eventlet";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f0bb8ed0dc0ab21d683975d5d8ab3c054d588ce61def9faf7a465ee363e839b";
+    sha256 = "80144f489c1bb273a51b6f96ff9785a382d2866b9bab1f5bd748385019f4141f";
   };
 
   propagatedBuildInputs = [ dnspython greenlet pyopenssl six ]
diff --git a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
index 4b4d6bdd7fc..add6f3f90c5 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.1.2";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "92ae36ff5cf38428bd3695629b5065d161c658fb0de0faf2c20cd7a99dac3820";
+    sha256 = "26696726cc70c019d1b76bb25e4823c93f0837ddc86bc4ea26c08165270b4d92";
   };
 
   propagatedBuildInputs = [ colorama tqdm ];
diff --git a/pkgs/development/python-modules/folium/default.nix b/pkgs/development/python-modules/folium/default.nix
index c0adaeaa558..ff8c097d6ff 100644
--- a/pkgs/development/python-modules/folium/default.nix
+++ b/pkgs/development/python-modules/folium/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "folium";
-  version = "0.12.0";
+  version = "0.12.1.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d45ace0a813ae65f202ce0356eb29c40a5e8fde071e4d6b5be0a89587ebaeab2";
+    sha256 = "e91e57d8298f3ccf4cce3c5e065bea6eb17033e3c5432b8a22214009c266b2ab";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 407b72c953f..ec3acfc775d 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -4,68 +4,75 @@
 , pythonOlder
 , brotlipy
 , zopfli
-, fs
 , lxml
 , scipy
 , munkres
 , unicodedata2
 , sympy
-, matplotlib
 , reportlab
 , sphinx
-, pytest
-, pytest-randomly
+, pytestCheckHook
 , glibcLocales
 }:
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.21.1";
+  version = "4.26.2";
+
+  # Bump to 3.7 when https://github.com/fonttools/fonttools/pull/2417 is merged
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "1x9qrg6ppqhm5214ymwvn0r34qdz8pqvyxd0sj7rkp06wa757z2i";
+    sha256 = "1zp9idjkn4bn1a4pn8x64vi8j1ijdsd4qvgf1f70dfwqvw6ak1i6";
   };
 
   # all dependencies are optional, but
   # we run the checks with them
+
   checkInputs = [
-    pytest
-    pytest-randomly
-    glibcLocales
+    pytestCheckHook
     # etree extra
     lxml
-    # ufo extra
-    fs
     # woff extra
     brotlipy
     zopfli
-    # unicode extra
-    unicodedata2
     # interpolatable extra
     scipy
     munkres
     # symfont
     sympy
-    # varLib
-    matplotlib
     # pens
     reportlab
     sphinx
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    # unicode extra
+    unicodedata2
   ];
 
   preCheck = ''
-    export LC_ALL="en_US.UTF-8"
+    # tests want to execute the "fonttools" executable from $PATH
+    export PATH="$out/bin:$PATH"
   '';
 
-  # avoid timing issues with timestamps in subset_test.py and ttx_test.py
-  checkPhase = ''
-    pytest Tests fontTools \
-      -k 'not ttcompile_timestamp_calcs and not recalc_timestamp'
-  '';
+  # Timestamp tests have timing issues probably related
+  # to our file timestamp normalization
+  disabledTests = [
+    "test_recalc_timestamp_ttf"
+    "test_recalc_timestamp_otf"
+    "test_ttcompile_timestamp_calcs"
+  ];
+
+  disabledTestPaths = [
+    # avoid test which depend on fs and matplotlib
+    # fs and matplotlib were removed to prevent strong cyclic dependencies
+    "Tests/misc/plistlib_test.py"
+    "Tests/pens"
+    "Tests/ufoLib"
+  ];
+
 
   meta = with lib; {
     homepage = "https://github.com/fonttools/fonttools";
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index e2ebc07ae31..e1ab3d9da89 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.0.7";  # 2.0.6 breaks canonicaljson
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a68f609d1af67da80b45519fdcfca2d60249c0a8c96e68279c1b6ddd92128204";
+    sha256 = "0189168749ddea8601afd648146c502533f93ae33840eb76cd71f694742623cd";
   };
 
   pythonImportsCheck = [
@@ -34,6 +34,10 @@ buildPythonPackage rec {
   disabledTests = [
     # TypeError: unsupported operand type(s) for |=: 'frozendict.frozendict' and 'dict'
     "test_union"
+    # non-standard assertions
+    "test_repr"
+    "test_format"
+    "test_str"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix
index 88aba155444..0ab3778f55c 100644
--- a/pkgs/development/python-modules/fs/default.nix
+++ b/pkgs/development/python-modules/fs/default.nix
@@ -20,14 +20,17 @@
 
 buildPythonPackage rec {
   pname = "fs";
-  version = "2.4.13";
+  version = "2.4.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "caab4dc1561d63c92f36ee78976f6a4a01381830d8420ce34a78d4f1bb1dc95f";
+    sha256 = "9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c";
   };
 
   buildInputs = [ glibcLocales ];
+
+  # strong cycle with paramaterized
+  doCheck = false;
   checkInputs = [ pyftpdlib mock psutil pytestCheckHook ];
   propagatedBuildInputs = [ six appdirs pytz ]
     ++ lib.optionals (!isPy3k) [ backports_os ]
diff --git a/pkgs/development/python-modules/gdown/default.nix b/pkgs/development/python-modules/gdown/default.nix
index 851f7612876..195a7e822d7 100644
--- a/pkgs/development/python-modules/gdown/default.nix
+++ b/pkgs/development/python-modules/gdown/default.nix
@@ -1,4 +1,5 @@
 { lib
+, beautifulsoup4
 , buildPythonApplication
 , fetchPypi
 , filelock
@@ -10,19 +11,31 @@
 
 buildPythonApplication rec {
   pname = "gdown";
-  version = "4.0.2";
+  version = "4.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XSYc3mCsFW+x6aZFDNtUE9lHv9vPUvkdsqmbtFX7aQw=";
+    sha256 = "bd871c125242a9d3691aa74f360b6b5268a58c13991bb2405fdb3ec3028307dc";
   };
 
-  propagatedBuildInputs = [ filelock requests tqdm setuptools six ];
+  propagatedBuildInputs = [
+    beautifulsoup4
+    filelock
+    requests
+    tqdm
+    setuptools
+    six
+  ];
 
   checkPhase = ''
     $out/bin/gdown --help > /dev/null
   '';
 
+  pythonImportsCheck = [
+    "gdown"
+  ];
+
   meta = with lib; {
     description = "A CLI tool for downloading large files from Google Drive";
     homepage = "https://github.com/wkentaro/gdown";
diff --git a/pkgs/development/python-modules/genanki/default.nix b/pkgs/development/python-modules/genanki/default.nix
index 2c54bc4910b..7b37be48f10 100644
--- a/pkgs/development/python-modules/genanki/default.nix
+++ b/pkgs/development/python-modules/genanki/default.nix
@@ -1,37 +1,49 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
-, cached-property, frozendict, pystache, pyyaml, pytest, pytest-runner
+{ lib
+, buildPythonPackage
+, cached-property
+, chevron
+, fetchPypi
+, frozendict
+, pystache
+, pythonOlder
+, pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.11.0";
+  version = "0.12.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2be87e3c2850bba21627d26728238f9655b448e564f8c70ab47caef558b63ef";
+    sha256 = "f787ac440ff37a3ef3389030e992e3527f000f7a69498f797033ccfad07ebe62";
   };
 
   propagatedBuildInputs = [
-    pytest-runner
     cached-property
+    chevron
     frozendict
     pystache
     pyyaml
   ];
 
-  checkInputs = [ pytest ];
-
-  disabled = !isPy3k;
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," ""
+  '';
 
   # relies on upstream anki
   doCheck = false;
-  checkPhase = ''
-    py.test
-  '';
+
+  pythonImportsCheck = [
+    "genanki"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/kerrickstaley/genanki";
     description = "Generate Anki decks programmatically";
+    homepage = "https://github.com/kerrickstaley/genanki";
     license = licenses.mit;
     maintainers = with maintainers; [ teto ];
   };
diff --git a/pkgs/development/python-modules/geoip2/default.nix b/pkgs/development/python-modules/geoip2/default.nix
index fcf2441b2e8..2a626c9c9ea 100644
--- a/pkgs/development/python-modules/geoip2/default.nix
+++ b/pkgs/development/python-modules/geoip2/default.nix
@@ -8,13 +8,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.4.0";
+  version = "4.5.0";
   pname = "geoip2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f150bed3190d543712a17467208388d31bd8ddb49b2226fba53db8aaedb8ba89";
+    sha256 = "b542252e87eb40adc3a2fc0f4e84b514c4c5e04ed46923a3a74d509f25f3103a";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
index 0d5b46b4dd3..7e30b8e83f4 100644
--- a/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "geventhttpclient";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f3c5884d62be75162426728e3d86788740b13e363b197ef592f1443dba240709";
+    sha256 = "d80ec9ff42b7219f33558185499d0b4365597fc55ff886207b45f5632e099780";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gitdb/default.nix b/pkgs/development/python-modules/gitdb/default.nix
index a5fa1157814..0895270d6c9 100644
--- a/pkgs/development/python-modules/gitdb/default.nix
+++ b/pkgs/development/python-modules/gitdb/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "gitdb";
-  version = "4.0.7";
+  version = "4.0.9";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005";
+    sha256 = "bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa";
   };
 
   propagatedBuildInputs = [ smmap ];
diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index ae6f465b1bf..9d548b685ef 100644
--- a/pkgs/development/python-modules/google-api-core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -4,40 +4,67 @@
 , google-auth
 , googleapis-common-protos
 , grpcio
+, grpcio-status
 , protobuf
 , proto-plus
 , requests
 , mock
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "2.1.0";
+  version = "2.2.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XsJ7lCs00EVZy/NnRDC7g/w9dOfTK4u9McRGbnF0C4M=";
+    sha256 = "97349cc18c2bb2415f64f1353a80273a289a61294ce3eb2f7ce682d251bdd997";
   };
 
   propagatedBuildInputs = [
     googleapis-common-protos
     google-auth
     grpcio
+    grpcio-status
     protobuf
     proto-plus
     requests
   ];
 
-  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
+  checkInputs = [
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   # prevent google directory from shadowing google imports
   preCheck = ''
     rm -r google
   '';
 
-  pythonImportsCheck = [ "google.api_core" ];
+  disabledTests = [
+    # Those grpc_helpers tests are failing
+    "test_wrap_unary_errors"
+    "test_wrap_stream_errors_raised"
+    "test_wrap_stream_errors_read"
+    "test_wrap_stream_errors_aiter"
+    "test_wrap_stream_errors_write"
+    "test_wrap_unary_errors"
+    "test___next___w_rpc_error"
+    "test_wrap_stream_errors_invocation"
+    "test_wrap_stream_errors_iterator_initialization"
+    "test_wrap_stream_errors_during_iteration"
+    "test_exception_with_error_code"
+  ];
+
+  pythonImportsCheck = [
+    "google.api_core"
+  ];
 
   meta = with lib; {
     description = "Core Library for Google Client Libraries";
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 b612a58c4f9..185c7579e4f 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -1,24 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi
-, google-auth, google-auth-httplib2, google-api-core
-, httplib2, six, uritemplate, oauth2client, setuptools }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-auth
+, google-auth-httplib2
+, google-api-core
+, httplib2
+, uritemplate
+, oauth2client
+, setuptools
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.25.0";
+  version = "2.31.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-dNgF7xC4sfWL04U53T0D+vEYj2TuPKQorAQtU59fVcc=";
+    sha256 = "3f64a5eee6fa03ab51806dccf48e342fda83fea60c290518c6a2dfdbf2de9efd";
   };
 
-  # No tests included in archive
-  doCheck = false;
-
   propagatedBuildInputs = [
-    google-auth google-auth-httplib2 google-api-core
-    httplib2 six uritemplate oauth2client setuptools
+    google-auth
+    google-auth-httplib2
+    google-api-core
+    httplib2
+    uritemplate
+    oauth2client
+    setuptools
   ];
 
+  # No tests included in archive
+  doCheck = false;
+
   pythonImportsCheck = [
     "googleapiclient"
   ];
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 076d1e2da4f..b51a5569a59 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "2.3.0";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-KAD2360pxs7V+vnKDDjqi6Hr4lWbEMApvQIePeMwFic=";
+    sha256 = "d83570a664c10b97a1dc6f8df87e5fdfff012f48f62be131e449c20dfc32630e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
index a3ecf1a6ec4..05963856edc 100644
--- a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
@@ -1,20 +1,25 @@
-{ lib, buildPythonPackage, fetchPypi, google-api-core }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "google-cloud-access-context-manager";
-  version = "0.1.8";
+  version = "0.1.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29101f61fa0e07db6385a94da45aef8edb4efde0d2b700fbbf65164c045744a8";
+    sha256 = "249a1c1a858bb182b73749784457baacfcab8e7c13da5f3421109d5b8dace5b8";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "google-api-core[grpc] >= 1.26.0, < 2.0.0dev" "google-api-core[grpc] >= 1.26.0, < 2.0.1"
-  '';
-
-  propagatedBuildInputs = [ google-api-core ];
+  propagatedBuildInputs = [
+    google-api-core
+  ];
 
   # No tests in repo
   doCheck = false;
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index b96d61bf672..5daa88ed949 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -18,11 +18,12 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "2.28.1";
+  version = "2.30.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-DiNT2X5SktyM5URHtxL7nolJbnFLXKz8PVNmFNHEYdw=";
+    sha256 = "4e3b5e3dcc475d5a601d84872ac0b63e059540be2251b1c4165c51106d572855";
   };
 
   propagatedBuildInputs = [
@@ -59,6 +60,8 @@ buildPythonPackage rec {
     "test_list_rows_page_size"
     "test_list_rows_scalars"
     "test_list_rows_scalars_extreme"
+    "test_dry_run"
+    "test_session"
     # Mocking of _ensure_bqstorage_client fails
     "test_to_arrow_ensure_bqstorage_client_wo_bqstorage"
     # requires network
diff --git a/pkgs/development/python-modules/google-cloud-core/default.nix b/pkgs/development/python-modules/google-cloud-core/default.nix
index ef02d0671b0..0351bd51e2e 100644
--- a/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "2.1.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NaH18CqG4PouKMZp8NtKdtkoZxoo+7u0k6tZup0cuak=";
+    sha256 = "476d1f71ab78089e0638e0aaf34bfdc99bab4fce8f4170ba6321a5243d13c5c7";
   };
 
   propagatedBuildInputs = [ google-api-core ];
diff --git a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
index 72d8e7ec60a..0e0d5982c6e 100644
--- a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datacatalog";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b4a3ba5bc93fb38008077335546daef9f5ea59a1b3accb98b0d07ca7fe6c6e37";
+    sha256 = "136fb153740d4154d8c9ef306284f7f899399de45eef2c9027ca3e56249c4e2d";
   };
 
   propagatedBuildInputs = [ libcst google-api-core grpc-google-iam-v1 proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index cf2ff18eddb..4872f7ac448 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "973f33f4da9598a30769e27510fc0cd4470f9081ba694c6c589bb8c0b86a0a6d";
+    sha256 = "2a25f7535f21cdeabfccb07fe4a75eae5a47bb36b82025537755b37d3376da46";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 28116c61f70..67a8daf6f99 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -5,6 +5,7 @@
 , google-api-core
 , google-cloud-testutils
 , grpc-google-iam-v1
+, grpcio-status
 , libcst
 , mock
 , proto-plus
@@ -14,6 +15,7 @@
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
   version = "2.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -23,6 +25,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     grpc-google-iam-v1
     google-api-core
+    grpcio-status
     libcst
     proto-plus
   ];
diff --git a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
index 4a83a96be33..98c9f316320 100644
--- a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-resource-manager";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b99e11360668ed0c034c8cf3a34caf6fd4a52efaf62d54dd85407c3ad20b715c";
+    sha256 = "b13e0a614b4865287a4b5fc43f4810d3d48fef7e24d9bcf54cb4bd93bfbb2bf2";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core grpc-google-iam-v1 proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index 5ad4c2a31f6..9d97437b815 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "1.42.3";
+  version = "1.43.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-d1TU3KpFl1UUtATs4NortCkqy8Z8pVmmnhKhnVT82wY=";
+    sha256 = "f3b4f4be5c8a1b5727a8f7136c94d3bacdd4b7bf11f9553f51ae4c1d876529d3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-testutils/default.nix b/pkgs/development/python-modules/google-cloud-testutils/default.nix
index 2c208511ee3..24775464a12 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.1.0";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d79051b6ca170c2a4f159bf56ac3f66c1e5360486121e72c06fdaa3911154bf";
+    sha256 = "9c60ea86b28998935875b5aea0b89b0a3aac5e433e0039236f633c5d0ff5f8b8";
   };
 
   propagatedBuildInputs = [ click google-auth six ];
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 5e0de87f44b..06c1eeb857f 100644
--- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.7.1";
+  version = "2.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e81beafa612f288fe74db55dd3a409f96cb01d2bac117bcd06a4e5b427d81476";
+    sha256 = "e8e272ab54be00285c8f9451081d833980c9fc2a1eff828448dfe315dfa61250";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/gradient-utils/default.nix b/pkgs/development/python-modules/gradient-utils/default.nix
index 171f87b5ddb..b7424c44f6d 100644
--- a/pkgs/development/python-modules/gradient-utils/default.nix
+++ b/pkgs/development/python-modules/gradient-utils/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gradient-utils";
-  version = "0.3.2";
+  version = "0.5.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Paperspace";
     repo = pname;
     rev = "v${version}";
-    sha256 = "083hnkv19mhvdc8nx28f1nph50c903gxh9g9q8531abv0w8m0744";
+    sha256 = "19plkgwwfs6298vjplgsvhirixi3jbngq5y07x9c0fjxk39fa2dk";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/gradient/default.nix b/pkgs/development/python-modules/gradient/default.nix
index 556688323b1..735dc03b6df 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.8.9";
+  version = "1.8.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c05913efe7fcc9f75c1fe84c157d2c2cf3ec0983e132d418c6e59fabc6361a1e";
+    sha256 = "0fa4a0553c28839e364d3aac27ec7292d26c1df27b8c54701d57eb7eda0b14f2";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
index 38c11cc4c8b..7a28bc08cda 100644
--- a/pkgs/development/python-modules/graphene/default.nix
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "graphene";
-  version = "3.0.0b8";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "graphql-python";
     repo = "graphene";
     rev = "v${version}";
-    sha256 = "sha256-Pgln369s4qXdKqLxhX+AkgpDQm+MfSZ/OVmB1AaawHI=";
+    sha256 = "0qgp3nl6afyz6y27bw175hyqppx75pp1vqwl7nvlpwvgwyyc2mnl";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix
index 1909dd99fe0..8906af53ce1 100644
--- a/pkgs/development/python-modules/graphql-core/default.nix
+++ b/pkgs/development/python-modules/graphql-core/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-benchmark
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 }:
@@ -9,6 +10,8 @@
 buildPythonPackage rec {
   pname = "graphql-core";
   version = "3.1.6";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -19,11 +22,14 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
+    pytest-asyncio
     pytest-benchmark
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "graphql" ];
+  pythonImportsCheck = [
+    "graphql"
+  ];
 
   meta = with lib; {
     description = "Port of graphql-js to Python";
diff --git a/pkgs/development/python-modules/graspologic/default.nix b/pkgs/development/python-modules/graspologic/default.nix
index 2096f22a249..10e7190d1fd 100644
--- a/pkgs/development/python-modules/graspologic/default.nix
+++ b/pkgs/development/python-modules/graspologic/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "graspologic";
-  version = "0.3";
+  version = "0.3.1";
 
   disabled = isPy27;
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "graspologic";
     rev = "v${version}";
-    sha256 = "0lab76qiryxvwl6zrcikhnxil1xywl0wkkm2vzi4v9mdzpa7w29r";
+    sha256 = "07dmfb1aplha01d22b41js7634dac4v28pv1l3bzssqhi4yyds7h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/green/default.nix b/pkgs/development/python-modules/green/default.nix
index 540d3027b94..e4a3401109b 100644
--- a/pkgs/development/python-modules/green/default.nix
+++ b/pkgs/development/python-modules/green/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , isPy3k
 , fetchPypi
+, django
 , colorama
 , coverage
 , unidecode
@@ -11,6 +12,7 @@
 buildPythonPackage rec {
   pname = "green";
   version = "3.3.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
@@ -29,17 +31,28 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    colorama coverage unidecode lxml
+    colorama
+    coverage
+    unidecode
+    lxml
   ];
 
   # let green run it's own test suite
   checkPhase = ''
-    $out/bin/green -tvvv green
+    $out/bin/green -tvvv \
+      green.test.test_version \
+      green.test.test_cmdline \
+      green.test.test_command
   '';
 
+  pythonImportsCheck = [
+    "green"
+  ];
+
   meta = with lib; {
     description = "Python test runner";
     homepage = "https://github.com/CleanCut/green";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix
new file mode 100644
index 00000000000..cb36e4387ef
--- /dev/null
+++ b/pkgs/development/python-modules/grpcio-status/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, googleapis-common-protos
+, grpc
+, grpcio
+, protobuf
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "grpcio-status";
+  inherit (grpc) version;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "JVM8TWXX1ROmOPDEuIsrZnAOO/Q+aZWlWjvRXsC3eQI=";
+  };
+
+  propagatedBuildInputs = [
+    googleapis-common-protos
+    grpcio
+    protobuf
+  ];
+
+  # Projec thas no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "grpc_status"
+  ];
+
+  meta = with lib; {
+    description = "GRPC Python status proto mapping";
+    homepage = "https://github.com/grpc/grpc/tree/master/src/python/grpcio_status";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/gruut-ipa/default.nix b/pkgs/development/python-modules/gruut-ipa/default.nix
index 50140ef8308..4fa9d62b7ac 100644
--- a/pkgs/development/python-modules/gruut-ipa/default.nix
+++ b/pkgs/development/python-modules/gruut-ipa/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "gruut-ipa";
-  version = "0.9.3";
+  version = "0.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d/AbvgAD3GHXpwhqjT5Xt9q7Kix+eFMX4kW2BywZWX0=";
+    sha256 = "08n79v60jhkz5vhychsicjz4bhz8v4gb2djmz5dfdaivyr0h3bsf";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/gsd/default.nix b/pkgs/development/python-modules/gsd/default.nix
index e781c2127da..f4f3a7eb13f 100644
--- a/pkgs/development/python-modules/gsd/default.nix
+++ b/pkgs/development/python-modules/gsd/default.nix
@@ -4,7 +4,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.5.0";
+  version = "2.5.1";
   pname = "gsd";
   disabled = isPy27;
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "glotzerlab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zw3ihbzkldwijz9phwivnzwylj30a2a4lknfbwm6vkx78rdrb1a";
+    sha256 = "00cy4lw7xnl2skfx7fg7cs1c8lrbaxvkym9j6zfi1dbvsdd0r103";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index ce2ba8d3730..330172f56ce 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.7.0";
+  version = "1.7.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pythongssapi";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "0ybijgsr4ra7x1w86sva4qljhm54ilm2zv4z0ry1r14kq9hmjfa4";
+    sha256 = "1xdcnm66b07m7chf04pp58p3khvy547hns1fw1xffd4n51kl42pp";
   };
 
   # It's used to locate headers
diff --git a/pkgs/development/python-modules/gviz-api/default.nix b/pkgs/development/python-modules/gviz-api/default.nix
index 3ec69d68695..04ba3b9520f 100644
--- a/pkgs/development/python-modules/gviz-api/default.nix
+++ b/pkgs/development/python-modules/gviz-api/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "gviz_api";
-  version = "1.9.0";
+  version = "1.10.0";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "1yag559lpmwfdxpxn679a6ajifcbpgljr5n6k5b7rrj38k2xq7jg";
+    sha256 = "a05055fed8c279f34f4b496eace7648c7fe9c1b06851e8a36e748541f1adbb05";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index e555a41cfb0..701b8f78f83 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.4.0";
+  version = "3.6.0";
   pname = "h5py";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e";
+    sha256 = "8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29";
   };
 
   # avoid strict pinning of numpy
diff --git a/pkgs/development/python-modules/hg-evolve/default.nix b/pkgs/development/python-modules/hg-evolve/default.nix
index 70b1a1fe527..27c2167ff1d 100644
--- a/pkgs/development/python-modules/hg-evolve/default.nix
+++ b/pkgs/development/python-modules/hg-evolve/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hg-evolve";
-  version = "10.4.0";
+  version = "10.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "64fd249a7fcabea60953fc3e7f08da6a85960aca367c04d078b999b7f6fd0246";
+    sha256 = "b47d9a1e0af3d7b54edd646581ac3e3ab046a572368eeb22dfd89dff7f9964d2";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index 69756083e5d..eccdcdaed42 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aae1c47328bb7f928778712654c3d5f100445190e2891f175dac66d743fdb2e8";
+    sha256 = "27e6d7686a1548d4632dcc977f2ff3ce2e42d80735339b1f3b389b7481260cc4";
   };
 
   propagatedBuildInputs = [ dulwich mercurial ];
diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix
index e6759f498a3..cd7d523c2a7 100644
--- a/pkgs/development/python-modules/homematicip/default.nix
+++ b/pkgs/development/python-modules/homematicip/default.nix
@@ -17,6 +17,8 @@
 buildPythonPackage rec {
   pname = "homematicip";
   version = "1.0.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -42,6 +44,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace homematicip/aio/connection.py \
+      --replace ", loop=self._loop" ""
+  '';
+
   disabledTests = [
     # Assert issues with datetime
     "test_contact_interface_device"
@@ -67,7 +74,9 @@ buildPythonPackage rec {
     "test_websocket"
   ];
 
-  pythonImportsCheck = [ "homematicip" ];
+  pythonImportsCheck = [
+    "homematicip"
+  ];
 
   meta = with lib; {
     description = "Python module for the homematicIP REST API";
diff --git a/pkgs/development/python-modules/html5lib/default.nix b/pkgs/development/python-modules/html5lib/default.nix
index f0abbcfbecc..1172b019513 100644
--- a/pkgs/development/python-modules/html5lib/default.nix
+++ b/pkgs/development/python-modules/html5lib/default.nix
@@ -1,12 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, flake8
-, pytest_4
-, pytest-expect
-, mock
 , six
 , webencodings
+, mock
+, pytest-expect
+, pytestCheckHook_5
 }:
 
 buildPythonPackage rec {
@@ -18,17 +17,16 @@ buildPythonPackage rec {
     sha256 = "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f";
   };
 
-  checkInputs = [ flake8 pytest_4 pytest-expect mock ];
   propagatedBuildInputs = [
-    six webencodings
+    six
+    webencodings
   ];
 
-  checkPhase = ''
-    # remove test causing error
-    # https://github.com/html5lib/html5lib-python/issues/411
-    rm html5lib/tests/test_stream.py
-    py.test
-  '';
+  checkInputs = [
+    mock
+    pytest-expect
+    pytestCheckHook_5
+  ];
 
   meta = {
     homepage = "https://github.com/html5lib/html5lib-python";
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 089c2d9fcc4..99eb08a35a9 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -3,12 +3,14 @@
 , pythonOlder
 , fetchFromGitHub
 , anyio
+, certifi
 , h11
 , h2
 , pproxy
 , pytest-asyncio
 , pytestCheckHook
 , pytest-cov
+, pytest-httpbin
 , sniffio
 , trio
 , trustme
@@ -17,18 +19,19 @@
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.13.7";
+  version = "0.14.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9hG9MqqEYMT2j7tXafToGYwHbJfp9/klNqZozHSbweE=";
+    sha256 = "sha256-jPsbMhY1lWKBXlh6hsX6DGKXi/g7VQSU00tF6H7qkOo=";
   };
 
   propagatedBuildInputs = [
     anyio
+    certifi
     h11
     h2
     sniffio
@@ -39,19 +42,12 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     pytest-cov
+    pytest-httpbin
     trio
     trustme
     uvicorn
   ];
 
-  disabledTestPaths = [
-    # these tests fail during dns lookups: httpcore.ConnectError: [Errno -2] Name or service not known
-    "tests/test_threadsafety.py"
-    "tests/async_tests/"
-    "tests/sync_tests/test_interfaces.py"
-    "tests/sync_tests/test_retries.py"
-  ];
-
   pythonImportsCheck = [ "httpcore" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
index c3990498161..3f48af86e58 100644
--- a/pkgs/development/python-modules/httplib2/default.nix
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , isPy27
 , mock
@@ -15,27 +16,22 @@
 
 buildPythonPackage rec {
   pname = "httplib2";
-  version = "0.20.1";
+  version = "0.20.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1zqs3YRVtm5DwewETLtRg5XhMJPJsMi0QLfeGirOURs=";
+    sha256 = "sha256-Q5KkhVqyHDoIeKjvvYoHRbZPY7LUXGDwgp4CSuyvQ1g=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
-  propagatedBuildInputs = [ pyparsing ];
-
-  pythonImportsCheck = [ "httplib2" ];
-
-  # Don't run tests for Python 2.7
-  doCheck = !isPy27;
+  propagatedBuildInputs = [
+    pyparsing
+  ];
 
   checkInputs = [
+    cryptography
     mock
     pytest-forked
     pytest-randomly
@@ -45,16 +41,29 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Don't run tests for Python 2.7
+  doCheck = !isPy27;
+
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
   disabledTests = lib.optionals (stdenv.isDarwin) [
     # fails with HTTP 408 Request Timeout, instead of expected 200 OK
     "test_timeout_subsequent"
   ];
 
-  pytestFlagsArray = [ "--ignore python2" ];
+  pytestFlagsArray = [
+    "--ignore python2"
+  ];
+
+  pythonImportsCheck = [
+    "httplib2"
+  ];
 
   meta = with lib; {
     description = "A comprehensive HTTP client library";
-    homepage = "https://httplib2.readthedocs.io";
+    homepage = "https://github.com/httplib2/httplib2";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index f73d81cc6aa..fac9ecba6ce 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -6,26 +6,30 @@
 , flask
 , httpcore
 , httpx
+, hypercorn
 , pytest-asyncio
 , pytest-trio
 , pytestCheckHook
 , python-socks
 , pythonOlder
 , sniffio
+, starlette
 , trio
 , yarl
 }:
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.4.1";
+  version = "0.7.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "romis2012";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rz69z5fcw7d5nzy5q2q0r9gxrsqijgpg70cnyr5br6xnfgy01ar";
+    sha256 = "1wigmkhn4ymfr12z9vhdaimjcma9llicwrr29q0cc8xmy23f3445";
   };
 
   propagatedBuildInputs = [
@@ -40,13 +44,17 @@ buildPythonPackage rec {
 
   checkInputs = [
     flask
+    hypercorn
     pytest-asyncio
     pytest-trio
     pytestCheckHook
+    starlette
     yarl
   ];
 
-  pythonImportsCheck = [ "httpx_socks" ];
+  pythonImportsCheck = [
+    "httpx_socks"
+  ];
 
   meta = with lib; {
     description = "Proxy (HTTP, SOCKS) transports for httpx";
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 014272bcc10..543308a3fdc 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -9,6 +9,7 @@
 , httpcore
 , rfc3986
 , sniffio
+, python
 , pytestCheckHook
 , pytest-asyncio
 , pytest-trio
@@ -19,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.19.0";
+  version = "0.21.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-bUxxeUYqOHBmSL2gPQG5cIq6k5QY4Kyhj9ToA5yZXPA=";
+    sha256 = "sha256-ayhLP+1hPWAx2ds227CKp5cebVkD5B2Z59L+3dzdINc=";
   };
 
   propagatedBuildInputs = [
@@ -50,12 +51,24 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "httpx" ];
 
+  # testsuite wants to find installed packages for testing entrypoint
+  preCheck = ''
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
+  '';
+
   disabledTests = [
     # httpcore.ConnectError: [Errno 101] Network is unreachable
     "test_connect_timeout"
     # httpcore.ConnectError: [Errno -2] Name or service not known
     "test_async_proxy_close"
     "test_sync_proxy_close"
+    # sensitive to charset_normalizer output
+    "iso-8859-1"
+    "test_response_no_charset_with_iso_8859_1_content"
+  ];
+
+  disabledTestPaths = [
+    "tests/test_main.py"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix
index 9744a748730..cf0b27c6c5b 100644
--- a/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -5,6 +5,7 @@
 , filelock
 , importlib-metadata
 , packaging
+, pyyaml
 , requests
 , ruamel-yaml
 , tqdm
@@ -13,19 +14,20 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.0.18";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = "huggingface_hub";
     rev = "v${version}";
-    sha256 = "sha256-SxA7rAdKuSrSYFIuxG81lblPJOL69Yx4rBccVrbQa/g=";
+    sha256 = "1pmi76vinwwn0bcxy5hj8pxhzqxdbzp0y3hsd631yyys01s0n6xd";
   };
 
   nativeBuildInputs = [ packaging ];
 
   propagatedBuildInputs = [
     filelock
+    pyyaml
     requests
     ruamel-yaml
     tqdm
diff --git a/pkgs/development/python-modules/hyperopt/default.nix b/pkgs/development/python-modules/hyperopt/default.nix
index d407ff95a01..605377a2ec3 100644
--- a/pkgs/development/python-modules/hyperopt/default.nix
+++ b/pkgs/development/python-modules/hyperopt/default.nix
@@ -1,29 +1,53 @@
-{ lib, fetchPypi, buildPythonPackage
-, cloudpickle, numpy, future, networkx
-, six, tqdm, scipy, pymongo
+{ lib
+, buildPythonPackage
+, cloudpickle
+, fetchPypi
+, future
+, networkx
+, numpy
+, py4j
+, pymongo
+, pyspark
+, scipy
+, six
+, tqdm
 }:
 
 buildPythonPackage rec {
   pname = "hyperopt";
-  version = "0.2.5";
+  version = "0.2.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc";
+    sha256 = "1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149";
   };
 
-  propagatedBuildInputs = [ future cloudpickle numpy networkx six tqdm scipy pymongo ];
+  propagatedBuildInputs = [
+    cloudpickle
+    future
+    networkx
+    numpy
+    py4j
+    pymongo
+    pyspark
+    scipy
+    six
+    tqdm
+  ];
 
   # tries to use /homeless-shelter to mimic container usage, etc
   doCheck = false;
 
-  pythonImportsCheck = [ "hyperopt" ];
+  pythonImportsCheck = [
+    "hyperopt"
+  ];
 
   meta = with lib; {
     description = "Distributed Asynchronous Hyperparameter Optimization";
-    homepage    = "http://hyperopt.github.com/hyperopt/";
-    license     = licenses.bsd2;
-    platforms   = platforms.unix;
+    homepage = "http://hyperopt.github.io/hyperopt/";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ freezeboy ];
   };
 }
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index 799d7e0702f..4cf8acf7087 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.24.5";
+  version = "6.27.1";
 
   # Use github tarballs that includes tests
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "hypothesis-python-${version}";
-    sha256 = "+pPnMgbLdYbh0xqPewNOJRaL7VtxeN73wbHHuK0fNYo=";
+    sha256 = "05kfz041vrd9fy8gl8ch05g806jj4j6l1cnwhqgygagn9z3aq1jx";
   };
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
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 8c3c3670c42..1f8b4063dd7 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.13.0";
+  version = "3.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b27aec03e8c666b3e36c68b2331871f37a0c6c0467fe0f73462fda7300d3c19f";
+    sha256 = "9c615b3a6e9d9dc1c69d8f38742b156e12408521fa180a66558bbb7b850bbbc2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/idna/default.nix b/pkgs/development/python-modules/idna/default.nix
index cb8636f135a..dd011286010 100644
--- a/pkgs/development/python-modules/idna/default.nix
+++ b/pkgs/development/python-modules/idna/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "idna";
-  version = "3.2";
+  version = "3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3";
+    sha256 = "9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/ignite/default.nix b/pkgs/development/python-modules/ignite/default.nix
index da5dfddcfb1..c027eba9874 100644
--- a/pkgs/development/python-modules/ignite/default.nix
+++ b/pkgs/development/python-modules/ignite/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "ignite";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dlKGXjUUnyYmPDilo0LQg9OkSkBnMYNgzlFLIfI0T6I=";
+    sha256 = "11gvw0yqb3y5ddifs5f38bgslvfmw1bmd9rga1ynlrmmgmhxym6h";
   };
 
   checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist torchvision ];
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 1672e798f30..f27c9fded9b 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -7,15 +7,16 @@
 , pillow
 , psutil
 , pytestCheckHook
+, tifffile
 }:
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.9.0";
+  version = "2.12.0";
   disabled = isPy27;
 
   src = fetchPypi {
-    sha256 = "52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0";
+    sha256 = "c416dd68328ace8536ff333cbb8927954036be56e201fed416e53e8f95e08a6c";
     inherit pname version;
   };
 
@@ -28,6 +29,7 @@ buildPythonPackage rec {
   checkInputs = [
     psutil
     pytestCheckHook
+    tifffile
   ];
 
   preCheck = ''
@@ -36,6 +38,20 @@ buildPythonPackage rec {
     export HOME="$(mktemp -d)"
   '';
 
+  disabledTests = [
+    # tries to pull remote resources, even with IMAGEIO_NO_INTERNET
+    "test_png_remote"
+    # needs git history
+    "test_mvolread_out_of_bytes"
+    "test_imiter"
+    "test_memory_size"
+    "test_legacy_write_empty"
+  ];
+
+  disabledTestPaths = [
+    "tests/test_pillow.py"
+  ];
+
   meta = with lib; {
     description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";
     homepage = "http://imageio.github.io/";
diff --git a/pkgs/development/python-modules/imagesize/default.nix b/pkgs/development/python-modules/imagesize/default.nix
index 42cf6b50764..0fbe88a520f 100644
--- a/pkgs/development/python-modules/imagesize/default.nix
+++ b/pkgs/development/python-modules/imagesize/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "imagesize";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1";
+    sha256 = "cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 21e371c1a48..f18750af1ff 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.4.1";
+  version = "6.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df3355e5eec23126bc89767a676c5f0abfc7f4c3497d118c592b83b316e8c0cd";
+    sha256 = "dd27172bccbbcfef952991e49372e4c6fd1c14eed0df05ebd5b4335cb27a81a2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 7b844228225..2065dc2349f 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.28.0";
+  version = "7.29.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2097be5c814d1b974aea57673176a924c4c8c9583890e7a5f082f547b9975b11";
+    sha256 = "4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/ipyvue/default.nix b/pkgs/development/python-modules/ipyvue/default.nix
index 0c46ecd8e1d..6c0b15c41b3 100644
--- a/pkgs/development/python-modules/ipyvue/default.nix
+++ b/pkgs/development/python-modules/ipyvue/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "ipyvue";
-  version = "1.6.1";
+  version = "1.7.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6cc15428bfcd5c7daae73c45c776b34056fe4d885a34192fb93efc80d6b9753f";
+    sha256 = "fa8ff9b9a73b5a925c4af4c05f1839df2bd0fae0063871f403ee821792d5ab72";
   };
 
   propagatedBuildInputs = [ ipywidgets ];
diff --git a/pkgs/development/python-modules/iso8601/default.nix b/pkgs/development/python-modules/iso8601/default.nix
index 3a255ac047e..a5eb03dc8eb 100644
--- a/pkgs/development/python-modules/iso8601/default.nix
+++ b/pkgs/development/python-modules/iso8601/default.nix
@@ -1,25 +1,37 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, hypothesis
 , pytestCheckHook
+, pytz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "iso8601";
-  version = "0.1.16";
+  version = "1.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NlMvd8yABZTo8WZB7a5/G695MvBdjlCFRblfxTxtyFs=";
+    sha256 = "sha256-J/UDIg5oRdnblU+yErlbA2LYt+bBsjJqhwYcPek1lLE=";
   };
 
   checkInputs = [
+    hypothesis
     pytestCheckHook
+    pytz
   ];
 
-  pytestFlagsArray = [ "iso8601" ];
+  pytestFlagsArray = [
+    "iso8601"
+  ];
 
-  pythonImportsCheck = [ "iso8601" ];
+  pythonImportsCheck = [
+    "iso8601"
+  ];
 
   meta = with lib; {
     description = "Simple module to parse ISO 8601 dates";
diff --git a/pkgs/development/python-modules/iterm2/default.nix b/pkgs/development/python-modules/iterm2/default.nix
index 125dc2691e5..1cba03531b5 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.29";
+  version = "1.30";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8245562ed713fd473520f81361cdc1b15835920e1ceb7d588678cd153e77c2b6";
+    sha256 = "148b32a593f3d932a33daad01fdaa4639918eca74a6e153d9729dd8b3cba3345";
   };
 
   propagatedBuildInputs = [ protobuf websockets ];
diff --git a/pkgs/development/python-modules/janus/default.nix b/pkgs/development/python-modules/janus/default.nix
index b68bcc30325..c8a9efdb54f 100644
--- a/pkgs/development/python-modules/janus/default.nix
+++ b/pkgs/development/python-modules/janus/default.nix
@@ -1,16 +1,22 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, pytest-asyncio }:
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, pytest-asyncio
+, typing-extensions
+}:
 
 buildPythonPackage rec {
   pname = "janus";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "127edc891f9e13420dd12f230d5113fa3de7f93662b81acfaf845989edf5eebf";
+    sha256 = "f10dcf5776e8d49cc30ec86d5eb7268eeec39abaa24fe0332ee8fb8fa3611845";
   };
 
   disabled = pythonOlder "3.6";
 
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
   checkInputs = [ pytest-asyncio pytestCheckHook ];
 
   # also fails upstream: https://github.com/aio-libs/janus/pull/258
diff --git a/pkgs/development/python-modules/jaraco-context/default.nix b/pkgs/development/python-modules/jaraco-context/default.nix
new file mode 100644
index 00000000000..7be05935925
--- /dev/null
+++ b/pkgs/development/python-modules/jaraco-context/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "jaraco-context";
+  version = "4.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "jaraco";
+    repo = "jaraco.context";
+    rev = "v${version}";
+    sha256 = "O9Lwv2d/qbiXxIVCp6FLmVKaz0MzAUkoUd0jAyIvgJc=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  pythonNamespaces = [
+    "jaraco"
+  ];
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "jaraco.context" ];
+
+
+  meta = with lib; {
+    description = "Python module for context management";
+    homepage = "https://github.com/jaraco/jaraco.context";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/jaraco_functools/default.nix b/pkgs/development/python-modules/jaraco_functools/default.nix
index 3ad652af764..1316c2b4e72 100644
--- a/pkgs/development/python-modules/jaraco_functools/default.nix
+++ b/pkgs/development/python-modules/jaraco_functools/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "jaraco.functools";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bfcf7da71e2a0e980189b0744b59dba6c1dcf66dcd7a30f8a4413e478046b314";
+    sha256 = "659a64743047d00c6ae2a2aa60573c62cfc0b4b70eaa14fa50c80360ada32aa8";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix
index 32e8aa23aeb..054f68ba2f2 100644
--- a/pkgs/development/python-modules/jaraco_text/default.nix
+++ b/pkgs/development/python-modules/jaraco_text/default.nix
@@ -1,33 +1,51 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
 , importlib-resources
 , jaraco_functools
+, jaraco-context
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "jaraco.text";
-  version = "3.5.1";
+  version = "3.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ede4e9103443b62b3d1d193257dfb85aab7c69a6cef78a0887d64bb307a03bc3";
+    sha256 = "901d3468eaaa04f1d8a8f141f54b8887bfd943ccba311fc1c1de62c66604dfe0";
   };
 
-  pythonNamespaces = [ "jaraco" ];
+  pythonNamespaces = [
+    "jaraco"
+  ];
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  nativeBuildInputs =[ setuptools-scm ];
   propagatedBuildInputs = [
+    jaraco-context
     jaraco_functools
-  ] ++ lib.optional (pythonOlder "3.7") [ importlib-resources ];
+  ] ++ lib.optional (pythonOlder "3.9") [
+    importlib-resources
+  ];
 
   # no tests in pypi package
   doCheck = false;
 
+  pythonImportsCheck = [
+    "jaraco.text"
+  ];
+
   meta = with lib; {
     description = "Module for text manipulation";
     homepage = "https://github.com/jaraco/jaraco.text";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index ce9a7758bc6..dd9680abcc0 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.2.24";
+  version = "0.2.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = pname;
     rev = "jax-v${version}";
-    sha256 = "1mmn1m4mprpwqlb1smjfdy3f74zm9p3l9dhhn25x6jrcj2cgc5pi";
+    sha256 = "0f32is9896g4shfhjipj3rlgpjxci5y607lp8gxlgsdzdqfpckm2";
   };
 
   # jaxlib is _not_ included in propagatedBuildInputs because there are
diff --git a/pkgs/development/python-modules/jedi-language-server/default.nix b/pkgs/development/python-modules/jedi-language-server/default.nix
index 8aead2738f4..90e4634b46c 100644
--- a/pkgs/development/python-modules/jedi-language-server/default.nix
+++ b/pkgs/development/python-modules/jedi-language-server/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "jedi-language-server";
-  version = "0.34.8";
+  version = "0.34.11";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pappasam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mJGgDDjPZXde4M4OHwj81KYoaFXFAwOZ+v18YE+arFE=";
+    sha256 = "0gxpq93mfyzhjz5yvjwv2jjda1djpf20x38893ngswsm7lrh62x5";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
index ca96e63060d..8c768751162 100644
--- a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
+++ b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "jellyfin-apiclient-python";
-  version = "1.7.2";
+  version = "1.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nSLUa9/jAT6XrHo77kV5HYBxPO/lhcWKqPfpES7ul9A=";
+    sha256 = "a47d66166d1e9d3f0b38260004081bfd3fd9c07ca1b50181bbb980c4d7aeee34";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index f2b014ff524..5613b904f63 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8MP8YHIkxDqjPsUYv6ROmuRwcGMzPpsVCRwxga3XdYU=";
+    sha256 = "42ea423f44beafee0e985009124968e300447f6e3be4180e83568cf21520d1b1";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jinja2/2.nix b/pkgs/development/python-modules/jinja2/2.nix
index 3cdf83a74db..02127a50df7 100644
--- a/pkgs/development/python-modules/jinja2/2.nix
+++ b/pkgs/development/python-modules/jinja2/2.nix
@@ -21,7 +21,8 @@ buildPythonPackage rec {
 
   # Multiple tests run out of stack space on 32bit systems with python2.
   # See https://github.com/pallets/jinja/issues/1158
-  doCheck = !stdenv.is32bit || isPy3k;
+  # warnings are no longer being filtered correctly for python2
+  doCheck = !stdenv.is32bit && isPy3k;
 
   checkPhase = ''
     pytest -v tests -W ignore::DeprecationWarning
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index 7be9367da91..5d7ca68b19b 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "Jinja2";
-  version = "3.0.2";
+  version = "3.0.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45";
+    sha256 = "611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix
index b262e688332..c091480f63c 100644
--- a/pkgs/development/python-modules/josepy/default.nix
+++ b/pkgs/development/python-modules/josepy/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "josepy";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e9bcaf605411cadaec04841ae2d5f77ebb178b7b6df7c9aed1d97399ac18685b";
+    sha256 = "40ef59f2f537ec01bafe698dad66281f6ccf4642f747411647db403ab8fa9a2d";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jschema-to-python/default.nix b/pkgs/development/python-modules/jschema-to-python/default.nix
new file mode 100644
index 00000000000..a9100e061d7
--- /dev/null
+++ b/pkgs/development/python-modules/jschema-to-python/default.nix
@@ -0,0 +1,39 @@
+{ lib, buildPythonPackage, fetchPypi
+, attrs
+, jsonpickle
+, pbr
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "jschema-to-python";
+  version = "1.2.3";
+
+  src = fetchPypi {
+    pname = "jschema_to_python";
+    inherit version;
+    sha256 = "76ff14fe5d304708ccad1284e4b11f96a658949a31ee7faed9e0995279549b91";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    jsonpickle
+  ];
+
+  checkInputs =[
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "jschema_to_python" ];
+
+  meta = with lib; {
+    description = "Generate source code for Python classes from a JSON schema";
+    homepage = "https://github.com/microsoft/jschema-to-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonpointer/default.nix b/pkgs/development/python-modules/jsonpointer/default.nix
index 39249c648f5..2bd41e0815b 100644
--- a/pkgs/development/python-modules/jsonpointer/default.nix
+++ b/pkgs/development/python-modules/jsonpointer/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "jsonpointer";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a34b698db1eb79ceac454159d3f7c12a451a91f6334a4f638454327b7a89962";
+    sha256 = "f09f8deecaaa5aea65b5eb4f67ca4e54e1a61f7a11c75085e360fe6feb6a48bf";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/jsonwatch/default.nix b/pkgs/development/python-modules/jsonwatch/default.nix
index aec66d4ec4b..d7080b71f79 100644
--- a/pkgs/development/python-modules/jsonwatch/default.nix
+++ b/pkgs/development/python-modules/jsonwatch/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "jsonwatch";
-  version = "0.2.0";
+  version = "0.6.0";
   disabled = isPyPy; # doesn't find setuptools
 
   src = fetchFromGitHub {
     owner = "dbohdan";
     repo = "jsonwatch";
     rev = "v${version}";
-    sha256 = "sha256-yLN6jOxAz+B7zvV3tGT6Nxi17v9ZOtWpbtSi0o1h48U=";
+    sha256 = "0abmyv3nrfqhjmfnvpn4q3yc05a1gamfxj5frlbn1lidzzhb8rac";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jupyter-client/default.nix b/pkgs/development/python-modules/jupyter-client/default.nix
index b543008988e..9cb46594755 100644
--- a/pkgs/development/python-modules/jupyter-client/default.nix
+++ b/pkgs/development/python-modules/jupyter-client/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "7.0.6";
+  version = "7.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b6e06000eb9399775e0a55c52df6c1be4766666209c22f90c2691ded0e338dc";
+    sha256 = "a5f995a73cffb314ed262713ae6dfce53c6b8216cea9f332071b8ff44a6e1654";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter_core/default.nix b/pkgs/development/python-modules/jupyter_core/default.nix
index f83ba136234..a7dd89a1f89 100644
--- a/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/pkgs/development/python-modules/jupyter_core/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "jupyter_core";
-  version = "4.8.1";
+  version = "4.9.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef210dcb4fca04de07f2ead4adf408776aca94d17151d6f750ad6ded0b91ea16";
+    sha256 = "dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa";
   };
 
   checkInputs = [ pytest mock glibcLocales nose ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 686be89d2a7..ab2900a2f88 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.2.3";
+  version = "3.2.4";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d74593e52d4dbfacbb98e14cac4bc765ea2cffb1b980675f44930d622871705";
+    sha256 = "f692e0d95338d60f72dde660f16f3955a087775c59ec541ddb25952e3f97e9b1";
   };
 
   nativeBuildInputs = [ jupyter-packaging ];
diff --git a/pkgs/development/python-modules/k5test/default.nix b/pkgs/development/python-modules/k5test/default.nix
index 0079194f4fa..f5efb24633b 100644
--- a/pkgs/development/python-modules/k5test/default.nix
+++ b/pkgs/development/python-modules/k5test/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "k5test";
-  version = "0.10.0";
+  version = "0.10.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc5e7e5e286b2f331c1396c33f2a1cd8cf34e78d8d482168a50ffd8576a1455c";
+    sha256 = "2c9181133f3d52c8e29a5ba970b668273c08f855e5da834aaee2ea9efeb6b069";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/karton-dashboard/default.nix b/pkgs/development/python-modules/karton-dashboard/default.nix
index ad7d8713856..08eeed7141a 100644
--- a/pkgs/development/python-modules/karton-dashboard/default.nix
+++ b/pkgs/development/python-modules/karton-dashboard/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "karton-dashboard";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
@@ -28,7 +29,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "Flask==1.1.1" "Flask" \
-      --replace "prometheus-client==0.9.0" "prometheus-client"
+      --replace "prometheus-client==0.10.0" "prometheus-client"
   '';
 
   # Project has no tests. pythonImportsCheck requires MinIO configuration
diff --git a/pkgs/development/python-modules/kombu/default.nix b/pkgs/development/python-modules/kombu/default.nix
index 53b83fe9575..319461b9834 100644
--- a/pkgs/development/python-modules/kombu/default.nix
+++ b/pkgs/development/python-modules/kombu/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "5.2.1";
+  version = "5.2.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f262a2adc71b53e5b7dad4933bbdee65d8766ca4df6a9043b13edaad2144aaec";
+    sha256 = "0f5d0763fb916808f617b886697b2be28e6bc35026f08e679697fc814b48a608";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index 5c7d7afedc4..ba7579d1067 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 = "3.6.1";
+  version = "3.10.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Labelbox";
     repo = "labelbox-python";
     rev = "v${version}";
-    sha256 = "0mix7ajdvyhyvi8nwmxz62mzwl3242h2pzj84zikrmh1ampwvg3g";
+    sha256 = "0afrzxy8hmsvqp84mf89k7sqlzzyh6xwp2pz5abj0981mqlzf2x9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/langcodes/default.nix b/pkgs/development/python-modules/langcodes/default.nix
index 292a13d7bd0..e3454acd5cd 100644
--- a/pkgs/development/python-modules/langcodes/default.nix
+++ b/pkgs/development/python-modules/langcodes/default.nix
@@ -3,30 +3,48 @@
 , marisa-trie
 , pythonOlder
 , fetchPypi
-, nose
+, poetry-core
+, pytestCheckHook
+, language-data
 }:
 
 buildPythonPackage rec {
   pname = "langcodes";
-  version = "3.2.1";
-  disabled = pythonOlder "3.3";
+  version = "3.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "779a6da5036f87b6b56c180b2782ab111ddd6aa9157670a9b918402b0e07cd93";
+    sha256 = "794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6";
   };
 
-  propagatedBuildInputs = [ marisa-trie ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    language-data
+    marisa-trie
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ nose ];
+  disabledTests = [
+    # AssertionError: assert 'Unknown language [aqk]' == 'Aninka'
+    "test_updated_iana"
+  ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  pythonImportsCheck = [
+    "langcodes"
+  ];
 
   meta = with lib; {
-    description = "A toolkit for working with and comparing the standardized codes for languages, such as ‘en’ for English or ‘es’ for Spanish";
-    homepage =  "https://github.com/LuminosoInsight/langcodes";
+    description = "Python toolkit for working with and comparing the standardized codes for languages";
+    homepage = "https://github.com/LuminosoInsight/langcodes";
     license = licenses.mit;
     maintainers = with maintainers; [ ixxie ];
   };
diff --git a/pkgs/development/python-modules/language-data/default.nix b/pkgs/development/python-modules/language-data/default.nix
new file mode 100644
index 00000000000..98d4885b1e9
--- /dev/null
+++ b/pkgs/development/python-modules/language-data/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, marisa-trie
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonApplication rec {
+  pname = "language-data";
+  version = "1.0.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "rspeer";
+    repo = "language_data";
+    rev = "v${version}";
+    sha256 = "51TUVHXPHG6ofbnxI6+o5lrtr+QCIpGKu+OjDK3l7Mc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    marisa-trie
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "language_data"
+  ];
+
+  meta = with lib; {
+    description = "Supplement module for langcodes";
+    homepage = "https://github.com/rspeer/language_data";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index 84c3ad8c614..ff489f4cf22 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.38";
+  version = "0.1.41";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df1fffc4f586eaa95b8cf910176d28997e65a3ecd43d9c0af34e46078b6b6ee3";
+    sha256 = "7246a1a0442a63aff0b5de2796d306f0033e1937b3c9b9c2a92c9101cde4fe8d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix
index 712b15f17f2..774cb572e95 100644
--- a/pkgs/development/python-modules/libcst/default.nix
+++ b/pkgs/development/python-modules/libcst/default.nix
@@ -9,13 +9,14 @@
 , python
 , pythonOlder
 , pyyaml
+, setuptools-scm
 , typing-extensions
 , typing-inspect
 }:
 
 buildPythonPackage rec {
   pname = "libcst";
-  version = "0.3.21";
+  version = "0.3.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,9 +25,21 @@ buildPythonPackage rec {
     owner = "instagram";
     repo = pname;
     rev = "v${version}";
-    sha256 = "063bl21gyyd25i2v0j6kz29cxxdfhng2nins4i2qblmac90f2nqy";
+    sha256 = "1r4aiqpndqa75119faknsghi7zxyjrx5r6i7cb3d0liwiqrkzrvx";
   };
 
+  postPatch = ''
+    # test try to format files, which isn't necessary when consuming releases
+    sed -i libcst/codegen/generate.py \
+      -e '/ufmt/c\        pass'
+  '';
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     hypothesis
     typing-extensions
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
index 1753b0dce8c..ba45ffbdeac 100644
--- a/pkgs/development/python-modules/limnoria/default.nix
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2021.10.9";
+  version = "2021.11.20";
   disabled = isPy27; # abandoned upstream
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "907a4a0765ab29ccd1c2247efa0eda7a9bd82d3be3a2ecfdeb9b9e6fbb9aa56e";
+    sha256 = "da9c33497a09b4ed0cff6ed44954bbde6cb317edb68d56c73ef235128a802c11";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index 984219b802b..60deaa5af12 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.6.3";
+  version = "4.6.4-5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "1rhkv75qr4ij3653l97sy752gyp6f20sxfpiqp1vp08fpy47q8qn";
+    rev = "lxml-${version}";
+    sha256 = "159cc48nl40qsx8pc8sasgny5xc0s3y0xrq3w3aw53s3ijncsgfl";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/pkgs/development/python-modules/lz4/default.nix b/pkgs/development/python-modules/lz4/default.nix
index 180264f102d..cc84fa75c69 100644
--- a/pkgs/development/python-modules/lz4/default.nix
+++ b/pkgs/development/python-modules/lz4/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "python-lz4";
-  version = "3.1.3";
+  version = "3.1.10";
 
   # get full repository inorder to run tests
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    sha256 = "009c4rbyj4cjb8fznccfpr5wrzdmi56wq990yjh22n0z2qqylmkf";
+    rev = version;
+    sha256 = "0a4gic8xh3simkk5k8302rxwf765pr6y63k3js79mkl983vpxcim";
   };
 
   nativeBuildInputs = [ setuptools-scm pkgconfig pytest-runner ];
diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix
index c1eff88b926..2c91e46d13d 100644
--- a/pkgs/development/python-modules/markdown/default.nix
+++ b/pkgs/development/python-modules/markdown/default.nix
@@ -8,17 +8,18 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Markdown";
-  version = "3.3.4";
+  pname = "markdown";
+  version = "3.3.6";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49";
+    pname = "Markdown";
+    inherit version;
+    sha256 = "sha256-dt+K4yKU7Dnc+JNAOCiC36Epdfh/RcPtHs2x6M78cAY=";
   };
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
 
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 0e874d25f67..a9ecee77dce 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchPypi, writeText, buildPythonPackage, isPy3k, pycairo
 , which, cycler, python-dateutil, numpy, pyparsing, sphinx, tornado, kiwisolver
 , freetype, qhull, libpng, pkg-config, mock, pytz, pygobject3, gobject-introspection
-, certifi, pillow
+, certifi, pillow, fonttools, setuptools-scm, setuptools-scm-git-archive, packaging
 , enableGhostscript ? true, ghostscript, gtk3
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
@@ -17,30 +17,64 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.4.3";
+  version = "3.5.0";
   pname = "matplotlib";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw";
+    sha256 = "38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa";
   };
 
   XDG_RUNTIME_DIR = "/tmp";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+    setuptools-scm
+    setuptools-scm-git-archive
+  ];
 
-  buildInputs = [ which sphinx ]
-    ++ lib.optional enableGhostscript ghostscript
-    ++ lib.optional stdenv.isDarwin [ Cocoa ];
+  buildInputs = [
+    which
+    sphinx
+  ] ++ lib.optional enableGhostscript [
+    ghostscript
+  ] ++ lib.optional stdenv.isDarwin [
+    Cocoa
+  ];
 
-  propagatedBuildInputs =
-    [ cycler python-dateutil numpy pyparsing tornado freetype qhull
-      kiwisolver certifi libpng mock pytz pillow ]
-    ++ lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
-    ++ lib.optionals enableTk [ tcl tk tkinter libX11 ]
-    ++ lib.optionals enableQt [ pyqt5 ];
+  propagatedBuildInputs = [
+    certifi
+    cycler
+    fonttools
+    freetype
+    kiwisolver
+    libpng
+    mock
+    numpy
+    packaging
+    pillow
+    pyparsing
+    python-dateutil
+    pytz
+    qhull
+    tornado
+  ] ++ lib.optionals enableGtk3 [
+    cairo
+    gobject-introspection
+    gtk3
+    pycairo
+    pygobject3
+  ] ++ lib.optionals enableTk [
+    libX11
+    tcl
+    tk
+    tkinter
+  ] ++ lib.optionals enableQt [
+    pyqt5
+  ];
 
   passthru.config = {
     directories = { basedirlist = "."; };
@@ -52,7 +86,9 @@ buildPythonPackage rec {
       enable_lto = false;
     };
   };
+
   setup_cfg = writeText "setup.cfg" (lib.generators.toINI {} passthru.config);
+
   preBuild = ''
     cp "$setup_cfg" ./setup.cfg
   '';
@@ -74,6 +110,12 @@ buildPythonPackage rec {
       substituteInPlace src/_c_internal_utils.c \
         --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \
         --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0
+    '' +
+    # avoid matplotlib trying to download dependencies
+    ''
+      echo "[libs]
+      system_freetype=true
+      system_qhull=true" > mplsetup.cfg
     '';
 
   # Matplotlib needs to be built against a specific version of freetype in
@@ -86,5 +128,4 @@ buildPythonPackage rec {
     license     = with licenses; [ psfl bsd0 ];
     maintainers = with maintainers; [ lovek323 veprbl ];
   };
-
 }
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index c7aa300928f..0c5b5871493 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.11.3";
+  version = "0.12.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-eZ8fWemS808Hz6KoQWfMsk5WfaO+vj0kTyInhtE20Qk=";
+    sha256 = "c8d226a96e57d52bb532d7e572ba5670d2e2143f720063a4bbd04a77049030d4";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mayavi/default.nix b/pkgs/development/python-modules/mayavi/default.nix
index 169928e48b6..6f13e63b934 100644
--- a/pkgs/development/python-modules/mayavi/default.nix
+++ b/pkgs/development/python-modules/mayavi/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "mayavi";
-  version = "4.7.3";
+  version = "4.7.4";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    sha256 = "Zw0AI7nNLSNGxFHbm6L2HaI6XfUDOyWuqJy22BuUZPA=";
+    sha256 = "ec50e7ec6afb0f9224ad1863d104a0d1ded6c8deb13e720652007aaca2303332";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/metakernel/default.nix b/pkgs/development/python-modules/metakernel/default.nix
index b87b87a1e4b..b07f68401e2 100644
--- a/pkgs/development/python-modules/metakernel/default.nix
+++ b/pkgs/development/python-modules/metakernel/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "metakernel";
-  version = "0.27.5";
+  version = "0.28.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0aqq9zil6h7kxsg3v2008nr6lv47qvcsash8qzmi1xh6r4x606zy";
+    sha256 = "3b57eb7b3b332614dcba1fa53c8cc1253dbccf962b111517ea16cbecce9a11d5";
   };
 
   propagatedBuildInputs = [ ipykernel ];
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index abd79d22dc1..255c9039ae9 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "1.20.2";
+  version = "1.21.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b15ff0c7e5e64f864a0b40c99b9a582227315eca2065d9f831db9aeb8f24637b";
+    sha256 = "5524a371f19c66a18e7ebe9b1085a77f63a6ae514271e487428f28187d79fc8f";
   };
 
   # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index 8739c081283..7225e695c87 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.10.0";
+  version = "3.10.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fcb4203ae257145b97c865135b3a064b47f20f42dde88c8579f43d88f1a7dfb";
+    sha256 = "c77e75432c21108e5a28a529793eb2b82753b6f7050ac9f59fc5d7a72fa74c0f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/more-itertools/default.nix b/pkgs/development/python-modules/more-itertools/default.nix
index a03b3a06c39..21f0b70f63a 100644
--- a/pkgs/development/python-modules/more-itertools/default.nix
+++ b/pkgs/development/python-modules/more-itertools/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "more-itertools";
-  version = "8.10.0";
+  version = "8.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HevKvrHfeTgUhZ1kqBrXyxBQTCQ0k2jM8hTGZMR09B8=";
+    sha256 = "7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix
index 262e5d5ecd0..3feeca74ccd 100644
--- a/pkgs/development/python-modules/msgpack/default.nix
+++ b/pkgs/development/python-modules/msgpack/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "msgpack";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s";
+    sha256 = "51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
index b7a0f39990e..ad1e321e9f8 100644
--- a/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "mysqlclient";
-  version = "2.0.3";
+  version = "2.1.0";
 
   nativeBuildInputs = [
     libmysqlclient
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6ebea7c008f155baeefe16c56cd3ee6239f7a5a9ae42396c2f1860f08a7c432";
+    sha256 = "973235686f1b720536d417bf0a0d39b4ab3d5086b2b6ad5e6752393428c02b12";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index 0aad9299f5b..3c9d625db70 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "natsort";
-  version = "7.1.1";
+  version = "7.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403";
+    sha256 = "e7054b4e1f47365f141602a742685165a552291b643a214652d0dd9d6cea58d1";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index a6b09cbe31e..400d59272ee 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.2.0";
+  version = "6.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16ceecd0afaa8fd26c245fa32e2c52066c02f13aa73387fffafd84750baea863";
+    sha256 = "5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
index 8d0c597a1af..68a544c9ab0 100644
--- a/pkgs/development/python-modules/nipype/default.nix
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -49,12 +49,12 @@ in
 
 buildPythonPackage rec {
   pname = "nipype";
-  version = "1.6.1";
+  version = "1.7.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8428cfc633d8e3b8c5650e241e9eedcf637b7969bcd40f3423334d4c6b0992b5";
+    sha256 = "e689fe2e5049598c9cd3708e8df1cac732fa1a88696f283e3bc0a70fecb8ab51";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 42b9bfe382a..1cb5f1b7570 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.4.4";
+  version = "6.4.6";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "26b0095c568e307a310fd78818ad8ebade4f00462dada4c0e34cbad632b9085d";
+    sha256 = "7bcdf79bd1cda534735bd9830d2cbedab4ee34d8fe1df6e7b946b3aab0902ba3";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index fef5dfb163b..945828fbc19 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.21.2";
+  version = "1.21.4";
   format = "pyproject.toml";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc";
+    sha256 = "e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0";
   };
 
   patches = lib.optionals python.hasDistutilsCxxPatch [
diff --git a/pkgs/development/python-modules/openstacksdk/default.nix b/pkgs/development/python-modules/openstacksdk/default.nix
index db2043a6f92..9bb807784ca 100644
--- a/pkgs/development/python-modules/openstacksdk/default.nix
+++ b/pkgs/development/python-modules/openstacksdk/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "openstacksdk";
-  version = "0.59.0";
+  version = "0.60.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PfdgzScjmKv6yM6+Yu64LLxJe7JdTdcHV290qM6avw0=";
+    sha256 = "aa6efead2ac116482f29aecc2c14ba3b4c76a6f8dede93bf296a2b65492ef420";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/packet-python/default.nix b/pkgs/development/python-modules/packet-python/default.nix
index 6c7935c39b9..b63baa80b39 100644
--- a/pkgs/development/python-modules/packet-python/default.nix
+++ b/pkgs/development/python-modules/packet-python/default.nix
@@ -12,10 +12,10 @@
 
 buildPythonPackage rec {
   pname = "packet-python";
-  version = "1.44.1";
+  version = "1.44.2";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ec0f40465fad5260a1b2c1ad39dc12c5df65828e171bf2aafb13c1c3883628ba";
+    sha256 = "4ce0827bc41d5bf5558284c18048344343f7c4c6e280b64bbe53fb51ab454892";
   };
   nativeBuildInputs = [ pytest-runner ];
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 476a2433ee0..880a5afdce6 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -27,11 +27,12 @@
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "1.3.3";
+  version = "1.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "272c8cb14aa9793eada6b1ebe81994616e647b5892a370c7135efb2924b701df";
+    sha256 = "a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc";
   };
 
   nativeBuildInputs = [ cython ];
@@ -91,6 +92,8 @@ buildPythonPackage rec {
     "test_from_coo"
     # AssertionError: No common DType exists for the given inputs
     "test_comparison_invalid"
+    # AssertionError: Regex pattern '"quotechar" must be string, not int'
+    "python-kwargs2"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_locale"
     "test_clipboard"
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 3f6875f4986..cfb95b23f41 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -17,7 +17,7 @@ let
 in
 buildPythonPackage rec {
   pname = "panel";
-  version = "0.12.1";
+  version = "0.12.5";
 
   # Don't forget to also update the node packages
   # 1. retrieve the package.json file
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   # 3. node2nix
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e4898d60abdb82f8a429df7f59dbf8bcaf7e19b3e633555512ceb4ce06678458";
+    sha256 = "351481f2a2176359b28effa64c9d9fce487d6758514109cab96f9ed84787ae99";
   };
 
   # Since 0.10.0 panel attempts to fetch from the web.
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index 88d63f0de93..86cdb73b260 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -13,15 +13,18 @@
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.7.2";
+  version = "2.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035";
+    sha256 = "e673b10ee0f1c80d46182d3af7751d033d9b573dd7054d2d0aa46be186c3c1d2";
   };
 
   propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
 
+  # with python 3.9.6+, the deprecation warnings will fail the test suite
+  # see: https://github.com/pyinvoke/invoke/issues/829
+  doCheck = false;
   checkInputs = [ invoke pytestCheckHook pytest-relaxed mock ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/parsy/default.nix b/pkgs/development/python-modules/parsy/default.nix
index ab4aeba84b6..53743052f4e 100644
--- a/pkgs/development/python-modules/parsy/default.nix
+++ b/pkgs/development/python-modules/parsy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "parsy";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bfc941ea5a69e6ac16bd4f7d9f807bbc17e35edd8b95bcd2499a25b059359012";
+    sha256 = "7c411373e520e97431f0b390db9d2cfc5089bc1d33f4f1584d2cdc9e6368f302";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pastescript/default.nix b/pkgs/development/python-modules/pastescript/default.nix
index bc15e5e9f2a..244b51f3f84 100644
--- a/pkgs/development/python-modules/pastescript/default.nix
+++ b/pkgs/development/python-modules/pastescript/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , nose
+, python
+, pytestCheckHook
 , six
 , paste
 , pastedeploy
@@ -23,10 +25,22 @@ buildPythonPackage rec {
     six
   ];
 
-  checkInputs = [ nose ];
+  # test suite seems to unset PYTHONPATH
+  doCheck = false;
+  checkInputs = [ nose pytestCheckHook ];
 
   pythonNamespaces = [ "paste" ];
 
+  disabledTestPaths = [
+    "appsetup/testfiles"
+  ];
+
+  pythonImportsCheck = [
+    "paste.script"
+    "paste.deploy"
+    "paste.util"
+  ];
+
   meta = with lib; {
     description = "A pluggable command-line frontend, including commands to setup package file layouts";
     homepage = "https://github.com/cdent/pastescript/";
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index d9887b626af..8775faa53c2 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "5.7.0";
+  version = "5.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dvkqixz227bhhk7c9r2bwcm7kmkfqyxw1bkha0jf3z88laclla6";
+    sha256 = "672d8ebee84921862110f23fcec2acea191ef58543d34dfe9ef3d9f13c31cddf";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pc-ble-driver-py/default.nix b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
index 202e6fdaf6a..093e3e67ab2 100644
--- a/pkgs/development/python-modules/pc-ble-driver-py/default.nix
+++ b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pc-ble-driver-py";
-  version = "0.16.1";
+  version = "0.16.2";
 
   disabled = pythonOlder "3.7" || pythonAtLeast "3.10";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "NordicSemiconductor";
     repo = "pc-ble-driver-py";
     rev = "v${version}";
-    sha256 = "0q2zag77drcjkjm0cbvy2sf6fq2a4yl5li1zv1xfwmy53ami9b5l";
+    sha256 = "013kpj2df5grkrzxak22k01mskpmwf7g3aa1fmxdwi90bb1sabs5";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pdftotext/default.nix b/pkgs/development/python-modules/pdftotext/default.nix
index 2ba18dd92e4..2ff55f732cd 100644
--- a/pkgs/development/python-modules/pdftotext/default.nix
+++ b/pkgs/development/python-modules/pdftotext/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pdftotext";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a067c121654917ecbe07fbd71c807c34bbdb1ea029e269ddd11925ee7e191d3f";
+    sha256 = "2a9aa89bc62022408781b39d188fabf5a3ad1103b6630f32c4e27e395f7966ee";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 8a95acc211d..43836026082 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -1,21 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, setuptools
+, flit-core
 }:
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.55";
-  format = "setuptools";
+  version = "2.1.56";
+  format = "flit";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f6b60b9c50996ec3476e36dddff34afa98dc2d68fa73ed121d3c41232df1379";
+    sha256 = "8dfb7ef551cc9d3d03a6e2dc1b1ba6183cd94f3cde7431836f017d60cc992d53";
   };
 
   nativeBuildInputs = [
-    setuptools
+    flit-core
   ];
 
   # A few more dependencies I don't want to handle right now...
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index c6bb944c232..e0f29d366e1 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -5,13 +5,13 @@
 
 import ./generic.nix (rec {
   pname = "Pillow";
-  version = "8.3.2";
+  version = "8.4.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1361y215ydmdh4il1vay5831aqivmpwgzjqrphqjdiq0ipnz7qyx";
+    sha256 = "b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 62bab6694d7..9d54eef4d70 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "6.3.1";
+  version = "6.4.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "992d968df6f1a19d4d37c53b68b3d4b601b894fb3ee0926d1fa762ebc7c7e9e9";
+    sha256 = "65553a15b1ba34be5e43889345062e38fb9b219ffa23b084ca0d4c4039b6f53b";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 5ef6c785fed..c4811044ae2 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "5.3.1";
+  version = "5.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6598393e898a9c5ae78397f76f07002ec41fd92e5f746d3b9806248d53885643";
+    sha256 = "735d50738c760ecbf3a38e2336b8c1b119bff2d857096e4f68af31089b798161";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 2534ebcedf9..28a67f1da82 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -19,16 +19,21 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.15.2";
+  version = "0.15.3";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "v${version}";
-    sha256 = "sha256-VmLQ3L9FTHgdRPYmMg7ZoUApLEGKd5NANrSofhP1OQY=";
+    sha256 = "sha256-HaH0LcH6L3R9vLT0vlM1absMTbfqgEeVi/aP2FqdnQY=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "aiohttp==3.8.0" "aiohttp>=3.8.0"
+  '';
+
   propagatedBuildInputs = [
     aiohttp
     async-timeout
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index 278caa44b14..a99591c259d 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "plumbum";
-  version = "1.7.0";
+  version = "1.7.1";
 
   checkInputs = [ pytest ];
 
@@ -14,6 +14,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "317744342c755319907c773cc87c3a30adaa3a41b0d34c0ce02d9d1904922dce";
+    sha256 = "3c0ac8c4ee57b2adddc82909d3c738a62ef5f77faf24ec7cb6f0a117e1679740";
   };
 }
diff --git a/pkgs/development/python-modules/policy-sentry/default.nix b/pkgs/development/python-modules/policy-sentry/default.nix
index a9e3930f67f..86bbd847aa2 100644
--- a/pkgs/development/python-modules/policy-sentry/default.nix
+++ b/pkgs/development/python-modules/policy-sentry/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "policy-sentry";
-  version = "0.11.18";
+  version = "0.11.19";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "salesforce";
     repo = "policy_sentry";
     rev = version;
-    sha256 = "sha256-1wpy4WofqrPusOI2BHRqSHfXlRpbuLOx97egzSAbB8E=";
+    sha256 = "sha256-zYX2MMFIgts5brFb/hsgLHZbY5mncqnCmk7nGdxj/BM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/prettytable/default.nix b/pkgs/development/python-modules/prettytable/default.nix
index ddaa842e9b1..85aaa1e656d 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.2.1";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d465005573a5c058d4ca343449a5b28c21252b86afcdfa168cdc6a440f0b24c";
+    sha256 = "18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/prometheus-client/default.nix b/pkgs/development/python-modules/prometheus-client/default.nix
index 9a01769695a..6c7cede280c 100644
--- a/pkgs/development/python-modules/prometheus-client/default.nix
+++ b/pkgs/development/python-modules/prometheus-client/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "prometheus-client";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "prometheus";
     repo = "client_python";
     rev = "v${version}";
-    sha256 = "14swmy4dgpk6cyjsm2advgc2c8api7xaca1sl7swznblh5fyzgzg";
+    sha256 = "1a0kllal5vkkdv325k0mx1mha2l9808mcz4dqx6qrgfskz8c2xjl";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/prompt-toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index 9aed0211a95..ae67d3d556d 100644
--- a/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -2,28 +2,39 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
-, six
+, pythonOlder
 , wcwidth
 }:
 
 buildPythonPackage rec {
   pname = "prompt-toolkit";
-  version = "3.0.19";
+  version = "3.0.22";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "prompt_toolkit";
     inherit version;
-    sha256 = "08360ee3a3148bdb5163621709ee322ec34fc4375099afa4bbf751e9b7b7fa4f";
+    sha256 = "sha256-RJ8zPdEgvQH10paozhRSEUujpx+ucojS8K4skYdk+nI=";
   };
 
-  propagatedBuildInputs = [ six wcwidth ];
+  propagatedBuildInputs = [
+    wcwidth
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   disabledTests = [
     "test_pathcompleter_can_expanduser"
   ];
 
+  pythonImportsCheck = [
+    "prompt_toolkit"
+  ];
+
   meta = with lib; {
     description = "Python library for building powerful interactive command lines";
     longDescription = ''
@@ -33,7 +44,7 @@ buildPythonPackage rec {
       with a nice interactive Python shell (called ptpython) built on top.
     '';
     homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
-    maintainers = with maintainers; [ ];
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix
index a6d60567ef9..dd2494729ef 100644
--- a/pkgs/development/python-modules/proto-plus/default.nix
+++ b/pkgs/development/python-modules/proto-plus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "proto-plus";
-  version = "1.19.4";
+  version = "1.19.8";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "416dc38b090ca2093f6fac74977ac4a5599e496483a43c0076e6f6a4dd77ed9c";
+    sha256 = "bdf45f0e0be71510eb2ec9db4da78afde7b5fb8b0a507a36340a9b6ce8e48e58";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/psautohint/default.nix b/pkgs/development/python-modules/psautohint/default.nix
index ff312cbff89..3004d5f7a9b 100644
--- a/pkgs/development/python-modules/psautohint/default.nix
+++ b/pkgs/development/python-modules/psautohint/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "psautohint";
-  version = "2.3.0";
+  version = "2.3.1";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "adobe-type-tools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1y7mqc2myn1gfzg4h018f8xza0q535shnqg6snnaqynz20i8jcfh";
+    sha256 = "1knh428af0lvzijvd72i30jcvx9n6ga0hai69kxg8386jdpmmvkg";
     fetchSubmodules = true; # data dir for tests
   };
 
diff --git a/pkgs/development/python-modules/psycopg2/default.nix b/pkgs/development/python-modules/psycopg2/default.nix
index 1af8fd38bad..34660a84cd6 100644
--- a/pkgs/development/python-modules/psycopg2/default.nix
+++ b/pkgs/development/python-modules/psycopg2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "psycopg2";
-  version = "2.9.1";
+  version = "2.9.2";
 
   # Extension modules don't work well with PyPy. Use psycopg2cffi instead.
   # c.f. https://github.com/NixOS/nixpkgs/pull/104151#issuecomment-729750892
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z0v2d5gpgy0wf2ypqxv955c9k44yszd7r20km5s79yhy6k06lyy";
+    sha256 = "a84da9fa891848e0270e8e04dcca073bc9046441eeb47069f5c0e36783debbea";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index 3459c5c9974..81e1627324a 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -1,37 +1,49 @@
 { lib
 , buildPythonPackage
+, dataclasses
 , isPy3k
 , fetchPypi
 , jedi
 , pygments
 , urwid
+, urwid-readline
 , pytest-mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2021.1";
+  version = "2021.2.2";
+  format = "setuptools";
+
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "309ee82b45a0ffca0bc4c7f521fd3e357589c764f339bdf9dcabb7ad40692d6e";
+    sha256 = "82a524ab4b89d2c701b089071ccc6afa9c8a838504e3d68eb33faa8a8abbe4cb";
   };
 
   propagatedBuildInputs = [
     jedi
     pygments
     urwid
+    urwid-readline
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
+  ];
+
+  checkInputs = [
+    pytest-mock
+    pytestCheckHook
   ];
 
   preCheck = ''
     export HOME=$TMPDIR
   '';
 
-  checkInputs = [
-    pytest-mock
-    pytestCheckHook
+  pythonImportsCheck = [
+    "pudb"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/py/default.nix b/pkgs/development/python-modules/py/default.nix
index ce7abe4dc27..c1cf60ca4d7 100644
--- a/pkgs/development/python-modules/py/default.nix
+++ b/pkgs/development/python-modules/py/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "py";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3";
+    sha256 = "51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719";
   };
 
   # Circular dependency on pytest
diff --git a/pkgs/development/python-modules/py4j/default.nix b/pkgs/development/python-modules/py4j/default.nix
index 6ad9673b975..cf24d21e17f 100644
--- a/pkgs/development/python-modules/py4j/default.nix
+++ b/pkgs/development/python-modules/py4j/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "py4j";
 
-  version = "0.10.9.2";
+  version = "0.10.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "624f97c363b8dd84822bc666b12fa7f7d97824632b2ff3d852cc491359ce7615";
+    sha256 = "0d92844da4cb747155b9563c44fc322c9a1562b3ef0979ae692dbde732d784dd";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/pyaml/default.nix b/pkgs/development/python-modules/pyaml/default.nix
index 8642c9affbd..cbab9bacfb8 100644
--- a/pkgs/development/python-modules/pyaml/default.nix
+++ b/pkgs/development/python-modules/pyaml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "21.8.3";
+  version = "21.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oWNtY8R2MooHIT0LcRG7Y1cPGrij7d9gUiYwJQwj2XU=";
+    sha256 = "c6519fee13bf06e3bb3f20cacdea8eba9140385a7c2546df5dbae4887f768383";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybids/default.nix b/pkgs/development/python-modules/pybids/default.nix
index daa879a58a0..3ad29916575 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.2";
+  version = "0.14.0";
   pname = "pybids";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9692013af3b86b096b5423b88179c6c9b604baff5a6b6f89ba5f40429feb7a3e";
+    sha256 = "73c4d03aad333f2a7cb4405abe96f55a33cffa4b5a2d23fad6ac5767c45562ef";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index fccc064f23e..d33d9ffc575 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , cmake
+, boost
 , eigen
 , python
 , catch
@@ -12,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kmyfRNZM9AtF0QA1MnWEPwWb6BebkkpanTvQwsraSJo=";
+    sha256 = "sha256-Gk4ZN/g6SRWFm0ALCvyald/9zq3wBd48mGdqdGCeGYI=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -26,7 +27,8 @@ buildPythonPackage rec {
   dontUseCmakeBuildDir = true;
 
   cmakeFlags = [
-    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+    "-DBoost_INCLUDE_DIR=${lib.getDev boost}/include"
+    "-DEIGEN3_INCLUDE_DIR=${lib.getDev eigen}/include/eigen3"
     "-DBUILD_TESTING=on"
   ] ++ lib.optionals (python.isPy3k && !stdenv.cc.isClang) [
     "-DPYBIND11_CXX_STANDARD=-std=c++17"
diff --git a/pkgs/development/python-modules/pycparser/default.nix b/pkgs/development/python-modules/pycparser/default.nix
index 5fe7cab1cdb..c8283f93c51 100644
--- a/pkgs/development/python-modules/pycparser/default.nix
+++ b/pkgs/development/python-modules/pycparser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pycparser";
-  version = "2.20";
+  version = "2.21";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0";
+    sha256 = "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pydeck/default.nix b/pkgs/development/python-modules/pydeck/default.nix
index 7e95c60be82..6626ee19d92 100644
--- a/pkgs/development/python-modules/pydeck/default.nix
+++ b/pkgs/development/python-modules/pydeck/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pydeck";
-  version = "0.7.0";
+  version = "0.7.1";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zi0gqzd0byj16ja74m2dm99a1hmrlhk26y0x7am07vb1d8lvvsy";
+    sha256 = "907601c99f7510e16d27d7cb62bfa145216d166a2b5c9c50cfe2b65b032ebd2e";
   };
 
   pythonImportsCheck = [ "pydeck" ];
diff --git a/pkgs/development/python-modules/pydmd/default.nix b/pkgs/development/python-modules/pydmd/default.nix
index 32f0dde17af..dd166b78f86 100644
--- a/pkgs/development/python-modules/pydmd/default.nix
+++ b/pkgs/development/python-modules/pydmd/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pydmd";
-  version = "0.3.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "mathLab";
     repo = "PyDMD";
     rev = "v${version}";
-    sha256 = "1516dhmpwi12v9ly9jj18wpz9k696q5k6aamlrbby8wp8smajgrv";
+    sha256 = "1qwa3dyrrm20x0pzr7rklcw7433fd822n4m8bbbdd7z83xh6xm8g";
   };
 
   propagatedBuildInputs = [ future numpy scipy matplotlib ];
diff --git a/pkgs/development/python-modules/pydocstyle/2.nix b/pkgs/development/python-modules/pydocstyle/2.nix
deleted file mode 100644
index 9ce4ffc0f81..00000000000
--- a/pkgs/development/python-modules/pydocstyle/2.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder
-, snowballstemmer, six, configparser
-, pytest, mock, pathlib }:
-
-buildPythonPackage rec {
-  pname = "pydocstyle";
-  version = "2.1.1";
-
-  # no tests on PyPI
-  # https://github.com/PyCQA/pydocstyle/issues/302
-  src = fetchFromGitHub {
-    owner = "PyCQA";
-    repo = pname;
-    rev = version;
-    sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l";
-  };
-
-  propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser;
-
-  checkInputs = [ pytest mock ] ++ lib.optional (pythonOlder "3.4") pathlib;
-
-  checkPhase = ''
-    # test_integration.py installs packages via pip
-    py.test --cache-clear -vv src/tests -k "not test_integration"
-  '';
-
-  meta = with lib; {
-    description = "Python docstring style checker";
-    homepage = "https://github.com/PyCQA/pydocstyle/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dzabraev ];
-  };
-}
diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix
index 36c61ace856..0658e185717 100644
--- a/pkgs/development/python-modules/pydocstyle/default.nix
+++ b/pkgs/development/python-modules/pydocstyle/default.nix
@@ -1,33 +1,40 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
-, mock
-, pytest
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchFromGitHub
 , snowballstemmer
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pydocstyle";
-  version = "5.0.2";
+  version = "6.1.1";
   disabled = !isPy3k;
 
+  format = "setuptools";
+
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "03z8miyppm2xncrc9yjilwl7z5c5cpv51zha580v64p8sb2l0j7j";
+    sha256 = "sha256-j0WMD2qKDdMaKG2FxrrM/O7zX4waJ1afaRPRv70djkE=";
   };
 
-  propagatedBuildInputs = [ snowballstemmer ];
+  propagatedBuildInputs = [
+    snowballstemmer
+  ];
 
-  checkInputs = [ pytest mock ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    # test_integration.py installs packages via pip
-    py.test --cache-clear -vv src/tests -k "not test_integration"
-  '';
+  disabledTestPaths = [
+    "src/tests/test_integration.py" # runs pip install
+  ];
 
   meta = with lib; {
     description = "Python docstring style checker";
-    homepage = "https://github.com/PyCQA/pydocstyle/";
+    homepage = "https://github.com/PyCQA/pydocstyle";
     license = licenses.mit;
     maintainers = with maintainers; [ dzabraev ];
   };
diff --git a/pkgs/development/python-modules/pyfaidx/default.nix b/pkgs/development/python-modules/pyfaidx/default.nix
index 317691066f4..a2815c3e1e2 100644
--- a/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/pkgs/development/python-modules/pyfaidx/default.nix
@@ -1,24 +1,52 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, nose
+, numpy
+, setuptools-scm
 , six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.6.2";
+  version = "0.6.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d1258f8d053cba0c90fe329254e8ec59eb28b535b48d9d06e8c7f1d74b8e4531";
+    sha256 = "93adf036a75e08dc9b1dcd59de6a4db2f65a48c603edabe2e499764b6535ed50";
   };
 
-  propagatedBuildInputs = [ six ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    nose
+    numpy
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # PyPI releases don't ship all the needed files for the tests
+    "test_index_zero_length"
+    "test_fetch_zero_length"
+    "test_read_back_index"
+  ];
+
+  pythonImportsCheck = [
+    "pyfaidx"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/mdshw5/pyfaidx";
     description = "Python classes for indexing, retrieval, and in-place modification of FASTA files using a samtools compatible index";
     license = licenses.bsd3;
-    maintainers = [ maintainers.jbedo ];
+    maintainers = with maintainers; [ jbedo ];
   };
 }
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 217e552aa0e..eb5eb993ef4 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.1";
+  version = "4.5.3";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "002a065dcbf59c2caa039e4fc4ba01d1d636aa63ee9c794d4c9fc01f0e2d6dc0";
+    sha256 = "f49db689c1d5db6172131479ca77bd474ba2cb886c869b9867fb89cdab2df397";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index 27bfcff16d8..ab4ca1efdc1 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "602bffa8b4dbc185a6c7f36515563b600e0ee9002583c97ae3150eedaf340edb";
+    sha256 = "d7faa29558436decc2e78110f38d6677eb366b683ba5cdc2803d47195711165d";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pyjwt/default.nix b/pkgs/development/python-modules/pyjwt/default.nix
index 4617869988f..8212d097aa8 100644
--- a/pkgs/development/python-modules/pyjwt/default.nix
+++ b/pkgs/development/python-modules/pyjwt/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyjwt";
-  version = "2.1.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "PyJWT";
     inherit version;
-    sha256 = "sha256-+6ROeJi7yhYKKytQH0koJPyDgkhdOm8Rul0MGTfOYTA=";
+    sha256 = "sha256-uIi01W8G9tzXdyEMM05pxze+dHVdPl6e4/5n3Big7kE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylama/default.nix b/pkgs/development/python-modules/pylama/default.nix
index 1aa96dfe464..12378cfd72d 100644
--- a/pkgs/development/python-modules/pylama/default.nix
+++ b/pkgs/development/python-modules/pylama/default.nix
@@ -1,34 +1,66 @@
-{ lib, buildPythonPackage, fetchPypi
-, eradicate, mccabe, pycodestyle, pydocstyle, pyflakes
-, pytest, ipdb }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, substituteAll
+, git
+, eradicate
+, mccabe
+, mypy
+, pycodestyle
+, pydocstyle
+, pyflakes
+, vulture
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pylama";
-  version = "7.7.1";
+  version = "8.0.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9bae53ef9c1a431371d6a8dca406816a60d547147b60a4934721898f553b7d8f";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "klen";
+    repo = "pylama";
+    rev = version;
+    sha256 = "sha256-Olq/CZ/t1wqACoknAKsvdDKnyLZkxRtHokpu33I3trg=";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./paths.patch;
+      git = "${lib.getBin git}/bin/git";
+    })
+  ];
+
   propagatedBuildInputs = [
     eradicate
     mccabe
+    mypy
     pycodestyle
     pydocstyle
     pyflakes
+    vulture
   ];
 
-  checkInputs = [ pytest ipdb ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # tries to mess with the file system
-  doCheck = false;
+  disabledTests = [
+    "test_pylint" # infinite recursion
+    "test_quotes" # FIXME package pylama-quotes
+    "test_radon" # FIXME package radon
+  ];
+
+  pythonImportsCheck = [
+    "pylama.main"
+  ];
 
   meta = with lib; {
     description = "Code audit tool for python";
     homepage = "https://github.com/klen/pylama";
-    # ambiguous license declarations: https://github.com/klen/pylama/issues/64
-    license = [ licenses.lgpl3 ];
+    license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/pylama/paths.patch b/pkgs/development/python-modules/pylama/paths.patch
new file mode 100644
index 00000000000..ab6a4719f35
--- /dev/null
+++ b/pkgs/development/python-modules/pylama/paths.patch
@@ -0,0 +1,13 @@
+diff --git a/pylama/hook.py b/pylama/hook.py
+index 029c9dc..9f1a9b9 100644
+--- a/pylama/hook.py
++++ b/pylama/hook.py
+@@ -26,7 +26,7 @@ def run(command: str) -> Tuple[int, List[bytes], List[bytes]]:
+ 
+ def git_hook(error=True):
+     """Run pylama after git commit."""
+-    _, files_modified, _ = run("git diff-index --cached --name-only HEAD")
++    _, files_modified, _ = run("@git@ diff-index --cached --name-only HEAD")
+ 
+     options = parse_options()
+     setup_logger(options)
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 4bf6c4ad93e..b52cb3e2f95 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -6,6 +6,7 @@
 , installShellFiles
 , astroid
 , isort
+, GitPython
 , mccabe
 , platformdirs
 , toml
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.11.1";
+  version = "2.12.2";
 
   disabled = pythonOlder "3.6";
 
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08kc9139v1sd0vhna0rqikyds0xq8hxv0j9707n2i1nbv2z6xhsv";
+    sha256 = "sha256-seBYBTB+8PLIovqxVohkoQEfDAZI1fehLgXuHeTx9Wo=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +47,7 @@ buildPythonPackage rec {
   '';
 
   checkInputs = [
+    GitPython
     pytest-benchmark
     pytest-xdist
     pytestCheckHook
@@ -56,6 +58,7 @@ buildPythonPackage rec {
   # calls executable in one of the tests
   preCheck = ''
     export PATH=$PATH:$out/bin
+    export HOME=$TEMPDIR
   '';
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index 50dc87a926f..66eb934a2a9 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymavlink";
-  version = "2.4.17";
+  version = "2.4.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84e2af4d8099afd37c5d887261a168e7bde4ec2354f12f65c72dad1a4cd8f21d";
+    sha256 = "ee40af9fad9c054237800cc835df5c0975504de13e5c29001be496893083fa83";
   };
 
   propagatedBuildInputs = [ future lxml ];
diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix
index 0d18175d7e6..6b627ca672f 100644
--- a/pkgs/development/python-modules/pymongo/default.nix
+++ b/pkgs/development/python-modules/pymongo/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.12.0";
+  version = "3.12.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uI0XQhWbyToHhzP5eJ9WPO8m9eNw66gQR2pxqpjl+8I=";
+    sha256 = "704879b6a54c45ad76cea7c6789c1ae7185050acea7afd15b58318fa1932ed45";
   };
 
   # Tests call a running mongodb instance
diff --git a/pkgs/development/python-modules/pymunk/default.nix b/pkgs/development/python-modules/pymunk/default.nix
index 4d8dbee2c2e..c98fb6dddcf 100644
--- a/pkgs/development/python-modules/pymunk/default.nix
+++ b/pkgs/development/python-modules/pymunk/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pymunk";
-  version = "6.2.0";
+  version = "6.2.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1r3jfjg4cpdilrmlyml514hqmjgabyrrs4cvmdr56rylg1sp4gf3";
+    sha256 = "18ae0f83ec2dc20892b98c84127ce9149ab40fa3c3120097377e1506884b27b8";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/pkgs/development/python-modules/pysam/default.nix b/pkgs/development/python-modules/pysam/default.nix
index 41cdcad2038..2f65aa899e3 100644
--- a/pkgs/development/python-modules/pysam/default.nix
+++ b/pkgs/development/python-modules/pysam/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname   = "pysam";
-  version = "0.17.0";
+  version = "0.18.0";
 
   # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
   # missing some files which cause test failures.
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "pysam-developers";
     repo = "pysam";
     rev = "v${version}";
-    sha256 = "sha256-RDeBq6pwBGCBNIn8YOPQr96GuL6FKEYeLAPQD6XN0iE=";
+    sha256 = "042ca27r6634xg2ixgvq1079cp714wmm6ml7bwc1snn0wxxzywfg";
   };
 
   nativeBuildInputs = [ samtools ];
diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix
index 3ec6392f884..9e09724624c 100644
--- a/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, pytest, isPy3k, isPy35, async_generator }:
 buildPythonPackage rec {
   pname = "pytest-asyncio";
-  version = "0.15.1";
+  version = "0.16.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2564ceb9612bbd560d19ca4b41347b54e7835c2f792c504f698e05395ed63f6f";
+    sha256 = "7496c5977ce88c34379df64a66459fe395cd05543f0a2f837016e7144391fcfb";
   };
 
   buildInputs = [ pytest ]
diff --git a/pkgs/development/python-modules/pytest-doctestplus/default.nix b/pkgs/development/python-modules/pytest-doctestplus/default.nix
index 0ae23ff5727..74e4c77c0fa 100644
--- a/pkgs/development/python-modules/pytest-doctestplus/default.nix
+++ b/pkgs/development/python-modules/pytest-doctestplus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-doctestplus";
-  version = "0.11.0";
+  version = "0.11.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "efcb24a366d3b033d343298c2a60eae418b06803c85373450f10306815c7c632";
+    sha256 = "b7a0aeb79b85ee81a3c72c49019b4bfeb57fa920abaa6c17ba8be3be9c5290f1";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-httpx/default.nix b/pkgs/development/python-modules/pytest-httpx/default.nix
index b0bc07b6c16..819c0a14832 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.13.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "0lh7df3ysxmjzvx6242xb6qiwpfxrnj70kjmw5sndvzmy5dfpxfc";
+    sha256 = "08dxvjkxlnam3r0yp17495d1vksyawzzkpykacjql1gi6hqlfrwg";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-localserver/default.nix b/pkgs/development/python-modules/pytest-localserver/default.nix
index 577400b859e..a3f57ff40e7 100644
--- a/pkgs/development/python-modules/pytest-localserver/default.nix
+++ b/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-localserver";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a5427909d1dfda10772c1bae4b9803679c0a8f04adb66c338ac607773bfefc2";
+    sha256 = "ef6f04193dc0f7e8df5b27b3a8834318fa12eaf025436d2a99afff1b73cde761";
   };
 
   propagatedBuildInputs = [ werkzeug ];
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index b8f4814e533..f71522a40dc 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -36,6 +36,8 @@ buildPythonPackage rec {
     "test_rsync_report"
     "test_init_rsync_roots"
     "test_rsyncignore"
+    # flakey
+    "test_internal_errors_propagate_to_controller"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/python-cinderclient/default.nix b/pkgs/development/python-modules/python-cinderclient/default.nix
index 8346074c9c5..fe421fa55d3 100644
--- a/pkgs/development/python-modules/python-cinderclient/default.nix
+++ b/pkgs/development/python-modules/python-cinderclient/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "python-cinderclient";
-  version = "8.1.0";
+  version = "8.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b57b432b2ac9161c2482a569a023211d2d3d0ada81c4da62c8f6e47f0b2bf82d";
+    sha256 = "7b2f08a2d1cc05d2c1f84f02fadb2208678b1acb501acfe2de33720078ec7b9f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-dotenv/default.nix b/pkgs/development/python-modules/python-dotenv/default.nix
index 22bf7ea7ece..774ca6855ae 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.19.0";
+  version = "0.19.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f521bc2ac9a8e03c736f62911605c5d83970021e3fa95b37d769e2bbbe9b6172";
+    sha256 = "a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/python-gnupg/default.nix b/pkgs/development/python-modules/python-gnupg/default.nix
index 7189a235ded..e26e60c43ec 100644
--- a/pkgs/development/python-modules/python-gnupg/default.nix
+++ b/pkgs/development/python-modules/python-gnupg/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gnupg";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2061f56b1942c29b92727bf9aecbd3cea3893acc9cccbdc7eb4604285efe4ac7";
+    sha256 = "b64de1ae5cedf872b437201a566fa2c62ce0c95ea2e30177eb53aee1258507d7";
   };
 
   # Let's make the library default to our gpg binary
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 39597afa854..4aa8d853ebd 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -35,14 +35,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.2.4";
+  version = "1.3.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0c1g46hpzjhqbjcmv6xm3by3jprcjhzjslqzrp95hdkbykvrgs5x";
+    sha256 = "067dlhwwv4mkrirnmqinrvkbfx59hf7fiah081d62a46vxvpnv9s";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix
index 5ffe1a1ea73..aea8b6dab30 100644
--- a/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/pkgs/development/python-modules/python-manilaclient/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonApplication rec {
   pname = "python-manilaclient";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d90af35c5beccc53fa6b0f5a3c4b330a065e86924c33c42b017f18943ab2b05";
+    sha256 = "d53f69238cdc454c0297f513e0b481a039d0bac723990ebd5ab9d3d29633956e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix
index 46900dd80e3..1c9d850067e 100644
--- a/pkgs/development/python-modules/python-miio/default.nix
+++ b/pkgs/development/python-modules/python-miio/default.nix
@@ -38,7 +38,8 @@ buildPythonPackage rec {
       --replace 'click = "^7"' 'click = "*"' \
       --replace 'croniter = "^0"' 'croniter = "*"' \
       --replace 'cryptography = "^3"' 'cryptography = "*"' \
-      --replace 'defusedxml = "^0.6"' 'defusedxml = "*"'
+      --replace 'defusedxml = "^0.6"' 'defusedxml = "*"' \
+      --replace 'PyYAML = "^5"' 'PyYAML = "*"'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-socks/default.nix b/pkgs/development/python-modules/python-socks/default.nix
index dcf26880827..e6c2d016bb0 100644
--- a/pkgs/development/python-modules/python-socks/default.nix
+++ b/pkgs/development/python-modules/python-socks/default.nix
@@ -1,17 +1,48 @@
-{ lib, buildPythonPackage, trio, curio, async-timeout, fetchPypi, pythonOlder }:
+{ lib
+, async-timeout
+, buildPythonPackage
+, curio
+, fetchFromGitHub
+, flask
+, pytest-asyncio
+, pytest-trio
+, pythonOlder
+, pytestCheckHook
+, trio
+, yarl
+}:
 
 buildPythonPackage rec {
   pname = "python-socks";
-  version = "1.2.4";
+  version = "2.0.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1n6xb18jy41ybgkmamakg6psp3qididd45qknxiggngaiibz43kx";
+  disabled = pythonOlder "3.6.1";
+
+  src = fetchFromGitHub {
+    owner = "romis2012";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-iTwlUyfTD2ZhOvBX3IDqjkeW4Z2tfKxvQjIV7GGBVJA=";
   };
 
-  disabled = pythonOlder "3.6.1";
+  propagatedBuildInputs = [
+    trio
+    curio
+    async-timeout
+  ];
+
+  checkInputs = [
+    flask
+    pytest-asyncio
+    pytest-trio
+    pytestCheckHook
+    yarl
+  ];
 
-  propagatedBuildInputs = [ trio curio async-timeout ];
+  pythonImportsCheck = [
+    "python_socks"
+  ];
 
   meta = with lib; {
     description = "Core proxy client (SOCKS4, SOCKS5, HTTP) functionality for Python";
diff --git a/pkgs/development/python-modules/python-swiftclient/default.nix b/pkgs/development/python-modules/python-swiftclient/default.nix
index adb675c0db5..cb3b5b850e3 100644
--- a/pkgs/development/python-modules/python-swiftclient/default.nix
+++ b/pkgs/development/python-modules/python-swiftclient/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonApplication rec {
   pname = "python-swiftclient";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MTtEShTQ+bYoy/PoxS8sQnFlj56KM9QiKFHC5PD3t6A=";
+    sha256 = "b200dcfbc6842bd4cac29efd0ea9ef34d3b8625957472ba7aa3ae0242437e2cc";
   };
 
   propagatedBuildInputs = [ pbr python-keystoneclient ];
diff --git a/pkgs/development/python-modules/pytwitchapi/default.nix b/pkgs/development/python-modules/pytwitchapi/default.nix
index 423f87c1f7d..27289a13d5d 100644
--- a/pkgs/development/python-modules/pytwitchapi/default.nix
+++ b/pkgs/development/python-modules/pytwitchapi/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytwitchapi";
-  version = "2.5.0";
+  version = "2.5.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Teekeks";
     repo = "pyTwitchAPI";
     rev = "v${version}";
-    sha256 = "0sbzl9a4zxnvnvkmmmfc9c157dgq7y6qfb2cid5nym6jhxkixnqk";
+    sha256 = "091p9yx0cc7aclj76s1n1jdzkypicy9b2mxgmk2fym5viqlgpbkk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index c3eb750783f..b25d9d3b5ae 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.15";
+  version = "2.1.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8bca4077dbdc1434dcbc6759407367b6561e3505aa9555b1bc0b45989dcf50b2";
+    sha256 = "654c03014a15f846786807a2ece6f525a8fec883d1c857742c8e37da149a81ed";
   };
 
   nativeBuildInputs = [ pytest-runner pkgconfig pkg-config ];
diff --git a/pkgs/development/python-modules/pywavelets/default.nix b/pkgs/development/python-modules/pywavelets/default.nix
index 66c996a487b..cbd7681c63f 100644
--- a/pkgs/development/python-modules/pywavelets/default.nix
+++ b/pkgs/development/python-modules/pywavelets/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "PyWavelets";
-  version = "1.1.1";
+  version = "1.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9";
+    sha256 = "6cbd69b047bb4e00873097472133425f5f08a4e6bc8b3f0ae709274d4d5e9a8d";
   };
 
   checkInputs = [ nose pytest ];
diff --git a/pkgs/development/python-modules/pywick/default.nix b/pkgs/development/python-modules/pywick/default.nix
index c675686ef83..0db11576203 100644
--- a/pkgs/development/python-modules/pywick/default.nix
+++ b/pkgs/development/python-modules/pywick/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname   = "pywick";
-  version = "0.5.6";
+  version = "0.6.5";
 
   disabled = pythonOlder "3.6";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "achaiah";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gmlifnv9kji0d1jwg1pa8d96zg48w17qg0sgxwy1y1jf3hn37bm";
+    sha256 = "0wnijdvqgdpzfdsy1cga3bsr0n7zzsl8hp4dskqwxx087g5h1r84";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix
index 10073176aeb..2c0e893b9c5 100644
--- a/pkgs/development/python-modules/pyyaml/default.nix
+++ b/pkgs/development/python-modules/pyyaml/default.nix
@@ -1,32 +1,32 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , cython
 , libyaml
-, isPy27
 , python
 }:
 
 buildPythonPackage rec {
   pname = "PyYAML";
-  version = "5.4.1.1";
+  version = "6.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "yaml";
     repo = "pyyaml";
     rev = version;
-    sha256 = "1v386gzdvsjg0mgix6v03rd0cgs9dl81qvn3m547849jm8r41dx8";
+    sha256 = "sha256-wcII32mRgRRmAgojntyxBMQkjvxU2jylCgVzlHAj2Xc=";
   };
 
   nativeBuildInputs = [ cython ];
 
   buildInputs = [ libyaml ];
 
-  checkPhase = let
-    testdir = if isPy27 then "tests/lib" else "tests/lib3";
-  in ''
+  checkPhase = ''
     runHook preCheck
-    PYTHONPATH="${testdir}:$PYTHONPATH" ${python.interpreter} -m test_all
+    PYTHONPATH="tests/lib:$PYTHONPATH" ${python.interpreter} -m test_all
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix
index 9d6a483071b..b56e80eb80c 100644
--- a/pkgs/development/python-modules/qtconsole/default.nix
+++ b/pkgs/development/python-modules/qtconsole/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "qtconsole";
-  version = "5.1.1";
+  version = "5.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bbc34bca14f65535afcb401bc74b752bac955e5313001ba640383f7e5857dc49";
+    sha256 = "bb3b9f0d674055e627c1097779c0d5e028176706d3b6be39cf52235f6ddcc88e";
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
diff --git a/pkgs/development/python-modules/r2pipe/default.nix b/pkgs/development/python-modules/r2pipe/default.nix
index 1d7b4e95e85..7498c9c1e0f 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.6.4";
+  version = "1.6.5";
 
   postPatch = let
     r2lib = "${lib.getOutput "lib" radare2}/lib";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a79877781b8e8e9bd5612faebd3991d75d7189f2941021d2adea9b4b4c5b9b7b";
+    sha256 = "512d2aca27c4515e55743852e0ab227190739d9595d2c4b6ae97b23d1a2bdd26";
   };
 
   # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
diff --git a/pkgs/development/python-modules/rcssmin/default.nix b/pkgs/development/python-modules/rcssmin/default.nix
index 3de6f203803..ab74662e3b4 100644
--- a/pkgs/development/python-modules/rcssmin/default.nix
+++ b/pkgs/development/python-modules/rcssmin/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "rcssmin";
-  version = "1.0.6";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0w42l4dhxghcz7pj3q7hkxp015mvb8z2cq9sfxbl31npsfavd1ya";
+    sha256 = "27fc400627fd3d328b7fe95af2a01f5d0af6b5af39731af5d071826a1f08e362";
   };
 
   # The package does not ship tests, and the setup machinary confuses
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 873a39244fe..c9c5011da61 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "reikna";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d01f4264c8379ef2962a93aacb002d491b92ef9b5b22b45f77e7821dfa87bef7";
+    sha256 = "722fefbd253d0bbcbf5250b7b9c4aca5722cde4ca38bfbf863a551a5fc26edfa";
   };
 
   checkInputs = [ sphinx pytest-cov pytest ];
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index 71d4cd7425d..de2b799a051 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.6.1";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68f9324000cfc5570b5a59a92306691b5d655078a399f20bc72c2581fe903261";
+    sha256 = "f0c4b47b012d893b0b9f5703cf6f01b5593714a3fc1e7dc73efbbfe26bb7e16a";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/requests-kerberos/default.nix b/pkgs/development/python-modules/requests-kerberos/default.nix
index 0a023dab871..17a8191455a 100644
--- a/pkgs/development/python-modules/requests-kerberos/default.nix
+++ b/pkgs/development/python-modules/requests-kerberos/default.nix
@@ -4,36 +4,43 @@
 , cryptography
 , requests
 , pykerberos
+, pyspnego
 , pytestCheckHook
+, pytest-mock
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "requests-kerberos";
-  version = "0.12.0";
+  version = "0.13.0";
 
   # tests are not present in the PyPI version
   src = fetchFromGitHub {
     owner = "requests";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qw96aw84nljh9cip372mfv50p1yyirfgigavvavgpc3c5g278s6";
+    sha256 = "0yvfg2cj3d10l8fd8kyal4hmpd7fd1c3bca13cj9ril5l573in76";
   };
 
+  # avoid needing to package krb5
+  postPatch = ''
+    substituteInPlace setup.py \
+    --replace "pyspnego[kerberos]" "pyspnego"
+  '';
+
   propagatedBuildInputs = [
     cryptography
     requests
     pykerberos
+    pyspnego
   ];
 
   checkInputs = [
     mock
     pytestCheckHook
+    pytest-mock
   ];
 
-  # they have a setup.py which mentions a test suite that doesn't exist...
-  patches = [ ./fix_setup.patch ];
-
   pythonImportsCheck = [ "requests_kerberos" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/requests-kerberos/fix_setup.patch b/pkgs/development/python-modules/requests-kerberos/fix_setup.patch
deleted file mode 100644
index 67cc3a60f77..00000000000
--- a/pkgs/development/python-modules/requests-kerberos/fix_setup.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- ./setup.py	1980-01-02 00:00:00.000000000 +0000
-+++ ./setup.py	1980-01-02 00:00:00.000000000 +0000
-@@ -56,6 +56,5 @@
-         ':sys_platform=="win32"': ['winkerberos>=0.5.0'],
-         ':sys_platform!="win32"': ['pykerberos>=1.1.8,<2.0.0'],
-     },
--    test_suite='test_requests_kerberos',
-     tests_require=['mock'],
- )
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
index 98a04c2ac58..cff31f782c5 100644
--- a/pkgs/development/python-modules/responses/default.nix
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-hmdXmH0ZYqqQjZyLMYVzn679cqNZ6VRZ3gwuTlNpybI=";
+    sha256 = "sha256-ouOsoqgnfmElfNOxwVSx3Q14Kxrj04t/o3y+P+tTF5E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index 0d7f509b4a0..d085d43008b 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.17.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "0w8idh6l2iq04ydz7r2qisq9jsxq8wszkx97kx4g3yjwg4ypvc6k";
+    sha256 = "sha256-xiAt42kc1+rro99KMwzYKi3XC+wxYVqOY11tM+M/uV8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rfc6555/default.nix b/pkgs/development/python-modules/rfc6555/default.nix
index 4e47915bdf7..5be65fee239 100644
--- a/pkgs/development/python-modules/rfc6555/default.nix
+++ b/pkgs/development/python-modules/rfc6555/default.nix
@@ -1,27 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, pythonPackages }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, selectors2
+}:
 
 buildPythonPackage rec {
   pname = "rfc6555";
-  version = "0.0.0";
+  version = "0.1.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "05sjrd6jc0sdvx0z7d3llk82rx366jlmc7ijam0nalsv66hbn70r";
+  src = fetchFromGitHub {
+    owner = "sethmlarson";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "Lmwgusc4EQlF0GHmMTUxWzUCjBk19cvurNwbOnT+1jM=";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ selectors2 ];
+  propagatedBuildInputs = [
+    selectors2
+  ];
 
-  checkInputs = with pythonPackages; [ mock pytest ];
-  # disabling tests that require a functional DNS IPv{4,6} stack to pass.
-  patches = [ ./disable_network_tests.patch ];
-  # default doCheck = true; is not enough, apparently
-  postCheck = ''
-    py.test tests/
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Disabling tests that require a functional DNS IPv{4,6} stack to pass
+    "test_create_connection_has_proper_timeout"
+  ];
+
+  pythonImportsCheck = [
+    "rfc6555"
+  ];
 
   meta = with lib; {
     description = "Python implementation of the Happy Eyeballs Algorithm";
-    homepage = "https://pypi.org/project/rfc6555";
+    homepage = "https://github.com/sethmlarson/rfc6555";
     license = licenses.asl20;
     maintainers = with maintainers; [ endocrimes ];
   };
diff --git a/pkgs/development/python-modules/rfc6555/disable_network_tests.patch b/pkgs/development/python-modules/rfc6555/disable_network_tests.patch
deleted file mode 100644
index dc59111ac43..00000000000
--- a/pkgs/development/python-modules/rfc6555/disable_network_tests.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/tests/test_create_connection.py b/tests/test_create_connection.py
-index fe38026..cdb26b4 100644
---- a/tests/test_create_connection.py
-+++ b/tests/test_create_connection.py
-@@ -6,10 +6,12 @@ from .test_utils import requires_network
- 
- 
- class _BasicCreateConnectionTests(object):
-+
-     @requires_network
-     def test_create_connection_google(self):
-         sock = rfc6555.create_connection(('www.google.com', 80))
- 
-+    @requires_network
-     @pytest.mark.parametrize('timeout', [None, 5.0])
-     def test_create_connection_has_proper_timeout(self, timeout):
-         sock = rfc6555.create_connection(('www.google.com', 80), timeout=timeout)
-diff --git a/tests/test_ipv6.py b/tests/test_ipv6.py
-index 3ee8564..f0db28e 100644
---- a/tests/test_ipv6.py
-+++ b/tests/test_ipv6.py
-@@ -2,7 +2,9 @@ import socket
- import mock
- import rfc6555
- 
-+from .test_utils import requires_network
- 
-+@requires_network
- def test_ipv6_available():
-     assert rfc6555._detect_ipv6()
- 
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index ff330289734..98c26c7a7ff 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.12.0";
+  version = "10.14.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "willmcgugan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qq4k0pxq3r0463z4h65i9rb8cvilpnqmparklj5y5qk6svz0y2n";
+    sha256 = "1j1m1064gmy07ah4crds5sd0k7dcwvf2b1z6rvjfvq4v9fx962qv";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/rjsmin/default.nix b/pkgs/development/python-modules/rjsmin/default.nix
index d78c445a3e5..2dbc72b1d0c 100644
--- a/pkgs/development/python-modules/rjsmin/default.nix
+++ b/pkgs/development/python-modules/rjsmin/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "rjsmin";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cmc72rlkvzz8fl89bc83czkx0pcvhzj7yn7m29r8pgnf5fcfpdi";
+    sha256 = "6c529feb6c400984452494c52dd9fdf59185afeacca2afc5174a28ab37751a1b";
   };
 
   # The package does not ship tests, and the setup machinary confuses
diff --git a/pkgs/development/python-modules/robotframework-sshlibrary/default.nix b/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
index 82a5fd3fed6..e72a7230864 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.7.0";
+  version = "3.8.0";
   pname = "robotframework-sshlibrary";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "55bd5a11bb1fe60a5a83446e6a3e1e81b13fc671e3b660aa55912a263c1f63aa";
+    sha256 = "aedf8a02bcb7344404cf8575d0ada25d6c7dc2fcb65de2113c4e07c63d2446c2";
   };
 
   # unit tests are impure
diff --git a/pkgs/development/python-modules/rpcq/default.nix b/pkgs/development/python-modules/rpcq/default.nix
index 671038c8b46..82db76bc859 100644
--- a/pkgs/development/python-modules/rpcq/default.nix
+++ b/pkgs/development/python-modules/rpcq/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "rpcq";
   version = "3.9.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -42,7 +43,14 @@ buildPythonPackage rec {
       --replace "msgpack>=0.6,<1.0" "msgpack"
   '';
 
-  pythonImportsCheck = [ "rpcq" ];
+  disabledTests = [
+    # Test doesn't work properly on Hydra
+    "test_client_backlog"
+  ];
+
+  pythonImportsCheck = [
+    "rpcq"
+  ];
 
   meta = with lib; {
     description = "The RPC framework and message specification for rigetti Quantum Cloud services";
diff --git a/pkgs/development/python-modules/rsa/default.nix b/pkgs/development/python-modules/rsa/default.nix
index b4668e3d2ea..ccfd237862d 100644
--- a/pkgs/development/python-modules/rsa/default.nix
+++ b/pkgs/development/python-modules/rsa/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "rsa";
-  version = "4.7.2";
+  version = "4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9";
+    sha256 = "5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17";
   };
 
   checkInputs = [ unittest2 mock ];
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index 2ed6361b256..e8a8bbea801 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2021.10.1";
+  version = "2021.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-STriUFPlJiVSokep8cOiyPvNIPWQf85jp0kSa6WP4F4=";
+    sha256 = "3c23eac1fa5b685c9d507950b24f75929e8bcd1ea98b9a95cf2a9cb66ee6c9f5";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index ece8af476d8..3df0a94cf8e 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.63.1";
+  version = "2.69.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "924847e9793b76d188049718aabbcad975296bb267812ad18e0279e7af0cb748";
+    sha256 = "8e9051a44a82be07e32d83cfc12d724fd1cb76f83ade34cd9e69c45a8d37c676";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/sanic-auth/default.nix b/pkgs/development/python-modules/sanic-auth/default.nix
index 38d73d461c2..c854017ae78 100644
--- a/pkgs/development/python-modules/sanic-auth/default.nix
+++ b/pkgs/development/python-modules/sanic-auth/default.nix
@@ -1,24 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi, sanic, sanic-testing, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sanic
+, sanic-testing
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "Sanic-Auth";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0dc24ynqjraqwgvyk0g9bj87zgpq4xnssl24hnsn7l5vlkmk8198";
   };
 
-  propagatedBuildInputs = [ sanic ];
+  propagatedBuildInputs = [
+    sanic
+  ];
 
-  checkInputs = [ pytestCheckHook sanic-testing ];
+  checkInputs = [
+    pytestCheckHook
+    sanic-testing
+  ];
 
-  pythonImportsCheck = [ "sanic_auth" ];
+  postPatch = ''
+    # Support for httpx>=0.20.0
+    substituteInPlace tests/test_auth.py \
+      --replace "allow_redirects=False" "follow_redirects=False"
+  '';
+
+  pythonImportsCheck = [
+    "sanic_auth"
+  ];
 
   meta = with lib; {
     description = "Simple Authentication for Sanic";
     homepage = "https://github.com/pyx/sanic-auth/";
     license = licenses.bsdOriginal;
-    maintainers = [ maintainers.arnoldfarkas ];
+    maintainers = with maintainers; [ arnoldfarkas ];
   };
 }
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 6161f5c5eb0..2fab2a3df88 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -12,6 +12,7 @@
 , pytest-benchmark
 , pytest-sugar
 , pytestCheckHook
+, pythonOlder
 , sanic-routing
 , sanic-testing
 , ujson
@@ -22,13 +23,16 @@
 
 buildPythonPackage rec {
   pname = "sanic";
-  version = "21.9.1";
+  version = "21.9.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "sanic-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TRrJr/L8AXLAARPjhBi2FxNh+jvxxdeMN24cT1njmqY=";
+    sha256 = "0m18jdw1mvf7jhpnrxhm96p24pxvv0h9m71a8c7sqqkwnnpa3p5i";
   };
 
   postPatch = ''
@@ -85,6 +89,10 @@ buildPythonPackage rec {
     "test_auto_reload"
     "test_no_exceptions_when_cancel_pending_request"
     "test_ipv6_address_is_not_wrapped"
+    # Failure of the redirect tests seems to be related to httpx>0.20.0
+    "test_redirect"
+    "test_chained_redirect"
+    "test_unix_connection"
     # These appear to be very sensitive to output of commands
     "test_access_logs"
     "test_auto_reload"
@@ -99,7 +107,9 @@ buildPythonPackage rec {
   # for the same local port
   __darwinAllowLocalNetworking = true;
 
-  pythonImportsCheck = [ "sanic" ];
+  pythonImportsCheck = [
+    "sanic"
+  ];
 
   meta = with lib; {
     description = "Web server and web framework";
diff --git a/pkgs/development/python-modules/sarif-om/default.nix b/pkgs/development/python-modules/sarif-om/default.nix
new file mode 100644
index 00000000000..b7b334ebf9b
--- /dev/null
+++ b/pkgs/development/python-modules/sarif-om/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildPythonPackage, fetchPypi
+, attrs
+, pbr
+}:
+
+buildPythonPackage rec {
+  pname = "sarif-om";
+  version = "1.0.4";
+
+  src = fetchPypi {
+    pname = "sarif_om";
+    inherit version;
+    sha256 = "cd5f416b3083e00d402a92e449a7ff67af46f11241073eea0461802a3b5aef98";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+  ];
+
+  pythonImportsCheck = [ "sarif_om" ];
+
+  # no tests included with tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Classes implementing the SARIF 2.1.0 object model";
+    homepage = "https://github.com/microsoft/sarif-python-om";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix
index c3445c1d3ad..bf836fa4583 100644
--- a/pkgs/development/python-modules/schema-salad/default.nix
+++ b/pkgs/development/python-modules/schema-salad/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "schema-salad";
-  version = "8.2.20211104054942";
+  version = "8.2.20211116214159";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1crKyAON8iZBYxP6bhj0MxV3fSpnCh3Lqp8x91KLBT8=";
+    sha256 = "0c737af600e0a03dd97c93b9867e862463b65d95580ba711fd22f542bc80ad00";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/pkgs/development/python-modules/scikit-hep-testdata/default.nix
index 0f76efe2ea5..d8240fd8333 100644
--- a/pkgs/development/python-modules/scikit-hep-testdata/default.nix
+++ b/pkgs/development/python-modules/scikit-hep-testdata/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "scikit-hep-testdata";
-  version = "0.4.10";
+  version = "0.4.11";
   format = "pyproject";
 
   # fetch from github as we want the data files
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0x6ba02f3sba9341nhyg9jdcbl9c1h880d8m75ybdpbn7zlaya1d";
+    sha256 = "18r5nk8d5y79ihzjkjm5l0hiw2sjgj87px7vwb0bxbs73f5v353b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix
index e7ac79b4283..b717432a653 100644
--- a/pkgs/development/python-modules/scikit-learn/default.nix
+++ b/pkgs/development/python-modules/scikit-learn/default.nix
@@ -19,23 +19,14 @@
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "0.24.1";
+  version = "1.0.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "oDNKGALmTWVgIsO/q1anP71r9LEpg0PzaIryFRgQu98=";
+    sha256 = "sha256-rCyp27dU1hz+HIO6hINJjvlR0puT7AnW8AKEfyEKmdo=";
   };
 
-  patches = [
-    # This patch fixes compatibility with numpy 1.20. It was merged before 0.24.1 was released,
-    # but for some reason was not included in the 0.24.1 release tarball.
-    (fetchpatch {
-      url = "https://github.com/scikit-learn/scikit-learn/commit/e7ef22c3ba2334cb3b476e95d7c083cf6b48ce56.patch";
-      sha256 = "174554k1pbf92bj7wgq0xjj16bkib32ailyhwavdxaknh4bd9nmv";
-    })
-  ];
-
   buildInputs = [
     pillow
     glibcLocales
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 2e19d2d4204..9c3b28e0a9a 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "scipy";
-  version = "1.7.1";
+  version = "1.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764";
+    sha256 = "ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf";
   };
 
   nativeBuildInputs = [ cython gfortran pythran ];
diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix
index e3c3ba72ca5..1ade4b8ea1d 100644
--- a/pkgs/development/python-modules/screenlogicpy/default.nix
+++ b/pkgs/development/python-modules/screenlogicpy/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, pytest-asyncio
 , pytestCheckHook
 }:
 
@@ -20,6 +21,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index d1095b19997..c190093bb30 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -32,14 +32,24 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # Tests fail because of AttributeError:...
+    "TestKDEPlotBivariate"
+    "TestBoxPlotter"
+    "TestCatPlot"
+    "TestKDEPlotUnivariate"
+    "test_with_rug"
+    "test_bivariate_kde_norm"
+  ];
+
   pythonImportsCheck= [
     "seaborn"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Statisitical data visualization";
     homepage = "https://seaborn.pydata.org/";
-    license = with lib.licenses; [ bsd3 ];
-    maintainers = with lib.maintainers; [ fridh ];
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/secp256k1/default.nix b/pkgs/development/python-modules/secp256k1/default.nix
index 58fa81b444f..1637814cadd 100644
--- a/pkgs/development/python-modules/secp256k1/default.nix
+++ b/pkgs/development/python-modules/secp256k1/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "secp256k1";
-  version = "0.13.2";
+  version = "0.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a3b43e02d321c09eafa769a6fc2c156f555cab3a7db62175ef2fd21e16cdf20c";
+    sha256 = "82c06712d69ef945220c8b53c1a0d424c2ff6a1f64aee609030df79ad8383397";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index a91be015111..8a35d3ed71a 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -6,13 +6,14 @@
 
 buildPythonPackage rec {
   pname = "Send2Trash";
-  version = "1.5.0";
+  version = "1.8.1b0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hsoft";
     repo = "send2trash";
     rev = version;
-    sha256 = "1c76zldhw2ay7q7r00nnzcampjz9lkqfcbzqpm0iqp5i6bmmv30v";
+    sha256 = "sha256-kDUEfyMTk8CXSxTEi7E6kl09ohnWHeaoif+EIaIJh9Q=";
   };
 
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index b7349caa233..afda360b412 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -29,11 +29,11 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b9844751e40710e84a457c5bc29b21c383ccb2b63d76eeaad72f7f1c808c8828";
+    sha256 = "789a11a87ca02491896e121efdd64e8fd93327b69e8f2f7d42f03e2569648e88";
   };
 
   checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond
diff --git a/pkgs/development/python-modules/shap/default.nix b/pkgs/development/python-modules/shap/default.nix
index 128dacfd55a..fbd43953b59 100644
--- a/pkgs/development/python-modules/shap/default.nix
+++ b/pkgs/development/python-modules/shap/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "shap";
-  version = "0.39.0";
+  version = "0.40.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "slundberg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "065c40k6g8sy6ynzk4k8k7iddl18g2b6kb9kg4m6g7npclmn5wvp";
+    sha256 = "0ra0dp319qj13wxaqh2vz4xhn59m9h3bfg1m6wf3cxsix737b1k4";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/shortuuid/default.nix b/pkgs/development/python-modules/shortuuid/default.nix
index f1c1efbc0ec..5b7aad436fe 100644
--- a/pkgs/development/python-modules/shortuuid/default.nix
+++ b/pkgs/development/python-modules/shortuuid/default.nix
@@ -2,21 +2,25 @@
 , buildPythonPackage
 , isPy3k
 , fetchPypi
+, django
 , pep8
 }:
 
 buildPythonPackage rec {
   pname = "shortuuid";
-  version = "1.0.1";
+  version = "1.0.8";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c11d2007b915c43bee3e10625f068d8a349e04f0d81f08f5fa08507427ebf1f";
+    sha256 = "9435e87e5a64f3b92f7110c81f989a3b7bdb9358e22d2359829167da476cfc23";
   };
 
-  buildInputs = [pep8];
+  checkInputs = [
+    django
+    pep8
+  ];
 
   meta = with lib; {
     description = "A generator library for concise, unambiguous and URL-safe UUIDs";
diff --git a/pkgs/development/python-modules/simple-di/default.nix b/pkgs/development/python-modules/simple-di/default.nix
index 4977c3a4bf1..612d913b7b6 100644
--- a/pkgs/development/python-modules/simple-di/default.nix
+++ b/pkgs/development/python-modules/simple-di/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "simple_di";
-  version = "0.1.2";
+  version = "0.1.4";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wqbfbajnwmkzih0jl3mncalr7dslvmwhb5mk11asqvmbp1xhn30";
+    sha256 = "2667f2b9095e86c7726b3853c30b37f527f7d247282c7dd0b3428a7fb5d1a8a9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
index 52e55c71aff..1e6def5ae78 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.5";
+  version = "3.17.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vljsd5bk12gasadkxcddwhmp38fj64x1aqi4frk3frq9lp8h3a1";
+    sha256 = "1irlp5sakbdfcf717qmrx0r9rjlmwk0vza6zm3y55d32zw5c1cxg";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/smpplib/default.nix b/pkgs/development/python-modules/smpplib/default.nix
index 4966e8c8fb2..179ab7ce1bf 100644
--- a/pkgs/development/python-modules/smpplib/default.nix
+++ b/pkgs/development/python-modules/smpplib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "smpplib";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d513178a35573f66faac4ef2127c4bd73307ddb463d145b17b013cf709d9ddd";
+    sha256 = "c0b01947b47e404f42ccb59e906b6e4eb507963c971d59b44350db0f29c76166";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/snowballstemmer/default.nix b/pkgs/development/python-modules/snowballstemmer/default.nix
index 5f3029de2a7..a1813fac54e 100644
--- a/pkgs/development/python-modules/snowballstemmer/default.nix
+++ b/pkgs/development/python-modules/snowballstemmer/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "snowballstemmer";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914";
+    sha256 = "09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 3f4ec9a0f56..af6cd8defc7 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.6.2";
+  version = "2.7.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce131b1dd059a4d081e78595d618654bf9b9fc184d78352f24512375467257d1";
+    sha256 = "81175ff9fe0355a7e9007a087458dddc0816985ec10dc122e690de03549afbff";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/soupsieve/default.nix b/pkgs/development/python-modules/soupsieve/default.nix
index 954599ffefa..6c50cc6e115 100644
--- a/pkgs/development/python-modules/soupsieve/default.nix
+++ b/pkgs/development/python-modules/soupsieve/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "soupsieve";
-  version = "2.2.1";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc";
+    sha256 = "b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/spacy-alignments/default.nix b/pkgs/development/python-modules/spacy-alignments/default.nix
index 32506c2d9e7..95ba3c94634 100644
--- a/pkgs/development/python-modules/spacy-alignments/default.nix
+++ b/pkgs/development/python-modules/spacy-alignments/default.nix
@@ -11,31 +11,21 @@
 
 buildPythonPackage rec {
   pname = "spacy-alignments";
-  version = "0.8.3";
+  version = "0.8.4";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zrqBjaIjtF6bJMbmw7Zo+BeApN6sxxfLkrzsDjdvC78=";
+    sha256 = "sha256-1HApl/RZ0w5Tf2OPu1QBUa36uIqilp+dDbPjujn0e9s=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit patches src;
+    inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-YRyG2yflEXKklNqXiDD9oK3J1lq4o704+Eeu2hyY3xI=";
+    sha256 = "sha256-oFSruBnoodv6/0/OrmJ/2SVoWm3u3FGtzVJ9xgp0+Cg=";
   };
 
-  patches = [
-    # Add Cargo.lock, from upstream PR:
-    # https://github.com/explosion/spacy-alignments/pull/3
-    (fetchpatch {
-      url = "https://github.com/explosion/spacy-alignments/commit/7b0ba13ff0d245bfbbe344a36fb7bbd311dd4906.diff";
-      sha256 = "sha256-jx97SSC+3z+ByInNs8Uq58H50eCo4fDCwEi6VKxRs2k=";
-      excludes = [ ".gitignore" ];
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools-rust
   ] ++ (with rustPlatform; [
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index d959ad8947d..0d095cfef07 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -29,13 +29,13 @@
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "3.1.3";
+  version = "3.2.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WAhOZKJ5lxkupI8Yq7MOwUjFu+edBNF7pNL8JiEAwqI=";
+    sha256 = "68e54b2a14ce74eeecea9bfb0b9bdadf8a4a8157765dbefa7e50d25a1bf0f2f3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx/0001-test-images-Use-normalization-equivalent-character.patch b/pkgs/development/python-modules/sphinx/0001-test-images-Use-normalization-equivalent-character.patch
new file mode 100644
index 00000000000..805e724d0c8
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx/0001-test-images-Use-normalization-equivalent-character.patch
@@ -0,0 +1,35 @@
+From 181617387841b695ee77b162babf9fb177002fcb Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Mon, 20 Sep 2021 11:39:46 +0200
+Subject: [PATCH] test-images: Use normalization equivalent character
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+One of the test images used a combining character `ä` that can be
+encoded multiple ways. This means the file's name can end up encoded
+differently depending on whether/which normal form the filesystem uses.
+
+For Nix this causes a different hash for a FOD depending on the
+filesystem where it is evaluated. This is problematic because hashes
+fail to match up when evaluating the FOD across multiple platforms.
+---
+ tests/roots/test-images/index.rst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/roots/test-images/index.rst b/tests/roots/test-images/index.rst
+index 14a2987..219842e 100644
+--- a/tests/roots/test-images/index.rst
++++ b/tests/roots/test-images/index.rst
+@@ -13,7 +13,7 @@ test-image
+ 
+    The caption of img
+ 
+-.. image:: testimäge.png
++.. image:: testimæge.png
+ 
+ .. image:: rimg.png
+    :target: https://www.sphinx-doc.org/
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 9d82b4c5981..75693f3657e 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -28,14 +29,20 @@
 
 buildPythonPackage rec {
   pname = "sphinx";
-  version = "4.2.0";
+  version = "4.3.1";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "sphinx-doc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1i38n5bxqiycjwmiv9dl72r3f5ks4zmif30znqg8zilclbx6g16x";
+    sha256 = "sha256-8Yj6cPZFG8ycbbZtMR+fsIAOX0brxroi6nYjP+WhnxA=";
+    extraPostFetch = ''
+      cd $out
+      mv tests/roots/test-images/testimäge.png \
+        tests/roots/test-images/testimæge.png
+      patch -p1 < ${./0001-test-images-Use-normalization-equivalent-character.patch}
+    '';
   };
 
   propagatedBuildInputs = [
@@ -76,6 +83,27 @@ buildPythonPackage rec {
     # requires imagemagick (increases build closure size), doesn't
     # test anything substantial
     "test_ext_imgconverter"
+  ] ++ lib.optional stdenv.isDarwin [
+    # Due to lack of network sandboxing can't guarantee port 7777 isn't bound
+    "test_inspect_main_url"
+    "test_auth_header_uses_first_match"
+    "test_linkcheck_request_headers"
+    "test_linkcheck_request_headers_no_slash"
+    "test_follows_redirects_on_HEAD"
+    "test_invalid_ssl"
+    "test_connect_to_selfsigned_with_tls_verify_false"
+    "test_connect_to_selfsigned_with_tls_cacerts"
+    "test_connect_to_selfsigned_with_requests_env_var"
+    "test_connect_to_selfsigned_nonexistent_cert_file"
+    "test_TooManyRedirects_on_HEAD"
+    "test_too_many_requests_retry_after_int_del"
+    "test_too_many_requests_retry_after_HTTP_date"
+    "test_too_many_requests_retry_after_without_header"
+    "test_too_many_requests_user_timeout"
+    "test_raises_for_invalid_status"
+    "test_auth_header_no_match"
+    "test_follows_redirects_on_GET"
+    "test_connect_to_selfsigned_fails"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
index 08a87a2f7c0..d20fdafee1a 100644
--- a/pkgs/development/python-modules/sphinxext-opengraph/default.nix
+++ b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "sphinxext-opengraph";
-  version = "0.4.2";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "wpilibsuite";
     repo = "sphinxext-opengraph";
     rev = "v${version}";
-    sha256 = "sha256-978aPtaqUDHcswDdFynzi+IjDYaBmCZDZk+dmDkhajY=";
+    sha256 = "0iri6sh6h7l1p8xg04bj3bphs1hwxh43sfnrv1c8b1wy84w988y9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index 25389f2784e..38558f00498 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 = "5.1.5";
+  version = "5.2.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9ce23187f5de18f489fb03c38d884e4484b9c7292f9831faaa029fb7752fc93";
+    sha256 = "cd04acc88426acee9c4ce6bb91f50c13fc161a437e68bca701243b3415ce9d08";
   };
 
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index b2715b4d29e..ec18a1ee76d 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.17.1";
+  version = "3.19";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cfde0c46a2d4c09d6df8609fe53642bc3ab443bcef3106d8f1eabeb3fccbe3d";
+    sha256 = "509099fce5f25faada6e76b6fb90e8ef5ba0f1715177933a816718be0c8e7244";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/strictyaml/default.nix b/pkgs/development/python-modules/strictyaml/default.nix
index 9b76edc1bae..1d74a62babd 100644
--- a/pkgs/development/python-modules/strictyaml/default.nix
+++ b/pkgs/development/python-modules/strictyaml/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.0";
+  version = "1.6.0";
   pname = "strictyaml";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "273a6382cc98a404d20779351cd5bb12e746397fbe18a8e9ccec4ae3c0ffa0e2";
+    sha256 = "73fa9769214a310486d7916453a09bd38b07d28a9dcbdf27719183c1d7d949f6";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index a8c451ebf9a..ddb3a314f0a 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.62.0";
+  version = "2.63.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fb51d67a961ea889c5be324f020535ed511c6f483bd13a07f48f6e369fa8df0";
+    sha256 = "816c935e31d82737a9e4362c662e8702bdf9000ea1bd36882cd4cbd23eb81ae1";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index 3d1a8f8af67..2e90d3350db 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -1,9 +1,8 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pytest
+, fetchFromGitHub
+, pytestCheckHook
 , pytest-asyncio
-, python-rapidjson
 , pretend
 , freezegun
 , twisted
@@ -14,25 +13,23 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "21.2.0";
+  version = "21.4.0";
+  format = "flit";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7ac42b565e1295712313f91edbcb64e0840a9037d888c8954f11fa6c43270e99";
+  # sdist is missing conftest.py
+  src = fetchFromGitHub {
+    owner = "hynek";
+    repo = "structlog";
+    rev = version;
+    sha256 = "sha256-uXFSrC1TvQV46uu0sadC3eMq7yk5TnrpQE8m6NSv1Bg=";
   };
 
-  checkInputs = [ pytest pytest-asyncio pretend freezegun simplejson twisted ]
-    ++ lib.optionals (pythonAtLeast "3.6") [ python-rapidjson ];
+  checkInputs = [ pytestCheckHook pytest-asyncio pretend freezegun simplejson twisted ];
   propagatedBuildInputs = [ six ];
 
-  checkPhase = ''
-    # rm tests/test_twisted.py*
-    py.test
-  '';
-
   meta = {
     description = "Painless structural logging";
-    homepage = "http://www.structlog.org/";
+    homepage = "https://github.com/hynek/structlog";
     license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/stumpy/default.nix b/pkgs/development/python-modules/stumpy/default.nix
index a72ca40c21a..a1cdd5b84e0 100644
--- a/pkgs/development/python-modules/stumpy/default.nix
+++ b/pkgs/development/python-modules/stumpy/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "stumpy";
-  version = "1.9.2";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "TDAmeritrade";
     repo = "stumpy";
     rev = "v${version}";
-    sha256 = "0x5kac8fqsi3fkfwjdn0d7anslprxaz6cizky9cyj0rpbp0b0yc3";
+    sha256 = "1h3mqz570s9rc45d217xrykcy8f4fnpyk178smam2fzynlr90gd8";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/taskw/default.nix b/pkgs/development/python-modules/taskw/default.nix
index 80d86c3edb0..ac8a55e24d8 100644
--- a/pkgs/development/python-modules/taskw/default.nix
+++ b/pkgs/development/python-modules/taskw/default.nix
@@ -11,12 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.3.0";
+  version = "1.3.1";
   pname = "taskw";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7673d80b3d5bace5b35eb71f5035e313a92daab6e437694128d8ce7dcdaf66fb";
+    sha256 = "1a68e49cac2d4f6da73c0ce554fd6f94932d95e20596f2ee44a769a28c12ba7d";
   };
 
   patches = [ ./use-template-for-taskwarrior-install-path.patch ];
diff --git a/pkgs/development/python-modules/testpath/default.nix b/pkgs/development/python-modules/testpath/default.nix
index be332ac791a..e11ddeed50a 100644
--- a/pkgs/development/python-modules/testpath/default.nix
+++ b/pkgs/development/python-modules/testpath/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
@@ -17,6 +18,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    # Work around https://github.com/jupyter/testpath/issues/24
+    export TMPDIR="/tmp"
+  '';
+
   meta = with lib; {
     description = "Test utilities for code working with files and commands";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index d2123d207eb..9524f7e4497 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
@@ -7,6 +7,8 @@
 , catalogue
 , cymem
 , cython
+, contextvars
+, dataclasses
 , Accelerate
 , CoreFoundation
 , CoreGraphics
@@ -27,17 +29,19 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "8.0.10";
+  version = "8.0.13";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-teTbjSTmvopfHkoXhUdyt5orVgIkUZ9Qoh85UcokAB8=";
+    sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo=";
   };
 
-  buildInputs = [ cython ]
-    ++ lib.optionals stdenv.isDarwin [
+  buildInputs = [
+    cython
+  ] ++ lib.optionals stdenv.isDarwin [
     Accelerate
     CoreFoundation
     CoreGraphics
@@ -56,7 +60,12 @@ buildPythonPackage rec {
     tqdm
     pydantic
     wasabi
-  ] ++ lib.optional (pythonOlder "3.8") typing-extensions;
+  ] ++ lib.optional (pythonOlder "3.8") [
+    typing-extensions
+  ] ++ lib.optional (pythonOlder "3.7") [
+    contextvars
+    dataclasses
+  ];
 
   checkInputs = [
     hypothesis
@@ -71,7 +80,9 @@ buildPythonPackage rec {
     "thinc/tests"
   ];
 
-  pythonImportsCheck = [ "thinc" ];
+  pythonImportsCheck = [
+    "thinc"
+  ];
 
   meta = with lib; {
     description = "Practical Machine Learning for NLP in Python";
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index f495541f5de..2e467626721 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.8.30";
+  version = "2021.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8760e61e30106ea0dab9ec42a238d70a3ff55dde9c54456e7b748fe717cb782d";
+    sha256 = "153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b";
   };
 
   patches = lib.optional isPy27 ./python2-regex-compat.patch;
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index 6100d2a7c53..234cb471e46 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -1,23 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "toolz";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1grz3zvw5ixwqqlbv0n7j11mlcxb66cirh5i9x9zw8kqy0hpk967";
+    sha256 = "6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33";
   };
 
-  checkInputs = [ nose ];
-
-  checkPhase = ''
-    nosetests toolz/tests
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     homepage = "https://github.com/pytoolz/toolz";
diff --git a/pkgs/development/python-modules/traitlets/default.nix b/pkgs/development/python-modules/traitlets/default.nix
index 9c09a206f4d..0b96ba37c15 100644
--- a/pkgs/development/python-modules/traitlets/default.nix
+++ b/pkgs/development/python-modules/traitlets/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "traitlets";
-  version = "5.1.0";
+  version = "5.1.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd382d7ea181fbbcce157c133db9a829ce06edffe097bcf3ab945b435452b46d";
+    sha256 = "sha256-BZ9FbFp8HIK5jC6MeZ85ybgSj20NRpQe4RjarOnrcMc=";
   };
 
   checkInputs = [ glibcLocales pytest mock ];
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 6bf5c069c64..5479a0b1225 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.12.2";
+  version = "4.12.5";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SndnMiXWiDW+E1G+WaUTVv3lySavJWF0nFDZLOxzObc=";
+    sha256 = "07v72fyhm1s3bzg2kvaff15d7d8na39nlqpf5gyxaqvp3hglc3qy";
   };
 
   nativeBuildInputs = [ packaging ];
diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix
index acd7c7acfb4..0e95da38eae 100644
--- a/pkgs/development/python-modules/trio/default.nix
+++ b/pkgs/development/python-modules/trio/default.nix
@@ -11,7 +11,6 @@
 , sniffio
 , stdenv
 , jedi
-, pylint
 , astor
 , yapf
 }:
@@ -26,7 +25,7 @@ buildPythonPackage rec {
     sha256 = "895e318e5ec5e8cea9f60b473b6edb95b215e82d99556a03eb2d20c5e027efe1";
   };
 
-  checkInputs = [ astor pytestCheckHook pyopenssl trustme jedi pylint yapf ];
+  checkInputs = [ astor pytestCheckHook pyopenssl trustme jedi yapf ];
   # It appears that the build sandbox doesn't include /etc/services, and these tests try to use it.
   disabledTests = [
     "getnameinfo"
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index 4ad2f9f959c..8ee48d938e3 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonApplication rec {
   pname = "trytond";
-  version = "6.2.0";
+  version = "6.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-U73dzLTUJnOw24/ELQzjnxJ0PvjV+zE/PNuQHXbEukw=";
+    sha256 = "418f16c45b7130555447af901639b92bb188d39f46ce7fe4dfcd941c5959ed7e";
   };
 
   # Tells the tests which database to use
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
index fb561732174..d60db84d68a 100644
--- a/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -5,22 +5,34 @@
 , aiohttp
 , yarl
 , aresponses
+, poetry-core
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "twentemilieu";
-  version = "0.3.0";
+  version = "0.4.2";
+  format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-twentemilieu";
     rev = "v${version}";
-    sha256 = "1ff35sh73m2s7fh4d8p2pjwdbfljswr8b8lpcjybz8nsh0286xph";
+    sha256 = "1lf31ldbrsmxhbrcg284pwpvjfmwnssv3gqwd5vm2hvd9lwqn6ii";
   };
 
+  # coverage tests aren't useful when consuming releases
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '--cov' ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     yarl
diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix
index 0385bd70706..63e1502226d 100644
--- a/pkgs/development/python-modules/typeguard/default.nix
+++ b/pkgs/development/python-modules/typeguard/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "typeguard";
-  version = "2.12.1";
+  version = "2.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2af8b9bdd7657f4bd27b45336e7930171aead796711bc4cfc99b4731bb9d051";
+    sha256 = "7e50071590ab997509aa0977609eb5cf9d73d84c1f416cb4fab78b77a9d15326";
   };
 
   buildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix
index b3e38c86407..8545db539fb 100644
--- a/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/pkgs/development/python-modules/types-protobuf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "3.18.0";
+  version = "3.18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a391d1a9138fe53fe08aeb6aa15ca7f1a188659b9a6c12af5313c55730eccd6c";
+    sha256 = "6696bf3cabc51dcc076e8de025c405dbdea7488c5268c2febd14527dac82c233";
   };
 
   propagatedBuildInputs = [ types-futures ];
diff --git a/pkgs/development/python-modules/typical/default.nix b/pkgs/development/python-modules/typical/default.nix
index ec9cd4d1733..ee815fa15e1 100644
--- a/pkgs/development/python-modules/typical/default.nix
+++ b/pkgs/development/python-modules/typical/default.nix
@@ -1,18 +1,19 @@
 { lib
 , buildPythonPackage
+, fastjsonschema
 , fetchFromGitHub
-, pytestCheckHook
+, future-typing
 , inflection
-, pendulum
-, fastjsonschema
-, typing-extensions
+, mypy
 , orjson
-, future-typing
+, pandas
+, pendulum
 , poetry-core
 , pydantic
+, pytestCheckHook
+, pythonOlder
 , sqlalchemy
-, pandas
-, mypy
+, typing-extensions
 }:
 
 buildPythonPackage rec {
@@ -20,6 +21,8 @@ buildPythonPackage rec {
   version = "2.7.9";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "seandstewart";
     repo = "typical";
@@ -31,15 +34,18 @@ buildPythonPackage rec {
     ./use-poetry-core.patch
   ];
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     inflection
     pendulum
     fastjsonschema
     orjson
-    typing-extensions
     future-typing
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    typing-extensions
   ];
 
   checkInputs = [
@@ -51,18 +57,23 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    "test_ujson" # We use orjson
+    # We use orjson
+    "test_ujson"
+    # ConstraintValueError: Given value <{'key...
+    "test_tagged_union_validate"
   ];
 
   disabledTestPaths = [
     "benchmark/"
   ];
 
-  pythonImportsCheck = [ "typic" ];
+  pythonImportsCheck = [
+    "typic"
+  ];
 
   meta = with lib; {
+    description = "Python library for runtime analysis, inference and validation of Python types";
     homepage = "https://python-typical.org/";
-    description = "Typical: Python's Typing Toolkit.";
     license = licenses.mit;
     maintainers = with maintainers; [ kfollesdal ];
   };
diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix
index 70e676f6b2c..4d12af0689d 100644
--- a/pkgs/development/python-modules/ujson/default.nix
+++ b/pkgs/development/python-modules/ujson/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "ujson";
-  version = "4.2.0";
+  version = "4.3.0";
   disabled = isPyPy || pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fffe509f556861c7343c6cba57ed05fe7bcf4b48a934a5b946ccb45428cf8883";
+    sha256 = "baee56eca35cb5fbe02c28bd9c0936be41a96fa5c0812d9d4b7edeb5c3d568a0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/validators/default.nix b/pkgs/development/python-modules/validators/default.nix
index 37f00b73480..29ec9cd73d7 100644
--- a/pkgs/development/python-modules/validators/default.nix
+++ b/pkgs/development/python-modules/validators/default.nix
@@ -2,11 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, six
 , decorator
 , pytestCheckHook
-, isort
-, flake8
 }:
 
 buildPythonPackage rec {
@@ -20,18 +17,13 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    six
     decorator
   ];
 
   checkInputs = [
     pytestCheckHook
-    flake8
-    isort
   ];
 
-  disabledTests = lib.optionals isPy27 [ "url" ];
-
   meta = with lib; {
     description = "Python Data Validation for Humans™";
     homepage = "https://github.com/kvesteri/validators";
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index c5aa9f0bac9..349f0f8ef9a 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.8.1";
+  version = "20.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bcc17f0b3a29670dd777d6f0755a4c04f28815395bca279cdcb213b97199a6b8";
+    sha256 = "576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index c13f7b6d7d3..5967b9b9abb 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bc3aec042637947d4e999121bab224077a6f7ede4af745102f41737f7c81c05a";
+    sha256 = "8561e41bbcca5fadce4a8d974ca2f96cbe7710d835bfed6a55ed6d10900ef5d5";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index 6d2725796a0..9fba5785c44 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "watchdog";
   version = "2.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -38,7 +39,14 @@ buildPythonPackage rec {
       --replace "--cov-report=term-missing" ""
   '';
 
-  pythonImportsCheck = [ "watchdog" ];
+  disabledTestPaths = [
+    # Tests are flaky
+    "tests/test_inotify_buffer.py"
+  ];
+
+  pythonImportsCheck = [
+    "watchdog"
+  ];
 
   meta = with lib; {
     description = "Python API and shell utilities to monitor file system events";
diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix
index 611c84ea814..2e13d95c382 100644
--- a/pkgs/development/python-modules/websockets/default.nix
+++ b/pkgs/development/python-modules/websockets/default.nix
@@ -1,21 +1,23 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , python
 , pythonOlder
-, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "websockets";
-  version = "10.0";
+  version = "10.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aaugustin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-F10C8ukjYfbn2X2PMzrdSDqvs51/A9lx8Y3kv8YJ8Cw=";
+    sha256 = "sha256-FFaoqxa+TmKJ+P6T7HrwodjbVCir+2qJSfZsoj6deJU=";
   };
 
   # Tests fail on Darwin with `OSError: AF_UNIX path too long`
@@ -34,7 +36,9 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  pythonImportsCheck = [ "websockets" ];
+  pythonImportsCheck = [
+    "websockets"
+  ];
 
   meta = with lib; {
     description = "WebSocket implementation in Python";
diff --git a/pkgs/development/python-modules/webssh/default.nix b/pkgs/development/python-modules/webssh/default.nix
index 00aff794372..49b7097549d 100644
--- a/pkgs/development/python-modules/webssh/default.nix
+++ b/pkgs/development/python-modules/webssh/default.nix
@@ -1,21 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi, tornado, paramiko }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, paramiko
+, pytestCheckHook
+, tornado
+}:
 
 buildPythonPackage rec {
   pname = "webssh";
   version = "1.5.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-Au6PE8jYm8LkEp0B1ymW//ZkrkcV0BauwufQmrHLEU4=";
   };
 
-  propagatedBuildInputs = [ tornado paramiko ];
+  propagatedBuildInputs = [
+    paramiko
+    tornado
+  ];
 
-  pythonImportsCheck = [ "webssh" ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "webssh"
+  ];
 
   meta = with lib; {
+    description = "Web based SSH client";
     homepage = "https://github.com/huashengdun/webssh/";
-    description = "Web based ssh client";
     license = licenses.mit;
     maintainers = with maintainers; [ davidtwco ];
   };
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index 898fa4556ec..c75c59ac1c9 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -12,13 +12,15 @@
 
 buildPythonPackage rec {
   pname = "werkzeug";
-  version = "2.0.1";
+  version = "2.0.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "Werkzeug";
     inherit version;
-    sha256 = "0hlwawnn8c41f254qify5jnjj8xb97n294h09bqimzqhs0qdpq8x";
+    sha256 = "sha256-qiu2/I3ujWxQTArB5/X33FgQqZA+eTtvcVqfAVva25o=";
   };
 
   propagatedBuildInputs = lib.optionals (!stdenv.isDarwin) [
@@ -54,5 +56,6 @@ buildPythonPackage rec {
       utility libraries.
     '';
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch b/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch
new file mode 100644
index 00000000000..93db54b0c6e
--- /dev/null
+++ b/pkgs/development/python-modules/wheel/0001-tests-Rename-a-a-o-_-.py-_-.py.patch
@@ -0,0 +1,37 @@
+From 5879a4bbc34d1eb25e160b15b2f5a4f10eac6bd2 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Mon, 13 Sep 2021 18:07:26 +0200
+Subject: [PATCH] =?UTF-8?q?tests:=20Rename=20a=CC=8Aa=CC=88o=CC=88=5F?=
+ =?UTF-8?q?=E6=97=A5=E6=9C=AC=E8=AA=9E.py=20=3D>=20=C3=A6=C9=90=C3=B8=5F?=
+ =?UTF-8?q?=E6=97=A5=E6=9C=AC=E5=83=B9.py?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+`åäö_日本語.py` normalizes differently in NFC and NFD normal forms. This
+means a hash generated for the source directory can differ depending on
+whether or not the filesystem is normalizing and which normal form it
+uses.
+
+By renaming the file to `æɐø_日本價.py` we avoid this issue by using a
+name that has the same encoding in each normal form.
+---
+ tests/test_bdist_wheel.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_bdist_wheel.py b/tests/test_bdist_wheel.py
+index 651c034..9b94ac8 100644
+--- a/tests/test_bdist_wheel.py
++++ b/tests/test_bdist_wheel.py
+@@ -58,7 +58,7 @@ def test_unicode_record(wheel_paths):
+     with ZipFile(path) as zf:
+         record = zf.read('unicode.dist-0.1.dist-info/RECORD')
+ 
+-    assert u'åäö_日本語.py'.encode('utf-8') in record
++    assert u'æɐø_日本價.py'.encode('utf-8') in record
+ 
+ 
+ def test_licenses_default(dummy_dist, monkeypatch, tmpdir):
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
index 60398998380..1b899b59897 100644
--- a/pkgs/development/python-modules/wheel/default.nix
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -14,8 +14,14 @@ buildPythonPackage rec {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8lK2UvqBIxUYm6IOuT+Jk71wYbEEjvI7typS3749N9g=";
+    sha256 = "13bj49psan1s1fxfrq613dm2l7jvrg2dpgb36lz81z3b1h7zig6j";
     name = "${pname}-${version}-source";
+    extraPostFetch = ''
+      cd $out
+      mv tests/testdata/unicode.dist/unicodedist/åäö_日本語.py \
+        tests/testdata/unicode.dist/unicodedist/æɐø_日本價.py
+      patch -p1 < ${./0001-tests-Rename-a-a-o-_-.py-_-.py.patch}
+    '';
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index bb8f1ab3b4d..8f6cb6ad186 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "widgetsnbextension";
-  version = "3.5.1";
+  version = "3.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7";
+    sha256 = "e0731a60ba540cd19bbbefe771a9076dcd2dde90713a8f87f27f53f2d1db7727";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix
index cb6ec2b606d..ead63367f8c 100644
--- a/pkgs/development/python-modules/wled/default.nix
+++ b/pkgs/development/python-modules/wled/default.nix
@@ -1,28 +1,30 @@
 { lib
-, buildPythonPackage
-, pythonOlder
-, fetchFromGitHub
 , aiohttp
+, aresponses
+, awesomeversion
 , backoff
+, buildPythonPackage
+, cachetools
+, fetchFromGitHub
 , poetry-core
-, packaging
-, yarl
-, aresponses
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "wled";
-  version = "0.8.0";
-  disabled = pythonOlder "3.8";
+  version = "0.10.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-wled";
     rev = "v${version}";
-    sha256 = "1jhykilb81sp1srxk91222qglwdlr993ssvgfnl837nbcx6ws1hw";
+    sha256 = "0ivh6yxpswz730i33fwr4hj8nwdmdyw4n6p89x9sxmvjmd7ihkgm";
   };
 
   nativeBuildInputs = [
@@ -31,8 +33,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
+    awesomeversion
     backoff
-    packaging
+    cachetools
     yarl
   ];
 
@@ -49,7 +52,9 @@ buildPythonPackage rec {
       --replace "--cov" ""
   '';
 
-  pythonImportsCheck = [ "wled" ];
+  pythonImportsCheck = [
+    "wled"
+  ];
 
   meta = with lib; {
     description = "Asynchronous Python client for WLED";
diff --git a/pkgs/development/python-modules/wrapt/default.nix b/pkgs/development/python-modules/wrapt/default.nix
index d4bdac9e6f5..e567a8a672e 100644
--- a/pkgs/development/python-modules/wrapt/default.nix
+++ b/pkgs/development/python-modules/wrapt/default.nix
@@ -5,14 +5,14 @@
 
 buildPythonPackage rec {
   pname = "wrapt";
-  version = "1.13.1";
+  version = "1.13.3";
 
   # No tests in archive
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "909a80ce028821c7ad01bdcaa588126825931d177cdccd00b3545818d4a195ce";
+    sha256 = "1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/xattr/default.nix b/pkgs/development/python-modules/xattr/default.nix
index a39c3532f4b..cbec33483cc 100644
--- a/pkgs/development/python-modules/xattr/default.nix
+++ b/pkgs/development/python-modules/xattr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "xattr";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0bbca828e04ef2d484a6522ae7b3a7ccad5e43fa1c6f54d78e24bb870f49d44";
+    sha256 = "bf11c8c857215e3ef60b031e7807264f30af4348d7565a7e9b8dca70593753c7";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/pkgs/development/python-modules/xstatic-jquery-ui/default.nix b/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
index 8c872d0bbd1..f5509676d11 100644
--- a/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
+++ b/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-jquery-ui";
-  version = "1.12.1.1";
+  version = "1.13.0.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "d6ba48bb474420a8bcb2be02eef6ae96281ec24eff6befa54f04ebc9e4cc8910";
+    sha256 = "3697e5f0ef355b8f4a1c724221592683c2db031935cbb57b46224eef474bd294";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/youtube-search-python/default.nix b/pkgs/development/python-modules/youtube-search-python/default.nix
index 634ff5ec54e..ad23a6cc169 100644
--- a/pkgs/development/python-modules/youtube-search-python/default.nix
+++ b/pkgs/development/python-modules/youtube-search-python/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "youtube-search-python";
-  version = "1.5.1";
+  version = "1.5.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68c70e1b6a2ce5c2c0ee64ba9c63efc9ab6e6f8acb2f51e19d570b0287e61cc9";
+    sha256 = "33f0d58f4803b0b2badf860cd31fb83d3f7edecdd2c01dd09cd6511abbf0e6b9";
   };
 
   propagatedBuildInputs = [ httpx ];
diff --git a/pkgs/development/python-modules/zarr/default.nix b/pkgs/development/python-modules/zarr/default.nix
index 9e5b0582129..11c6f84850b 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.10.2";
+  version = "2.10.3";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c6ae914ab9215631bb95c09e76b9b9b4fffa70fec0c7bca26b68387d858ebe2";
+    sha256 = "76932665c2146ebdf15f6dba254f9e0030552fbfcf9322dea822bff96fbce693";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index 2d1a5880d0d..70e329cce9e 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.4.0";
+  version = "4.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b244904c5148067c3f1899d29a2c1a28faca747b143192c0f825e6bf3170a347";
+    sha256 = "1329846261cf6c552b05579f3cfad199b2d178510d0b4703eb5f7cdd6ebad01a";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/python-modules/zope_schema/default.nix b/pkgs/development/python-modules/zope_schema/default.nix
index 00defd16150..9472000f15d 100644
--- a/pkgs/development/python-modules/zope_schema/default.nix
+++ b/pkgs/development/python-modules/zope_schema/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "zope.schema";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9fa04d95e8e7e9056091eed9819da6e65dde68de39c2b93617d361d1eb8a7c0c";
+    sha256 = "2201aef8ad75ee5a881284d7a6acd384661d6dca7bde5e80a22839a77124595b";
   };
 
   propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ];
diff --git a/pkgs/development/python-modules/zope_testrunner/default.nix b/pkgs/development/python-modules/zope_testrunner/default.nix
index c3bc0d0bff4..2638d431478 100644
--- a/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "zope.testrunner";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "39a5ba631830703ea011383447135063db6d182794487dda9b8c1f515bb70b0f";
+    sha256 = "4869229fc909e4aa8e76665a718f90dc88f73858b32ca5fa3dea6840e9210fb4";
   };
 
   propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ];
diff --git a/pkgs/development/tools/boost-build/darwin-default-toolset.patch b/pkgs/development/tools/boost-build/darwin-default-toolset.patch
deleted file mode 100644
index ebe3f8d2e1e..00000000000
--- a/pkgs/development/tools/boost-build/darwin-default-toolset.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/build-system.jam b/src/build-system.jam
-index 60425c54..c6842217 100644
---- a/src/build-system.jam
-+++ b/src/build-system.jam
-@@ -644,7 +644,7 @@ local rule should-clean-project ( project )
-             }
-             else if [ os.name ] = MACOSX
-             {
--                default-toolset = darwin ;
-+                default-toolset = clang-darwin ;
-             }
-         }
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
index c6c66d4d212..044589a9664 100644
--- a/pkgs/development/tools/boost-build/default.nix
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -33,10 +33,11 @@ stdenv.mkDerivation {
     sourceRoot="$sourceRoot/tools/build"
   '';
 
-  patches = [
-    # Upstream defaults to gcc on darwin, but we use clang.
-    ./darwin-default-toolset.patch
-  ];
+  # Upstream defaults to gcc on darwin, but we use clang.
+  postPatch = ''
+    substituteInPlace src/build-system.jam \
+    --replace "default-toolset = darwin" "default-toolset = clang-darwin"
+  '';
 
   nativeBuildInputs = [
     bison
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index 9dabd7b3556..ec03e285603 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -15,7 +15,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
+  pname = "cmake${os useNcurses "-cursesUI"}${os useQt4 "-qt4UI"}";
+  inherit version;
 
   inherit majorVersion;
 
@@ -56,7 +57,7 @@ stdenv.mkDerivation rec {
     (concatMap (p: [ (p.dev or p) (p.out or p) ]) buildInputs);
 
   configureFlags = [
-    "--docdir=/share/doc/${name}"
+    "--docdir=/share/doc/${pname}-${version}"
     "--mandir=/share/man"
     "--system-libs"
     "--no-system-libarchive"
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 33dbc25d9bf..f74d0d46906 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+    "CXXFLAGS=-Wno-elaborated-enum-base"
     "--docdir=share/doc/${pname}${version}"
   ] ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup
   ++ lib.optional withQt5 "--qt-gui"
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 0c154079ff4..cc919ec07fa 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -6,7 +6,7 @@ rec {
     { version, nativeVersion, sha256, defaultJava ? jdk8 }:
 
     { lib, stdenv, fetchurl, makeWrapper, unzip, java ? defaultJava
-    , javaToolchains ? [ ] }:
+    , javaToolchains ? [ ], ncurses5, ncurses6 }:
 
     stdenv.mkDerivation rec {
       pname = "gradle";
@@ -52,18 +52,25 @@ rec {
 
       fixupPhase = let arch = if stdenv.is64bit then "amd64" else "i386";
       in ''
-        mkdir patching
-        pushd patching
-        jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-${nativeVersion}.jar
-        patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so
-        jar cf native-platform-linux-${arch}-${nativeVersion}.jar .
-        mv native-platform-linux-${arch}-${nativeVersion}.jar $out/lib/gradle/lib/
-        popd
+        for variant in "" "-ncurses5" "-ncurses6"; do
+          mkdir "patching$variant"
+          pushd "patching$variant"
+          jar xf $out/lib/gradle/lib/native-platform-linux-${arch}$variant-${nativeVersion}.jar
+          patchelf \
+            --set-rpath "${stdenv.cc.cc.lib}/lib64:${lib.makeLibraryPath [ stdenv.cc.cc ncurses5 ncurses6 ]}" \
+            net/rubygrapefruit/platform/linux-${arch}$variant/libnative-platform*.so
+          jar cf native-platform-linux-${arch}$variant-${nativeVersion}.jar .
+          mv native-platform-linux-${arch}$variant-${nativeVersion}.jar $out/lib/gradle/lib/
+          popd
+        done
 
         # The scanner doesn't pick up the runtime dependency in the jar.
         # Manually add a reference where it will be found.
         mkdir $out/nix-support
         echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
+        # Gradle will refuse to start without _both_ 5 and 6 versions of ncurses.
+        echo ${ncurses5} >> $out/nix-support/manual-runtime-dependencies
+        echo ${ncurses6} >> $out/nix-support/manual-runtime-dependencies
       '';
 
       meta = with lib; {
@@ -81,7 +88,7 @@ rec {
         downloadPage = "https://gradle.org/next-steps/?version=${version}";
         license = licenses.asl20;
         platforms = platforms.unix;
-        maintainers = with maintainers; [ lorenzleutgeb ];
+        maintainers = with maintainers; [ lorenzleutgeb liff ];
       };
     };
 
diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
index 7d8087ad134..015759c9d48 100644
--- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
@@ -14,7 +14,7 @@ ninjaBuildPhase() {
     )
 
     echoCmd 'build flags' "${flagsArray[@]}"
-    ninja "${flagsArray[@]}"
+    ninja "${flagsArray[@]}" | cat
 
     runHook postBuild
 }
@@ -33,7 +33,7 @@ ninjaInstallPhase() {
     )
 
     echoCmd 'install flags' "${flagsArray[@]}"
-    ninja "${flagsArray[@]}"
+    ninja "${flagsArray[@]}" | cat
 
     runHook postInstall
 }
@@ -67,7 +67,7 @@ ninjaCheckPhase() {
         )
 
         echoCmd 'check flags' "${flagsArray[@]}"
-        ninja "${flagsArray[@]}"
+        ninja "${flagsArray[@]}" | cat
     fi
 
     runHook postCheck
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 4547f745a98..89a5b487900 100644
--- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchurl, perl, autoconf }:
 
 stdenv.mkDerivation rec {
-  # When updating, beware of https://github.com/NixOS/nixpkgs/pull/131928#issuecomment-896614165
   pname = "automake";
-  version = "1.16.3";
+  version = "1.16.5";
 
   src = fetchurl {
     url = "mirror://gnu/automake/automake-${version}.tar.xz";
-    sha256 = "0fmz2fhmzcpacnprl5msphvaflwiy0hvpgmqlgfny72ddijzfazz";
+    sha256 = "0sdl32qxdy7m06iggmkkvf7j520rmmgbsjzbm7fgnxwxdp6mh7gh";
   };
 
   nativeBuildInputs = [ autoconf perl ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 62290548ec7..c173b96f6eb 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, targetPackages
 
 # Build time
-, fetchurl, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages
+, fetchurl, fetchpatch, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages
 
 # Run time
 , ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu, sourceHighlight
@@ -41,6 +41,13 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./debug-info-from-env.patch
+
+    # Pull upstream fix for gcc-12. Will be included in gdb-12.
+    (fetchpatch {
+      name = "gcc-12.patch";
+      url = "https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=e97436b1b789dcdb6ffb502263f4c86f8bc22996";
+      sha256 = "1mpgw6s9qgnwhwyg3hagc6vhqhvia0l1s8nr22bcahwqxi3wvzcw";
+    })
   ] ++ lib.optionals stdenv.isDarwin [
     ./darwin-target-match.patch
   ];
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index c1e283ece12..dcb4d2362c8 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.13";
+  version = "0.14.3";
 
   src = fetchurl {
     url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1v8px6g0zvhfxqa1inmdqfj4gc8dm70x7874hri4s48szjyd8zjc";
+    sha256 = "sha256-oBfsPSFSoZ/ZacDYez+LQ+MqZuT/q9yHZ6VgYrmuwnA=";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/pkgs/development/tools/parsing/antlr/4.9.nix b/pkgs/development/tools/parsing/antlr/4.9.nix
new file mode 100644
index 00000000000..efc478ecd98
--- /dev/null
+++ b/pkgs/development/tools/parsing/antlr/4.9.nix
@@ -0,0 +1,95 @@
+{ lib, stdenv, fetchurl, jre
+, fetchpatch, fetchFromGitHub, cmake, ninja, pkg-config, libuuid, utf8cpp, darwin }:
+
+let
+  version = "4.9.2";
+  source = fetchFromGitHub {
+    owner = "antlr";
+    repo = "antlr4";
+    rev = version;
+    sha256 = "0rpqgl2y22iiyg42y8jyiy2g7x421yf0q16cf17j76iai6y0bm5p";
+  };
+
+  runtime = {
+    cpp = stdenv.mkDerivation {
+      pname = "antlr-runtime-cpp";
+      inherit version;
+      src = source;
+
+      outputs = [ "out" "dev" "doc" ];
+
+      patches = [
+        (fetchpatch {
+          name = "use-utfcpp-from-system.patch";
+          url = "https://github.com/antlr/antlr4/commit/5a808b470e1314b63b0a921178040ccabb357945.patch";
+          sha256 = "0nq7iajy9inllcspyqpxskfg3k5s1fwm7ph75i8lfc25rl35k1w7";
+        })
+      ];
+
+      patchFlags = [ "-p3" ];
+
+      nativeBuildInputs = [ cmake ninja pkg-config ];
+      buildInputs = [ utf8cpp ]
+        ++ lib.optional stdenv.isLinux libuuid
+        ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation;
+
+      postUnpack = ''
+        export sourceRoot=$sourceRoot/runtime/Cpp
+      '';
+
+      meta = with lib; {
+        description = "C++ target for ANTLR 4";
+        homepage = "https://www.antlr.org/";
+        license = licenses.bsd3;
+        platforms = platforms.unix;
+      };
+    };
+  };
+
+  antlr = stdenv.mkDerivation {
+    pname = "antlr";
+    inherit version;
+
+    src = fetchurl {
+      url = "https://www.antlr.org/download/antlr-${version}-complete.jar";
+      sha256 = "1k9pw5gv2zhh06n1vys76kchlz4mz0vgv3iiba8w47b9fqa7n4dv";
+    };
+
+    dontUnpack = true;
+
+    installPhase = ''
+      mkdir -p "$out"/{share/java,bin}
+      cp "$src" "$out/share/java/antlr-${version}-complete.jar"
+
+      echo "#! ${stdenv.shell}" >> "$out/bin/antlr"
+      echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr"
+
+      echo "#! ${stdenv.shell}" >> "$out/bin/grun"
+      echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun"
+
+      chmod a+x "$out/bin/antlr" "$out/bin/grun"
+      ln -s "$out/bin/antlr"{,4}
+    '';
+
+    inherit jre;
+
+    passthru = {
+      inherit runtime;
+      jarLocation = "${antlr}/share/java/antlr-${version}-complete.jar";
+    };
+
+    meta = with lib; {
+      description = "Powerful parser generator";
+      longDescription = ''
+        ANTLR (ANother Tool for Language Recognition) is a powerful parser
+        generator for reading, processing, executing, or translating structured
+        text or binary files. It's widely used to build languages, tools, and
+        frameworks. From a grammar, ANTLR generates a parser that can build and
+        walk parse trees.
+      '';
+      homepage = "https://www.antlr.org/";
+      license = licenses.bsd3;
+      platforms = platforms.unix;
+    };
+  };
+in antlr
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index 0e0bde32b2f..31912481b49 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.18.1";
-    sha256 = "1vc9rypkgr5i5y946jnyr9jjpydxvm74p1s17rg2zayzvlddg89z";
+    version = "14.18.2";
+    sha256 = "02v8rjwm8492w91rfvxy369bm11wy3vlkl3dxcl3dkcb1zhrr2iy";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/misc/cups/0001-TargetConditionals.patch b/pkgs/misc/cups/0001-TargetConditionals.patch
new file mode 100644
index 00000000000..42cd4c051d4
--- /dev/null
+++ b/pkgs/misc/cups/0001-TargetConditionals.patch
@@ -0,0 +1,29 @@
+From 1204c841999808ba27267a0039777dcbccdcd6e3 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Sun, 27 Jun 2021 12:30:08 +0200
+Subject: [PATCH] TargetConditionals
+
+---
+ test/ippserver.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/test/ippserver.c b/test/ippserver.c
+index 38b304f..68ccab1 100644
+--- a/test/ippserver.c
++++ b/test/ippserver.c
+@@ -25,7 +25,11 @@
+  * Include necessary headers...
+  */
+ 
+-#include <config.h>			/* CUPS configuration header */
++#ifdef __APPLE__
++#  include <xcode/config.h>		/* CUPS configuration header macOS */
++#else
++#  include <config.h>			/* CUPS configuration header */
++#endif /* __APPLE__ */
+ #include <cups/cups.h>			/* Public API */
+ #include <cups/string-private.h>	/* CUPS string functions */
+ #include <cups/thread-private.h>	/* For multithreading functions */
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 1d467f0a534..bbada33054d 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "dev" "man" ];
 
+  patches = lib.optional (version == "2.2.6") ./0001-TargetConditionals.patch;
+
   postPatch = ''
     substituteInPlace cups/testfile.c \
       --replace 'cupsFileFind("cat", "/bin' 'cupsFileFind("cat", "${coreutils}/bin'
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch b/pkgs/os-specific/darwin/apple-source-releases/Libc/0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch
new file mode 100644
index 00000000000..2ba67734c54
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch
@@ -0,0 +1,47 @@
+From 187d0e8847d080790b22724352e51de50d214dd8 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Tue, 27 Jul 2021 15:12:14 +0200
+Subject: [PATCH] Define TARGET_OS_EMBEDDED in std{lib,io} if not defined
+
+Originally attempted including `TargetConditionals.h` but this had
+knock-on effects, for example, breaking the zlib build because of
+`TARGET_OS_MAC` getting defined.
+
+This should be the lowest impact solution and corresponds to the default
+behavior IIUC.
+---
+ include/stdio.h  | 3 +++
+ include/stdlib.h | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/include/stdio.h b/include/stdio.h
+index d0cf7a5..487496e 100644
+--- a/include/stdio.h
++++ b/include/stdio.h
+@@ -351,6 +351,9 @@ __END_DECLS
+ /* Additional functionality provided by:
+  * POSIX.2-1992 C Language Binding Option
+  */
++#ifndef TARGET_OS_EMBEDDED
++#  define TARGET_OS_EMBEDDED 0
++#endif
+ #if TARGET_OS_EMBEDDED
+ #define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg)
+ #else
+diff --git a/include/stdlib.h b/include/stdlib.h
+index c04d3a7..0b454ba 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -183,6 +183,9 @@ unsigned long long
+ #ifndef LIBC_ALIAS_SYSTEM
+ //End-Libc
+ 
++#ifndef TARGET_OS_EMBEDDED
++#  define TARGET_OS_EMBEDDED 0
++#endif
+ #if TARGET_OS_EMBEDDED
+ #define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg)
+ #else
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
index 9bec0b103c9..915d3a61f81 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
@@ -3,6 +3,10 @@
 appleDerivation' stdenvNoCC {
   nativeBuildInputs = [ ed unifdef ];
 
+  patches = [
+    ./0001-Define-TARGET_OS_EMBEDDED-in-std-lib-io-if-not-defin.patch
+  ];
+
   # TODO: asl.h actually comes from syslog project now
   installPhase = ''
     export SRCROOT=$PWD
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 66190b7b4e3..86c91e9b55c 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -63,20 +63,21 @@ appleDerivation' stdenv {
     cat <<EOF > $out/include/TargetConditionals.h
     #ifndef __TARGETCONDITIONALS__
     #define __TARGETCONDITIONALS__
-    #define TARGET_OS_MAC           1
-    #define TARGET_OS_OSX           1
-    #define TARGET_OS_WIN32         0
-    #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_OS_MAC               1
+    #define TARGET_OS_WIN32             0
+    #define TARGET_OS_UNIX              0
+    #define TARGET_OS_OSX               1
+    #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_OS_EMBEDDED          0
+    #define TARGET_OS_EMBEDDED_OTHER    0 /* Used in configd */
+    #define TARGET_IPHONE_SIMULATOR     TARGET_OS_SIMULATOR /* deprecated */
+    #define TARGET_OS_NANO              TARGET_OS_WATCH /* deprecated */
+    #define TARGET_OS_LINUX             0
 
     #define TARGET_CPU_PPC          0
     #define TARGET_CPU_PPC64        0
@@ -84,6 +85,7 @@ appleDerivation' stdenv {
     #define TARGET_CPU_X86          0
     #define TARGET_CPU_X86_64       1
     #define TARGET_CPU_ARM          0
+    #define TARGET_CPU_ARM64        0
     #define TARGET_CPU_MIPS         0
     #define TARGET_CPU_SPARC        0
     #define TARGET_CPU_ALPHA        0
diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/python3.patch b/pkgs/os-specific/darwin/apple-source-releases/xnu/python3.patch
index 10778406c8e..9f29376187f 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/xnu/python3.patch
+++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/python3.patch
@@ -18,7 +18,7 @@ index 73b2db4..d354ba0 100755
 -	m = id_name_pattern.match(line)
 -	if m:
 +        m = id_name_pattern.match(line)
-+    if m:
++        if m:
              code_table += [(int(m.group(1),base=16), m.group(2))]
  
  # emit typedef:
diff --git a/pkgs/os-specific/darwin/swift-corelibs/0001-Add-missing-TARGET_OS_-defines.patch b/pkgs/os-specific/darwin/swift-corelibs/0001-Add-missing-TARGET_OS_-defines.patch
new file mode 100644
index 00000000000..db17c517c72
--- /dev/null
+++ b/pkgs/os-specific/darwin/swift-corelibs/0001-Add-missing-TARGET_OS_-defines.patch
@@ -0,0 +1,30 @@
+From 549160574ee44656d50997b27ef83736e0848201 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Mon, 26 Apr 2021 20:51:05 +0200
+Subject: [PATCH] Add missing TARGET_OS_* defines
+
+---
+ .../Base.subproj/SwiftRuntime/TargetConditionals.h         | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/CoreFoundation/Base.subproj/SwiftRuntime/TargetConditionals.h b/CoreFoundation/Base.subproj/SwiftRuntime/TargetConditionals.h
+index 6d42b873..abf746c9 100644
+--- a/CoreFoundation/Base.subproj/SwiftRuntime/TargetConditionals.h
++++ b/CoreFoundation/Base.subproj/SwiftRuntime/TargetConditionals.h
+@@ -118,6 +118,13 @@
+ 
+ #define TARGET_OS_WIN32        TARGET_OS_WINDOWS
+ #define TARGET_OS_MAC          TARGET_OS_DARWIN
++#define TARGET_OS_OSX          TARGET_OS_DARWIN
++
++#define TARGET_OS_IPHONE       0
++#define TARGET_OS_WATCH        0
++#define TARGET_OS_TV           0
++#define TARGET_OS_EMBEDDED     0
++
+ 
+ #if __x86_64__
+ #define TARGET_CPU_PPC          0
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 560be0c31ab..7c48d695e11 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -11,7 +11,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "swift-corefoundation";
+  pname = "swift-corefoundation";
+  version = "unstable-2018-09-14";
 
   src = fetchFromGitHub {
     owner  = "apple";
@@ -23,6 +24,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ ninja python3 ];
   buildInputs = [ curl libxml2 objc4 ICU ];
 
+  patches = [ ./0001-Add-missing-TARGET_OS_-defines.patch ];
+
   postPatch = ''
     cd CoreFoundation
 
@@ -71,23 +74,12 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  # FIXME: Workaround for intermittent build failures of CFRuntime.c.
-  # Based on testing this issue seems to only occur with clang_7, so
-  # please remove this when updating the default llvm versions to 8 or
-  # later.
-  buildPhase = lib.optionalString true ''
-    for i in {1..512}; do
-        if ninja -j $NIX_BUILD_CORES; then
-            break
-        fi
-
-        echo >&2
-        echo "[$i/512] retrying build, workaround for #66811" >&2
-        echo "  With clang_7 the build of CFRuntime.c fails intermittently." >&2
-        echo "  See https://github.com/NixOS/nixpkgs/issues/66811 for more details." >&2
-        echo >&2
-        continue
-    done
+  buildPhase = ''
+    runHook preBuild
+
+    ninja -j $NIX_BUILD_CORES
+
+    runHook postBuild
   '';
 
   # TODO: their build system sorta kinda can do this, but it doesn't seem to work right now
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index a7f17e44950..9fd24eea6d9 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -1,6 +1,7 @@
 {
   lib, stdenv, buildPackages, fetchurl, fetchpatch,
   runCommand,
+  autoreconfHook,
   autoconf, automake, libtool,
   enablePython ? false, python ? null,
 }:
@@ -19,8 +20,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" "man" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = lib.optionals stdenv.hostPlatform.isMusl
-    [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = lib.optional enablePython python;
 
   configureFlags = [
@@ -44,8 +44,7 @@ stdenv.mkDerivation rec {
       url = "https://github.com/linux-audit/audit-userspace/commit/017e6c6ab95df55f34e339d2139def83e5dada1f.patch";
       sha256 = "100xa1rzkv0mvhjbfgpfm72f7c4p68syflvgc3xm6pxgrqqmfq8h";
     })
-  ]
-  ++ lib.optional stdenv.hostPlatform.isMusl [
+
     (
       let patch = fetchpatch {
             url = "https://github.com/linux-audit/audit-userspace/commit/d579a08bb1cde71f939c13ac6b2261052ae9f77e.patch";
@@ -60,6 +59,14 @@ stdenv.mkDerivation rec {
               '-* Copyright (c) 2007-09,2011-16 Red Hat Inc., Durham, North Carolina.'
         ''
     )
+
+    # upstream fix for linux-headers-5.15 which removed ipx.h
+    (fetchpatch {
+      name = "no-ipx.patch";
+      url = "https://github.com/linux-audit/audit-userspace/commit/6b09724c69d91668418ddb3af00da6db6755208c.patch";
+      sha256 = "0qjq41ridyamajz9v9nyplgq7f8nn3fxw375s9sa5a0igsrx9pm0";
+      excludes = [ "ChangeLog" ];
+    })
   ];
 
   prePatch = ''
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index be46f00a2cf..aa8e3f15aab 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.45";
+  version = "0.46";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
     rev = version;
-    sha256 = "sha256-W+IXubPuA/BQzD/LknCeJQgTXUH6I/rUrKBMeEzcBlw=";
+    sha256 = "sha256-Am1PNFFfSzII4Iaeq0wgfuVHSeMDjiDzYkNQWlnEHJY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index a7bc2ab7f61..3f725e3e5b2 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.19";
+  version = "1.20";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-sMET4ouZ33SZRnkqJBadVvIDYMCOi7pib6d1zt1EJ8k=";
+    sha256 = "sha256-GcqmMqrZSgvSrsY8FJbPynNWTzSi5A6kmyq+xJ+2i3Y=";
   };
 
   outputs = [ "out" "man" ]
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 27428b37284..3c7e899cba7 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -81,12 +81,12 @@ let
 in {
   inherit makeLinuxHeaders;
 
-  linuxHeaders = let version = "5.14"; in
+  linuxHeaders = let version = "5.15.5"; in
     makeLinuxHeaders {
       inherit version;
       src = fetchurl {
         url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-        sha256 = "sha256-fgaLXg0mpisQ5TILJdzldYjLvG94HAkEQhOMnJwycbI=";
+        sha256 = "sha256-6VZaMBUlrIHBQs64MvkFPdVoXhB9vPdT0N5MWLyYhR8=";
       };
       patches = [
          ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 9ddb4ef3800..4501ff2ad61 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -473,6 +473,11 @@ let
 
       # Detect buffer overflows on the stack
       CC_STACKPROTECTOR_REGULAR = {optional = true; tristate = whenOlder "4.18" "y";};
+    } // optionalAttrs stdenv.hostPlatform.isx86 {
+      # Enable Intel SGX
+      X86_SGX     = whenAtLeast "5.11" yes;
+      # Allow KVM guests to load SGX enclaves
+      X86_SGX_KVM = whenAtLeast "5.13" yes;
     };
 
     microcode = {
@@ -877,6 +882,12 @@ let
 
       SCHED_CORE = whenAtLeast "5.14" yes;
 
+      ASHMEM =                 { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID =                { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDER_IPC =     { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDERFS =       { optional = true; tristate = whenAtLeast "5.0" "y";};
+      ANDROID_BINDER_DEVICES = { optional = true; freeform = whenAtLeast "5.0" "binder,hwbinder,vndbinder";};
+
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
       # Enable CPU/memory hotplug support
       # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 2cb263854ab..a1a1906ba9c 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
+  systems = [ "/run/booted-system/kernel-modules" "/run/current-system/kernel-modules" "" ];
   modulesDirs = lib.concatMapStringsSep ":" (x: "${x}/lib/modules") systems;
 
 in stdenv.mkDerivation rec {
@@ -52,5 +52,6 @@ in stdenv.mkDerivation rec {
     changelog = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/plain/NEWS?h=v${version}";
     license = with licenses; [ lgpl21Plus gpl2Plus ]; # GPLv2+ for tools
     platforms = platforms.unix;
+    maintainers = with maintainers; [ artturin ];
   };
 }
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 1e0a2945162..fd697fed776 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, pcre, pkg-config, libsepol
-, enablePython ? true, swig ? null, python3 ? null
+{ lib, stdenv, fetchurl, fetchpatch, buildPackages, pcre, pkg-config, libsepol
+, enablePython ? !stdenv.hostPlatform.isStatic, swig ? null, python3 ? null
 , fts
 }:
 
@@ -19,7 +19,28 @@ stdenv.mkDerivation rec {
     sha256 = "0mvh793g7fg6wb6zqhkdyrv80x6k84ypqwi8ii89c91xcckyxzdc";
   };
 
-  nativeBuildInputs = [ pkg-config ] ++ optionals enablePython [ swig python3 ];
+  patches = [
+    # Make it possible to disable shared builds (for pkgsStatic).
+    #
+    # We can't use fetchpatch because it processes includes/excludes
+    # /after/ stripping the prefix, which wouldn't work here because
+    # there would be no way to distinguish between
+    # e.g. libselinux/src/Makefile and libsepol/src/Makefile.
+    #
+    # This is a static email, so we shouldn't have to worry about
+    # normalizing the patch.
+    (fetchurl {
+      url = "https://lore.kernel.org/selinux/20211113141616.361640-1-hi@alyssa.is/raw";
+      sha256 = "16a2s2ji9049892i15yyqgp4r20hi1hij4c1s4s8law9jsx65b3n";
+      postFetch = ''
+        mv "$out" $TMPDIR/patch
+        ${buildPackages.patchutils_0_3_3}/bin/filterdiff \
+            -i 'a/libselinux/*' --strip 1 <$TMPDIR/patch >"$out"
+      '';
+    })
+  ];
+
+  nativeBuildInputs = [ pkg-config python3 ] ++ optionals enablePython [ swig ];
   buildInputs = [ libsepol pcre fts ] ++ optionals enablePython [ python3 ];
 
   # drop fortify here since package uses it by default, leading to compile error:
@@ -40,6 +61,8 @@ stdenv.mkDerivation rec {
 
     "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a"
     "ARCH=${stdenv.hostPlatform.linuxArch}"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    "DISABLE_SHARED=y"
   ] ++ optionals enablePython [
     "PYTHON=${python3.pythonForBuild.interpreter}"
     "PYTHONLIBDIR=$(py)/${python3.sitePackages}"
diff --git a/pkgs/os-specific/linux/lvm2/2_02.nix b/pkgs/os-specific/linux/lvm2/2_02.nix
index 3566a01178b..56ab613afd2 100644
--- a/pkgs/os-specific/linux/lvm2/2_02.nix
+++ b/pkgs/os-specific/linux/lvm2/2_02.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
   version = "2.02.187";
-  sha256Hash = "sha256-Dg1SGoY6XbJEDy4edie6grcCc65KsLvhMIUdsNWOWvE=";
+  sha256 = "sha256-Dg1SGoY6XbJEDy4edie6grcCc65KsLvhMIUdsNWOWvE=";
 }
diff --git a/pkgs/os-specific/linux/lvm2/2_03.nix b/pkgs/os-specific/linux/lvm2/2_03.nix
index d6456b46e51..555ff6b0dc1 100644
--- a/pkgs/os-specific/linux/lvm2/2_03.nix
+++ b/pkgs/os-specific/linux/lvm2/2_03.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "2.03.12";
-  sha256Hash = "1shczwfd0888dchjiaqzd48ampm6f8y0ngsqd99fy4nxlbr5q1vn";
+  version = "2.03.14";
+  sha256 = "0p5077h3z7mrr0b49ikmhlhrs4v4qb530raypk3y72ja125bqqsa";
 }
diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix
index 2d09c48073d..2c8014d700a 100644
--- a/pkgs/os-specific/linux/lvm2/common.nix
+++ b/pkgs/os-specific/linux/lvm2/common.nix
@@ -1,4 +1,4 @@
-{ version, sha256Hash }:
+{ version, sha256 }:
 
 { lib, stdenv
 , fetchpatch
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${version}.tgz";
-    sha256 = sha256Hash;
+    inherit sha256;
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -58,8 +58,8 @@ stdenv.mkDerivation rec {
     substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
       --replace /usr/bin/udevadm /run/current-system/systemd/bin/udevadm
     # https://github.com/lvmteam/lvm2/issues/36
-    substituteInPlace udev/69-dm-lvm-metad.rules.in \
-      --replace "(BINDIR)/systemd-run" /run/current-system/systemd/bin/systemd-run
+    substituteInPlace udev/69-dm-lvm.rules.in \
+      --replace "/usr/bin/systemd-run" /run/current-system/systemd/bin/systemd-run
 
     substituteInPlace make.tmpl.in --replace "@systemdsystemunitdir@" "$out/lib/systemd/system"
   '' + lib.optionalString (lib.versionAtLeast version "2.03") ''
diff --git a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
index ac95dc745fe..a87c59558e0 100644
--- a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
+++ b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -1,7 +1,7 @@
-From d4ea219a35a09fe02bc9e47e8530644cb4fc4146 Mon Sep 17 00:00:00 2001
+From 93b2d29de784c68d1b4d70d7f214b19432aec6a8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:46:30 +0100
-Subject: [PATCH 01/21] Start device units for uninitialised encrypted devices
+Subject: [PATCH 01/19] Start device units for uninitialised encrypted devices
 
 This is necessary because the NixOS service that initialises the
 filesystem depends on the appearance of the device unit.  Also, this
@@ -28,5 +28,5 @@ index 25b8a590a6..d18999ea87 100644
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root"
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks"
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
index dd351c00100..e9fedd239f4 100644
--- a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
+++ b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
@@ -1,7 +1,7 @@
-From 67abd8f22f70d9348bc9d8e0e93dde4d325627ba Mon Sep 17 00:00:00 2001
+From 41edb381df0326e216b3c569d2cd5764591267d9 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 12 Apr 2013 13:16:57 +0200
-Subject: [PATCH 02/21] Don't try to unmount /nix or /nix/store
+Subject: [PATCH 02/19] Don't try to unmount /nix or /nix/store
 
 They'll still be remounted read-only.
 
@@ -25,10 +25,10 @@ index f683f05981..5a04c2c2a6 100644
                          "/etc"))
                  return true;
 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c
-index c2a26242c0..9936398f32 100644
+index 1f945b7875..6df9d383ba 100644
 --- a/src/shutdown/umount.c
 +++ b/src/shutdown/umount.c
-@@ -496,6 +496,8 @@ static int delete_md(MountPoint *m) {
+@@ -508,6 +508,8 @@ static int delete_md(MountPoint *m) {
  
  static bool nonunmountable_path(const char *path) {
          return path_equal(path, "/")
@@ -38,5 +38,5 @@ index c2a26242c0..9936398f32 100644
                  || path_equal(path, "/usr")
  #endif
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
index 2dd3d87f6ed..217629f7d6a 100644
--- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
+++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
@@ -1,7 +1,7 @@
-From 37c9471f59bd57223014a4a645b5f96a71d78787 Mon Sep 17 00:00:00 2001
+From 43620479f6bfbbc4c3eed28947e0676c817acb7c Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Wed, 16 Apr 2014 10:59:28 +0200
-Subject: [PATCH 03/21] Fix NixOS containers
+Subject: [PATCH 03/19] Fix NixOS containers
 
 In NixOS containers, the init script is bind-mounted into the
 container, so checking early whether it exists will fail.
@@ -30,5 +30,5 @@ index 575b9da447..438ca294db 100644
  
          } else {
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
index 54d9ff93b43..f7b768af515 100644
--- a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
+++ b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
@@ -1,7 +1,7 @@
-From 987d6f94dac8e1a75615fd9ddcfb0eb1c2c4c349 Mon Sep 17 00:00:00 2001
+From a08ed6697974d7f7dabe60d42bbc9e31a10f7e23 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Thu, 1 May 2014 14:10:10 +0200
-Subject: [PATCH 04/21] Look for fsck in the right place
+Subject: [PATCH 04/19] Look for fsck in the right place
 
 ---
  src/fsck/fsck.c | 2 +-
@@ -21,5 +21,5 @@ index cd7adfaeb9..68cebdd158 100644
                  cmdline[i++] = "-T";
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
index ee878b410f0..7ebf07d0a82 100644
--- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
+++ b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
@@ -1,7 +1,7 @@
-From da4f855044b2babe052ce303cca1de736cf952cd Mon Sep 17 00:00:00 2001
+From ddcfae6de8c460903c5db8c536ffeb5771e976f8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 19 Dec 2014 14:46:17 +0100
-Subject: [PATCH 05/21] Add some NixOS-specific unit directories
+Subject: [PATCH 05/19] Add some NixOS-specific unit directories
 
 Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for
 units provided by packages installed into the default profile via
@@ -122,5 +122,5 @@ index fc0f8c34fa..162432e77f 100644
  
  systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
index 482eeacb021..0c09107c5ef 100644
--- a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
+++ b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
@@ -1,7 +1,7 @@
-From c06abdb631527f56a626b739340d1b275349612c Mon Sep 17 00:00:00 2001
+From b39b8871bcaa07280d6b0cf2226b1a3be31232b8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Mon, 11 May 2015 15:39:38 +0200
-Subject: [PATCH 06/21] Get rid of a useless message in user sessions
+Subject: [PATCH 06/19] Get rid of a useless message in user sessions
 
 Namely lots of variants of
 
@@ -27,5 +27,5 @@ index 34891a8754..b9b4789720 100644
                  /* If stopping a unit fails continuously we might enter a stop loop here, hence stop acting on the
                   * service being unnecessary after a while. */
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
index 22e4c74d08d..d7649b5e44a 100644
--- a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
+++ b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
@@ -1,7 +1,7 @@
-From 207c69466cdd164c42ed1901deb06f57b12f4363 Mon Sep 17 00:00:00 2001
+From 566208aea81057789218b959f4d0e898eec54fc9 Mon Sep 17 00:00:00 2001
 From: Gabriel Ebner <gebner@gebner.org>
 Date: Sun, 6 Dec 2015 14:26:36 +0100
-Subject: [PATCH 07/21] hostnamed, localed, timedated: disable methods that
+Subject: [PATCH 07/19] hostnamed, localed, timedated: disable methods that
  change system settings.
 
 ---
@@ -104,5 +104,5 @@ index 66b454269d..0a8fe25d0f 100644
          if (r < 0)
                  return r;
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
index e5a0bf7d97f..f938b553c9f 100644
--- a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
@@ -1,7 +1,7 @@
-From 3ca3855259c3015615983587063fa159cfa7e93c Mon Sep 17 00:00:00 2001
+From 3b9983969de2a86929768f6362ed41c20dd13bd3 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 7 Jul 2016 02:47:13 +0300
-Subject: [PATCH 08/21] Fix hwdb paths
+Subject: [PATCH 08/19] Fix hwdb paths
 
 Patch by vcunat.
 ---
@@ -24,5 +24,5 @@ index 5ddc2211e6..ee621eec46 100644
 +        "/etc/udev/hwdb.bin\0"
 +
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
index 9e22ea719e3..87cf1afc7d2 100644
--- a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
+++ b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
@@ -1,7 +1,7 @@
-From 717226ad0dc37ceb6c667c1f56396848978b6e83 Mon Sep 17 00:00:00 2001
+From b5966b6abb9696798618367cab33d1fed317734f Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Tue, 11 Oct 2016 13:12:08 +0300
-Subject: [PATCH 09/21] Change /usr/share/zoneinfo to /etc/zoneinfo
+Subject: [PATCH 09/19] Change /usr/share/zoneinfo to /etc/zoneinfo
 
 NixOS uses this path.
 ---
@@ -137,5 +137,5 @@ index 0a8fe25d0f..2f02b9a520 100644
                          return -ENOMEM;
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
index ce0ad7e4ddc..6e36bbdc340 100644
--- a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
+++ b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
@@ -1,7 +1,7 @@
-From 75d12cf65073458f091899d673c613dfc43f60c0 Mon Sep 17 00:00:00 2001
+From f4e9304560ad42eeb8d42be583cc55eb2e5b4bb1 Mon Sep 17 00:00:00 2001
 From: Imuli <i@imu.li>
 Date: Wed, 19 Oct 2016 08:46:47 -0400
-Subject: [PATCH 10/21] localectl: use /etc/X11/xkb for list-x11-*
+Subject: [PATCH 10/19] localectl: use /etc/X11/xkb for list-x11-*
 
 NixOS has an option to link the xkb data files to /etc/X11, but not to
 /usr/share/X11.
@@ -23,5 +23,5 @@ index 548ac8eb2c..5e372f1566 100644
                  return log_error_errno(errno, "Failed to open keyboard mapping list. %m");
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
index a03c5a14ad8..5aa22d98895 100644
--- a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
+++ b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
@@ -1,17 +1,17 @@
-From bce75eb4cdeb0b86df6b0a577e886c49a88303f6 Mon Sep 17 00:00:00 2001
+From 43a363f30b6012d600cfb62a3851c4ac7af4d1d5 Mon Sep 17 00:00:00 2001
 From: Franz Pletz <fpletz@fnordicwalking.de>
 Date: Sun, 11 Feb 2018 04:37:44 +0100
-Subject: [PATCH 11/21] build: don't create statedir and don't touch prefixdir
+Subject: [PATCH 11/19] build: don't create statedir and don't touch prefixdir
 
 ---
  meson.build | 3 ---
  1 file changed, 3 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index b5a51b6d0d..99b071542c 100644
+index 5bdfd9753d..5bf6afc7b7 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -3540,9 +3540,6 @@ install_data('LICENSE.GPL2',
+@@ -3539,9 +3539,6 @@ install_data('LICENSE.GPL2',
               'docs/GVARIANT-SERIALIZATION.md',
               install_dir : docdir)
  
@@ -22,5 +22,5 @@ index b5a51b6d0d..99b071542c 100644
  
  # Ensure that changes to the docs/ directory do not break the
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
index 0576f7a62f2..a2bdfcf8ec3 100644
--- a/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
+++ b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
@@ -1,7 +1,7 @@
-From ecdf0c5d9f88f526521f093cc9ee85f43efab4b7 Mon Sep 17 00:00:00 2001
+From 7ea935a5ac4f31106ce9347227d4eb59b77b02cd Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Fri, 2 Nov 2018 21:15:42 +0100
-Subject: [PATCH 12/21] inherit systemd environment when calling generators.
+Subject: [PATCH 12/19] inherit systemd environment when calling generators.
 
 Systemd generators need access to the environment configured in
 stage-2-init.sh since it schedules fsck and mkfs executions based on
@@ -40,5 +40,5 @@ index b9b4789720..79239afe4a 100644
  
  finish:
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
index a424cf1061c..20372a5dbad 100644
--- a/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
@@ -1,7 +1,7 @@
-From 39969a1b01d6c223a21c770093209b7f4047aaa4 Mon Sep 17 00:00:00 2001
+From eb93778af78a127e8e20d6ed7fd9f91fd22dc7c9 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Thu, 9 May 2019 11:15:22 +0200
-Subject: [PATCH 13/21] add rootprefix to lookup dir paths
+Subject: [PATCH 13/19] add rootprefix to lookup dir paths
 
 systemd does not longer use the UDEVLIBEXEC directory as root for
 discovery default udev rules. By adding `$out/lib` to the lookup paths
@@ -34,5 +34,5 @@ index 2e60abb4f1..732ec51d36 100644
  #define CONF_PATHS(n)                           \
          CONF_PATHS_USR(n)                       \
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
index 5610d4d3ecc..a22566eb4cc 100644
--- a/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
+++ b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
@@ -1,7 +1,7 @@
-From e7c960789b0ca97b24a66e9eeaa56ea645d9c66b Mon Sep 17 00:00:00 2001
+From 1d623def80a3532ac1445499c9d4673e21ae8195 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:45:55 +0300
-Subject: [PATCH 14/21] systemd-shutdown: execute scripts in
+Subject: [PATCH 14/19] systemd-shutdown: execute scripts in
  /etc/systemd/system-shutdown
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
@@ -23,5 +23,5 @@ index a98cfc4d8a..b0b34edda7 100644
          /* The log target defaults to console, but the original systemd process will pass its log target in through a
           * command line argument, which will override this default. Also, ensure we'll never log to the journal or
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
index 11848a623a3..1a21d1005ee 100644
--- a/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
+++ b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
@@ -1,7 +1,7 @@
-From 6124720aa2b9dbc07f2fb898f0db150a44a86041 Mon Sep 17 00:00:00 2001
+From 5a96c4a98be971d84a12ae04e42bc3cb889d5191 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:46:58 +0300
-Subject: [PATCH 15/21] systemd-sleep: execute scripts in
+Subject: [PATCH 15/19] systemd-sleep: execute scripts in
  /etc/systemd/system-sleep
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
@@ -22,5 +22,5 @@ index a3aeb24633..0ed6a34d79 100644
          };
  
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
index 156195d9a90..12624cb5548 100644
--- a/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
+++ b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
@@ -1,27 +1,32 @@
-From bee1d855d4fb7f2d6f6b9beb1dfd14b1dea31887 Mon Sep 17 00:00:00 2001
+From 775a2a8940c07f4af33a2a11bfa17e0257b427cb Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sat, 7 Mar 2020 22:40:27 +0100
-Subject: [PATCH 16/21] kmod-static-nodes.service: Update ConditionFileNotEmpty
+Subject: [PATCH 16/19] kmod-static-nodes.service: Update ConditionFileNotEmpty
 
-On NixOS, kernel modules of the currently booted systems are located at
-/run/booted-system/kernel-modules/lib/modules/%v/, not /lib/modules/%v/.
+kmod loads modules from not only /lib/modules but also from
+/run/booted-system/kernel-modules/lib/modules and
+/run/current-system/kernel-modules/lib/module
+
+Co-authored-by: Arian van Putten <arian.vanputten@gmail.com>
 ---
- units/kmod-static-nodes.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ units/kmod-static-nodes.service.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
-index 777e82d16b..b6abc2bba0 100644
+index 777e82d16b..9a5e05a1cc 100644
 --- a/units/kmod-static-nodes.service.in
 +++ b/units/kmod-static-nodes.service.in
-@@ -12,7 +12,7 @@ Description=Create List of Static Device Nodes
+@@ -12,7 +12,9 @@ Description=Create List of Static Device Nodes
  DefaultDependencies=no
  Before=sysinit.target systemd-tmpfiles-setup-dev.service
  ConditionCapability=CAP_SYS_MODULE
 -ConditionFileNotEmpty=/lib/modules/%v/modules.devname
-+ConditionFileNotEmpty=/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=|/run/current-system/kernel-modules/lib/modules/%v/modules.devname
  
  [Service]
  Type=oneshot
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
index 1f21b628e92..52b74284fe2 100644
--- a/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
+++ b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
@@ -1,7 +1,7 @@
-From 62198599bbc559eeb8e2a3caebce7b9135085270 Mon Sep 17 00:00:00 2001
+From 6ddb2011b379f3232374327517af874b68c434b5 Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sun, 8 Mar 2020 01:05:54 +0100
-Subject: [PATCH 17/21] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
+Subject: [PATCH 17/19] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
 
 This will be the $PATH used to lookup ExecStart= etc. options, which
 systemd itself uses extensively.
@@ -29,5 +29,5 @@ index 26e7362d1f..a8f8a863ec 100644
  #if HAVE_SPLIT_USR
  #  define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch b/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
index 344b8b3952f..58eb7f96e64 100644
--- a/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
+++ b/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
@@ -1,7 +1,7 @@
-From 7654964344ba083529cb232ab229db7c0888f782 Mon Sep 17 00:00:00 2001
+From 50f2ada6cbfafa75b628410e8834f29581854e6f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
 Date: Sun, 6 Dec 2020 08:34:19 +0100
-Subject: [PATCH 18/21] pkg-config: derive prefix from --prefix
+Subject: [PATCH 18/19] pkg-config: derive prefix from --prefix
 
 Point prefix to the one configured, instead of `/usr` `systemd` has limited
 support for making the pkgconfig prefix overridable, and interpolates those
@@ -29,5 +29,5 @@ index 162432e77f..2fc20daf03 100644
  rootprefix=${root_prefix}
  sysconf_dir={{SYSCONF_DIR}}
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch b/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
index 4f950650d32..54e5c32aeb4 100644
--- a/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
+++ b/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
@@ -1,7 +1,7 @@
-From 4e9b4aa87d299be08cffc77a86d6f473a7a4109a Mon Sep 17 00:00:00 2001
+From 2ab388cf0be320879e668a6206cb15d002b55f98 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Wed, 18 Aug 2021 19:10:08 +0200
-Subject: [PATCH 19/21] core: handle lookup paths being symlinks
+Subject: [PATCH 19/19] core: handle lookup paths being symlinks
 
 With a recent change paths leaving the statically known lookup paths
 would be treated differently then those that remained within those. That
@@ -76,5 +76,5 @@ index 0d58b1c4fe..7314f1245f 100644
                                          log_debug("%s: linked unit file: %s → %s",
                                                    __func__, filename, simplified);
 -- 
-2.33.0
+2.33.1
 
diff --git a/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch b/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch
deleted file mode 100644
index 5c82cdbd6fa..00000000000
--- a/pkgs/os-specific/linux/systemd/0020-sd-boot-Unify-error-handling.patch
+++ /dev/null
@@ -1,401 +0,0 @@
-From 3cf1b5fb6d1dc342e836cf0990df3170d2e9db49 Mon Sep 17 00:00:00 2001
-From: Jan Janssen <medhefgo@web.de>
-Date: Wed, 11 Aug 2021 14:59:46 +0200
-Subject: [PATCH 20/21] sd-boot: Unify error handling
-
-log_error_stall() and log_error_status_stall() will ensure the user has
-a chance to catch an error message by stalling and also forcing a
-lightred/black color on it. Also, convert several Print() calls to it
-since they are actually error messages.
-
-(cherry picked from commit 8aba0eec499b762657f528988c2f093ac490620d)
----
- src/boot/efi/boot.c        | 62 ++++++++++----------------------
- src/boot/efi/random-seed.c | 73 +++++++++++++-------------------------
- src/boot/efi/stub.c        | 24 ++++---------
- src/boot/efi/util.c        | 17 +++++++--
- src/boot/efi/util.h        |  9 +++++
- 5 files changed, 75 insertions(+), 110 deletions(-)
-
-diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index 13940a6df7..54d704f0d1 100644
---- a/src/boot/efi/boot.c
-+++ b/src/boot/efi/boot.c
-@@ -527,7 +527,7 @@ static BOOLEAN menu_run(
-                 err = console_set_mode(&config->console_mode, config->console_mode_change);
-                 if (EFI_ERROR(err)) {
-                         uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
--                        Print(L"Error switching console mode to %ld: %r.\r", (UINT64)config->console_mode, err);
-+                        log_error_stall(L"Error switching console mode to %lu: %r", (UINT64)config->console_mode, err);
-                 }
-         } else
-                 uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
-@@ -1221,8 +1221,7 @@ static VOID config_entry_bump_counters(
-                         break;
- 
-                 if (r != EFI_BUFFER_TOO_SMALL || file_info_size * 2 < file_info_size) {
--                        Print(L"\nFailed to get file info for '%s': %r\n", old_path, r);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Failed to get file info for '%s': %r", old_path, r);
-                         return;
-                 }
- 
-@@ -1234,8 +1233,7 @@ static VOID config_entry_bump_counters(
-         StrCpy(file_info->FileName, entry->next_name);
-         r = uefi_call_wrapper(handle->SetInfo, 4, handle, &EfiFileInfoGuid, file_info_size, file_info);
-         if (EFI_ERROR(r)) {
--                Print(L"\nFailed to rename '%s' to '%s', ignoring: %r\n", old_path, entry->next_name, r);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                log_error_stall(L"Failed to rename '%s' to '%s', ignoring: %r", old_path, entry->next_name, r);
-                 return;
-         }
- 
-@@ -2165,18 +2163,12 @@ static EFI_STATUS image_start(
-         EFI_STATUS err;
- 
-         path = FileDevicePath(entry->device, entry->loader);
--        if (!path) {
--                Print(L"Error getting device path.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (!path)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Error getting device path.");
- 
-         err = uefi_call_wrapper(BS->LoadImage, 6, FALSE, parent_image, path, NULL, 0, &image);
--        if (EFI_ERROR(err)) {
--                Print(L"Error loading %s: %r", entry->loader, err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error loading %s: %r", entry->loader, err);
- 
-         if (config->options_edit)
-                 options = config->options_edit;
-@@ -2190,8 +2182,7 @@ static EFI_STATUS image_start(
-                 err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                         parent_image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-                 if (EFI_ERROR(err)) {
--                        Print(L"Error getting LoadedImageProtocol handle: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Error getting LoadedImageProtocol handle: %r", err);
-                         goto out_unload;
-                 }
-                 loaded_image->LoadOptions = options;
-@@ -2202,10 +2193,8 @@ static EFI_STATUS image_start(
-                 err = tpm_log_event(SD_TPM_PCR,
-                                     (EFI_PHYSICAL_ADDRESS) (UINTN) loaded_image->LoadOptions,
-                                     loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
--                if (EFI_ERROR(err)) {
--                        Print(L"Unable to add image options measurement: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
--                }
-+                if (EFI_ERROR(err))
-+                        log_error_stall(L"Unable to add image options measurement: %r", err);
- #endif
-         }
- 
-@@ -2231,9 +2220,7 @@ static EFI_STATUS reboot_into_firmware(VOID) {
-                 return err;
- 
-         err = uefi_call_wrapper(RT->ResetSystem, 4, EfiResetCold, EFI_SUCCESS, 0, NULL);
--        Print(L"Error calling ResetSystem: %r", err);
--        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--        return err;
-+        return log_error_status_stall(err, L"Error calling ResetSystem: %r", err);
- }
- 
- static VOID config_free(Config *config) {
-@@ -2305,30 +2292,21 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- 
-         err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                 image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--        if (EFI_ERROR(err)) {
--                Print(L"Error getting a LoadedImageProtocol handle: %r", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error getting a LoadedImageProtocol handle: %r", err);
- 
-         /* export the device path this image is started from */
-         if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS)
-                 efivar_set(LOADER_GUID, L"LoaderDevicePartUUID", uuid, 0);
- 
-         root_dir = LibOpenRoot(loaded_image->DeviceHandle);
--        if (!root_dir) {
--                Print(L"Unable to open root directory.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return EFI_LOAD_ERROR;
--        }
-+        if (!root_dir)
-+                return log_error_status_stall(EFI_LOAD_ERROR, L"Unable to open root directory.", EFI_LOAD_ERROR);
- 
-         if (secure_boot_enabled() && shim_loaded()) {
-                 err = security_policy_install();
--                if (EFI_ERROR(err)) {
--                        Print(L"Error installing security policy: %r ", err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                        return err;
--                }
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error installing security policy: %r", err);
-         }
- 
-         /* the filesystem path to this image, to prevent adding ourselves to the menu */
-@@ -2367,8 +2345,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-         }
- 
-         if (config.entry_count == 0) {
--                Print(L"No loader found. Configuration files in \\loader\\entries\\*.conf are needed.");
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                log_error_stall(L"No loader found. Configuration files in \\loader\\entries\\*.conf are needed.");
-                 goto out;
-         }
- 
-@@ -2440,8 +2417,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                 err = image_start(image, &config, entry);
-                 if (EFI_ERROR(err)) {
-                         graphics_mode(FALSE);
--                        Print(L"\nFailed to execute %s (%s): %r\n", entry->title, entry->loader, err);
--                        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+                        log_error_stall(L"Failed to execute %s (%s): %r", entry->title, entry->loader, err);
-                         goto out;
-                 }
- 
-diff --git a/src/boot/efi/random-seed.c b/src/boot/efi/random-seed.c
-index 3e179851b0..939daf3e41 100644
---- a/src/boot/efi/random-seed.c
-+++ b/src/boot/efi/random-seed.c
-@@ -35,10 +35,8 @@ static EFI_STATUS acquire_rng(UINTN size, VOID **ret) {
-                 return log_oom();
- 
-         err = uefi_call_wrapper(rng->GetRNG, 3, rng, NULL, size, data);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to acquire RNG data: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to acquire RNG data: %r", err);
- 
-         *ret = TAKE_PTR(data);
-         return EFI_SUCCESS;
-@@ -149,14 +147,12 @@ static EFI_STATUS acquire_system_token(VOID **ret, UINTN *ret_size) {
-         err = efivar_get_raw(LOADER_GUID, L"LoaderSystemToken", &data, &size);
-         if (EFI_ERROR(err)) {
-                 if (err != EFI_NOT_FOUND)
--                        Print(L"Failed to read LoaderSystemToken EFI variable: %r", err);
-+                        log_error_stall(L"Failed to read LoaderSystemToken EFI variable: %r", err);
-                 return err;
-         }
- 
--        if (size <= 0) {
--                Print(L"System token too short, ignoring.");
--                return EFI_NOT_FOUND;
--        }
-+        if (size <= 0)
-+                return log_error_status_stall(EFI_NOT_FOUND, L"System token too short, ignoring.");
- 
-         *ret = TAKE_PTR(data);
-         *ret_size = size;
-@@ -209,8 +205,7 @@ static VOID validate_sha256(void) {
-                 sha256_finish_ctx(&hash, result);
- 
-                 if (CompareMem(result, array[i].hash, HASH_VALUE_SIZE) != 0) {
--                        Print(L"SHA256 failed validation.\n");
--                        uefi_call_wrapper(BS->Stall, 1, 120 * 1000 * 1000);
-+                        log_error_stall(L"SHA256 failed validation.");
-                         return;
-                 }
-         }
-@@ -246,7 +241,7 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-         err = uefi_call_wrapper(root_dir->Open, 5, root_dir, &handle, (CHAR16*) L"\\loader\\random-seed", EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE, 0ULL);
-         if (EFI_ERROR(err)) {
-                 if (err != EFI_NOT_FOUND && err != EFI_WRITE_PROTECTED)
--                        Print(L"Failed to open random seed file: %r\n", err);
-+                        log_error_stall(L"Failed to open random seed file: %r", err);
-                 return err;
-         }
- 
-@@ -255,15 +250,11 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-                 return log_oom();
- 
-         size = info->FileSize;
--        if (size < RANDOM_MAX_SIZE_MIN) {
--                Print(L"Random seed file is too short?\n");
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (size < RANDOM_MAX_SIZE_MIN)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Random seed file is too short.");
- 
--        if (size > RANDOM_MAX_SIZE_MAX) {
--                Print(L"Random seed file is too large?\n");
--                return EFI_INVALID_PARAMETER;
--        }
-+        if (size > RANDOM_MAX_SIZE_MAX)
-+                return log_error_status_stall(EFI_INVALID_PARAMETER, L"Random seed file is too large.");
- 
-         seed = AllocatePool(size);
-         if (!seed)
-@@ -271,20 +262,14 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
- 
-         rsize = size;
-         err = uefi_call_wrapper(handle->Read, 3, handle, &rsize, seed);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to read random seed file: %r\n", err);
--                return err;
--        }
--        if (rsize != size) {
--                Print(L"Short read on random seed file\n");
--                return EFI_PROTOCOL_ERROR;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to read random seed file: %r", err);
-+        if (rsize != size)
-+                return log_error_status_stall(EFI_PROTOCOL_ERROR, L"Short read on random seed file.");
- 
-         err = uefi_call_wrapper(handle->SetPosition, 2, handle, 0);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to seek to beginning of random seed file: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to seek to beginning of random seed file: %r", err);
- 
-         /* Request some random data from the UEFI RNG. We don't need this to work safely, but it's a good
-          * idea to use it because it helps us for cases where users mistakenly include a random seed in
-@@ -299,27 +284,19 @@ EFI_STATUS process_random_seed(EFI_FILE *root_dir, RandomSeedMode mode) {
-         /* Update the random seed on disk before we use it */
-         wsize = size;
-         err = uefi_call_wrapper(handle->Write, 3, handle, &wsize, new_seed);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to write random seed file: %r\n", err);
--                return err;
--        }
--        if (wsize != size) {
--                Print(L"Short write on random seed file\n");
--                return EFI_PROTOCOL_ERROR;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to write random seed file: %r", err);
-+        if (wsize != size)
-+                return log_error_status_stall(EFI_PROTOCOL_ERROR, L"Short write on random seed file.");
- 
-         err = uefi_call_wrapper(handle->Flush, 1, handle);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to flush random seed file: %r\n");
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to flush random seed file: %r", err);
- 
-         /* We are good to go */
-         err = efivar_set_raw(LOADER_GUID, L"LoaderRandomSeed", for_kernel, size, 0);
--        if (EFI_ERROR(err)) {
--                Print(L"Failed to write random seed to EFI variable: %r\n", err);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Failed to write random seed to EFI variable: %r", err);
- 
-         return EFI_SUCCESS;
- }
-diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
-index 082fe91c9e..82da1d3ec4 100644
---- a/src/boot/efi/stub.c
-+++ b/src/boot/efi/stub.c
-@@ -36,18 +36,12 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- 
-         err = uefi_call_wrapper(BS->OpenProtocol, 6, image, &LoadedImageProtocol, (VOID **)&loaded_image,
-                                 image, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--        if (EFI_ERROR(err)) {
--                Print(L"Error getting a LoadedImageProtocol handle: %r ", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error getting a LoadedImageProtocol handle: %r", err);
- 
-         err = pe_memory_locate_sections(loaded_image->ImageBase, sections, addrs, offs, szs);
--        if (EFI_ERROR(err)) {
--                Print(L"Unable to locate embedded .linux section: %r ", err);
--                uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--                return err;
--        }
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Unable to locate embedded .linux section: %r", err);
- 
-         if (szs[0] > 0)
-                 cmdline = (CHAR8 *)(loaded_image->ImageBase) + addrs[0];
-@@ -72,10 +66,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                 err = tpm_log_event(SD_TPM_PCR,
-                                     (EFI_PHYSICAL_ADDRESS) (UINTN) loaded_image->LoadOptions,
-                                     loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
--                if (EFI_ERROR(err)) {
--                        Print(L"Unable to add image options measurement: %r", err);
--                        uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
--                }
-+                if (EFI_ERROR(err))
-+                        log_error_stall(L"Unable to add image options measurement: %r", err);
- #endif
-         }
- 
-@@ -126,7 +118,5 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-                          (UINTN)loaded_image->ImageBase + addrs[2], szs[2]);
- 
-         graphics_mode(FALSE);
--        Print(L"Execution of embedded linux image failed: %r\n", err);
--        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
--        return err;
-+        return log_error_status_stall(err, L"Execution of embedded linux image failed: %r", err);
- }
-diff --git a/src/boot/efi/util.c b/src/boot/efi/util.c
-index 6f4e5933d3..aee076060b 100644
---- a/src/boot/efi/util.c
-+++ b/src/boot/efi/util.c
-@@ -411,8 +411,21 @@ EFI_STATUS file_read(EFI_FILE_HANDLE dir, const CHAR16 *name, UINTN off, UINTN s
-         return err;
- }
- 
-+VOID log_error_stall(const CHAR16 *fmt, ...) {
-+        va_list args;
-+
-+        uefi_call_wrapper(ST->ConOut->SetAttribute, 2, ST->ConOut, EFI_LIGHTRED|EFI_BACKGROUND_BLACK);
-+
-+        Print(L"\n");
-+        va_start(args, fmt);
-+        VPrint(fmt, args);
-+        va_end(args);
-+        Print(L"\n");
-+
-+        uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+}
-+
- EFI_STATUS log_oom(void) {
--        Print(L"Out of memory.");
--        (void) uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
-+        log_error_stall(L"Out of memory.");
-         return EFI_OUT_OF_RESOURCES;
- }
-diff --git a/src/boot/efi/util.h b/src/boot/efi/util.h
-index 1a42b01033..d3bf848a95 100644
---- a/src/boot/efi/util.h
-+++ b/src/boot/efi/util.h
-@@ -74,4 +74,13 @@ static inline void FileHandleClosep(EFI_FILE_HANDLE *handle) {
- #define UINT64_MAX ((UINT64) -1)
- #endif
- 
-+VOID log_error_stall(const CHAR16 *fmt, ...);
- EFI_STATUS log_oom(void);
-+
-+/* This works just like log_error_errno() from userspace, but requires you
-+ * to provide err a second time if you want to use %r in the message! */
-+#define log_error_status_stall(err, fmt, ...) \
-+        ({ \
-+                log_error_stall(fmt, ##__VA_ARGS__); \
-+                err; \
-+        })
--- 
-2.33.0
-
diff --git a/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch b/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch
deleted file mode 100644
index 7cdc2491fa3..00000000000
--- a/pkgs/os-specific/linux/systemd/0021-sd-boot-Rework-console-input-handling.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-From 2d9fcfcfa38667ada306e095599944f941576e53 Mon Sep 17 00:00:00 2001
-From: Jan Janssen <medhefgo@web.de>
-Date: Wed, 11 Aug 2021 14:59:46 +0200
-Subject: [PATCH 21/21] sd-boot: Rework console input handling
-
-Fixes: #15847
-Probably fixes: #19191
-
-(cherry picked from commit e98d271e57f3d0356e444b6ea2d48836ee2769b0)
----
- src/boot/efi/boot.c    |  55 +++++++---------------
- src/boot/efi/console.c | 102 +++++++++++++++++++++++++++++------------
- src/boot/efi/console.h |   2 +-
- 3 files changed, 91 insertions(+), 68 deletions(-)
-
-diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index 54d704f0d1..b4f3b9605a 100644
---- a/src/boot/efi/boot.c
-+++ b/src/boot/efi/boot.c
-@@ -134,7 +134,7 @@ static BOOLEAN line_edit(
-                 uefi_call_wrapper(ST->ConOut->OutputString, 2, ST->ConOut, print);
-                 uefi_call_wrapper(ST->ConOut->SetCursorPosition, 3, ST->ConOut, cursor, y_pos);
- 
--                err = console_key_read(&key, TRUE);
-+                err = console_key_read(&key, 0);
-                 if (EFI_ERROR(err))
-                         continue;
- 
-@@ -387,7 +387,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                 Print(L"OsIndicationsSupported: %d\n", indvar);
- 
-         Print(L"\n--- press key ---\n\n");
--        console_key_read(&key, TRUE);
-+        console_key_read(&key, 0);
- 
-         Print(L"timeout:                %u\n", config->timeout_sec);
-         if (config->timeout_sec_efivar >= 0)
-@@ -432,7 +432,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                 Print(L"LoaderEntryDefault:     %s\n", defaultstr);
- 
-         Print(L"\n--- press key ---\n\n");
--        console_key_read(&key, TRUE);
-+        console_key_read(&key, 0);
- 
-         for (UINTN i = 0; i < config->entry_count; i++) {
-                 ConfigEntry *entry;
-@@ -482,7 +482,7 @@ static VOID print_status(Config *config, CHAR16 *loaded_image_path) {
-                               entry->path, entry->next_name);
- 
-                 Print(L"\n--- press key ---\n\n");
--                console_key_read(&key, TRUE);
-+                console_key_read(&key, 0);
-         }
- 
-         uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut);
-@@ -509,11 +509,10 @@ static BOOLEAN menu_run(
-         UINTN y_max;
-         CHAR16 *status;
-         CHAR16 *clearline;
--        INTN timeout_remain;
-+        UINTN timeout_remain = config->timeout_sec;
-         INT16 idx;
-         BOOLEAN exit = FALSE;
-         BOOLEAN run = TRUE;
--        BOOLEAN wait = FALSE;
- 
-         graphics_mode(FALSE);
-         uefi_call_wrapper(ST->ConIn->Reset, 2, ST->ConIn, FALSE);
-@@ -538,12 +537,6 @@ static BOOLEAN menu_run(
-                 y_max = 25;
-         }
- 
--        /* we check 10 times per second for a keystroke */
--        if (config->timeout_sec > 0)
--                timeout_remain = config->timeout_sec * 10;
--        else
--                timeout_remain = -1;
--
-         idx_highlight = config->idx_default;
-         idx_highlight_prev = 0;
- 
-@@ -643,7 +636,7 @@ static BOOLEAN menu_run(
- 
-                 if (timeout_remain > 0) {
-                         FreePool(status);
--                        status = PoolPrint(L"Boot in %d sec.", (timeout_remain + 5) / 10);
-+                        status = PoolPrint(L"Boot in %d s.", timeout_remain);
-                 }
- 
-                 /* print status at last line of screen */
-@@ -664,27 +657,18 @@ static BOOLEAN menu_run(
-                         uefi_call_wrapper(ST->ConOut->OutputString, 2, ST->ConOut, clearline+1 + x + len);
-                 }
- 
--                err = console_key_read(&key, wait);
--                if (EFI_ERROR(err)) {
--                        /* timeout reached */
-+                err = console_key_read(&key, timeout_remain > 0 ? 1000 * 1000 : 0);
-+                if (err == EFI_TIMEOUT) {
-+                        timeout_remain--;
-                         if (timeout_remain == 0) {
-                                 exit = TRUE;
-                                 break;
-                         }
- 
--                        /* sleep and update status */
--                        if (timeout_remain > 0) {
--                                uefi_call_wrapper(BS->Stall, 1, 100 * 1000);
--                                timeout_remain--;
--                                continue;
--                        }
--
--                        /* timeout disabled, wait for next key */
--                        wait = TRUE;
-+                        /* update status */
-                         continue;
--                }
--
--                timeout_remain = -1;
-+                } else
-+                        timeout_remain = 0;
- 
-                 /* clear status after keystroke */
-                 if (status) {
-@@ -787,7 +771,7 @@ static BOOLEAN menu_run(
-                                         config->timeout_sec_efivar,
-                                         EFI_VARIABLE_NON_VOLATILE);
-                                 if (config->timeout_sec_efivar > 0)
--                                        status = PoolPrint(L"Menu timeout set to %d sec.", config->timeout_sec_efivar);
-+                                        status = PoolPrint(L"Menu timeout set to %d s.", config->timeout_sec_efivar);
-                                 else
-                                         status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-                         } else if (config->timeout_sec_efivar <= 0){
-@@ -795,7 +779,7 @@ static BOOLEAN menu_run(
-                                 efivar_set(
-                                         LOADER_GUID, L"LoaderConfigTimeout", NULL, EFI_VARIABLE_NON_VOLATILE);
-                                 if (config->timeout_sec_config > 0)
--                                        status = PoolPrint(L"Menu timeout of %d sec is defined by configuration file.",
-+                                        status = PoolPrint(L"Menu timeout of %d s is defined by configuration file.",
-                                                            config->timeout_sec_config);
-                                 else
-                                         status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-@@ -813,7 +797,7 @@ static BOOLEAN menu_run(
-                                 config->timeout_sec_efivar,
-                                 EFI_VARIABLE_NON_VOLATILE);
-                         if (config->timeout_sec_efivar > 0)
--                                status = PoolPrint(L"Menu timeout set to %d sec.",
-+                                status = PoolPrint(L"Menu timeout set to %d s.",
-                                                    config->timeout_sec_efivar);
-                         else
-                                 status = StrDuplicate(L"Menu disabled. Hold down key at bootup to show menu.");
-@@ -2369,13 +2353,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
-         else {
-                 UINT64 key;
- 
--                err = console_key_read(&key, FALSE);
--
--                if (err == EFI_NOT_READY) {
--                        uefi_call_wrapper(BS->Stall, 1, 100 * 1000);
--                        err = console_key_read(&key, FALSE);
--                }
--
-+                /* Block up to 100ms to give firmware time to get input working. */
-+                err = console_key_read(&key, 100 * 1000);
-                 if (!EFI_ERROR(err)) {
-                         INT16 idx;
- 
-diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
-index 83619d2147..369c549daf 100644
---- a/src/boot/efi/console.c
-+++ b/src/boot/efi/console.c
-@@ -11,61 +11,105 @@
- 
- #define EFI_SIMPLE_TEXT_INPUT_EX_GUID &(EFI_GUID) EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
- 
--EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
-+static inline void EventClosep(EFI_EVENT *event) {
-+        if (!*event)
-+                return;
-+
-+        uefi_call_wrapper(BS->CloseEvent, 1, *event);
-+}
-+
-+/*
-+ * Reading input from the console sounds like an easy task to do, but thanks to broken
-+ * firmware it is actually a nightmare.
-+ *
-+ * There is a ConIn and TextInputEx API for this. Ideally we want to use TextInputEx,
-+ * because that gives us Ctrl/Alt/Shift key state information. Unfortunately, it is not
-+ * always available and sometimes just non-functional.
-+ *
-+ * On the other hand we have ConIn, where some firmware likes to just freeze on us
-+ * if we call ReadKeyStroke on it.
-+ *
-+ * Therefore, we use WaitForEvent on both ConIn and TextInputEx (if available) along
-+ * with a timer event. The timer ensures there is no need to call into functions
-+ * that might freeze on us, while still allowing us to show a timeout counter.
-+ */
-+EFI_STATUS console_key_read(UINT64 *key, UINT64 timeout_usec) {
-         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
-         static BOOLEAN checked;
-         UINTN index;
-         EFI_INPUT_KEY k;
-         EFI_STATUS err;
-+        _cleanup_(EventClosep) EFI_EVENT timer = NULL;
-+        EFI_EVENT events[3] = { ST->ConIn->WaitForKey };
-+        UINTN n_events = 1;
- 
-         if (!checked) {
-                 err = LibLocateProtocol(EFI_SIMPLE_TEXT_INPUT_EX_GUID, (VOID **)&TextInputEx);
--                if (EFI_ERROR(err))
-+                if (EFI_ERROR(err) ||
-+                    uefi_call_wrapper(BS->CheckEvent, 1, TextInputEx->WaitForKeyEx) == EFI_INVALID_PARAMETER)
-+                        /* If WaitForKeyEx fails here, the firmware pretends it talks this
-+                         * protocol, but it really doesn't. */
-                         TextInputEx = NULL;
-+                else
-+                        events[n_events++] = TextInputEx->WaitForKeyEx;
- 
-                 checked = TRUE;
-         }
- 
--        /* wait until key is pressed */
--        if (wait)
--                uefi_call_wrapper(BS->WaitForEvent, 3, 1, &ST->ConIn->WaitForKey, &index);
-+        if (timeout_usec > 0) {
-+                err = uefi_call_wrapper(BS->CreateEvent, 5, EVT_TIMER, 0, NULL, NULL, &timer);
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error creating timer event: %r", err);
-+
-+                /* SetTimer expects 100ns units for some reason. */
-+                err = uefi_call_wrapper(BS->SetTimer, 3, timer, TimerRelative, timeout_usec * 10);
-+                if (EFI_ERROR(err))
-+                        return log_error_status_stall(err, L"Error arming timer event: %r", err);
- 
--        if (TextInputEx) {
-+                events[n_events++] = timer;
-+        }
-+
-+        err = uefi_call_wrapper(BS->WaitForEvent, 3, n_events, events, &index);
-+        if (EFI_ERROR(err))
-+                return log_error_status_stall(err, L"Error waiting for events: %r", err);
-+
-+        if (timeout_usec > 0 && timer == events[index])
-+                return EFI_TIMEOUT;
-+
-+        /* TextInputEx might be ready too even if ConIn got to signal first. */
-+        if (TextInputEx && !EFI_ERROR(uefi_call_wrapper(BS->CheckEvent, 1, TextInputEx->WaitForKeyEx))) {
-                 EFI_KEY_DATA keydata;
-                 UINT64 keypress;
-+                UINT32 shift = 0;
- 
-                 err = uefi_call_wrapper(TextInputEx->ReadKeyStrokeEx, 2, TextInputEx, &keydata);
--                if (!EFI_ERROR(err)) {
--                        UINT32 shift = 0;
--
--                        /* do not distinguish between left and right keys */
--                        if (keydata.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) {
--                                if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED))
--                                        shift |= EFI_CONTROL_PRESSED;
--                                if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED))
--                                        shift |= EFI_ALT_PRESSED;
--                        };
--
--                        /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */
--                        keypress = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar);
--                        if (keypress > 0) {
--                                *key = keypress;
--                                return 0;
--                        }
-+                if (EFI_ERROR(err))
-+                        return err;
-+
-+                /* do not distinguish between left and right keys */
-+                if (keydata.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) {
-+                        if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED))
-+                                shift |= EFI_CONTROL_PRESSED;
-+                        if (keydata.KeyState.KeyShiftState & (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED))
-+                                shift |= EFI_ALT_PRESSED;
-+                };
-+
-+                /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */
-+                keypress = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar);
-+                if (keypress > 0) {
-+                        *key = keypress;
-+                        return EFI_SUCCESS;
-                 }
-+
-+                return EFI_NOT_READY;
-         }
- 
--        /* fallback for firmware which does not support SimpleTextInputExProtocol
--         *
--         * This is also called in case ReadKeyStrokeEx did not return a key, because
--         * some broken firmwares offer SimpleTextInputExProtocol, but never actually
--         * handle any key. */
-         err  = uefi_call_wrapper(ST->ConIn->ReadKeyStroke, 2, ST->ConIn, &k);
-         if (EFI_ERROR(err))
-                 return err;
- 
-         *key = KEYPRESS(0, k.ScanCode, k.UnicodeChar);
--        return 0;
-+        return EFI_SUCCESS;
- }
- 
- static EFI_STATUS change_mode(UINTN mode) {
-diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
-index 2c69af552a..23848a9c58 100644
---- a/src/boot/efi/console.h
-+++ b/src/boot/efi/console.h
-@@ -16,5 +16,5 @@ enum console_mode_change_type {
-         CONSOLE_MODE_MAX,
- };
- 
--EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait);
-+EFI_STATUS console_key_read(UINT64 *key, UINT64 timeout_usec);
- EFI_STATUS console_set_mode(UINTN *mode, enum console_mode_change_type how);
--- 
-2.33.0
-
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index aa106ca1aba..5a458cd04ec 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -40,6 +40,7 @@
 , gnupg
 , zlib
 , xz
+, zstd
 , tpm2-tss
 , libuuid
 , libapparmor
@@ -47,6 +48,7 @@
 , bzip2
 , pcre2
 , e2fsprogs
+, elfutils
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
 , gnu-efi
 , iptables
@@ -67,7 +69,7 @@
 
 , withAnalyze ? true
 , withApparmor ? true
-, withCompression ? true  # adds bzip2, lz4 and xz
+, withCompression ? true  # adds bzip2, lz4, xz and zstd
 , withCoredump ? true
 , withCryptsetup ? true
 , withDocumentation ? true
@@ -120,7 +122,7 @@ assert withHomed -> withCryptsetup;
 assert withCryptsetup -> (cryptsetup != null);
 let
   wantCurl = withRemote || withImportd;
-  version = "249.5";
+  version = "249.7";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -131,7 +133,7 @@ stdenv.mkDerivation {
     owner = "systemd";
     repo = "systemd-stable";
     rev = "v${version}";
-    sha256 = "0bir2syy20rdi59sv8xp8nw1c92zl9z0wmv7ggsll8dca7niqwbp";
+    sha256 = "sha256-y33/BvvI+JyhsvuT1Cbm6J2Z72j71oXgLw6X9NwCMPE=";
   };
 
   # If these need to be regenerated, `git am path/to/00*.patch` them into a
@@ -163,15 +165,8 @@ stdenv.mkDerivation {
     # systemd. With the below patch we mitigate that effect by special casing
     # all our root unit dirs if they are symlinks. This does exactly what we
     # need (AFAICT).
+    # See https://github.com/systemd/systemd/pull/20479 for upsteam discussion.
     ./0019-core-handle-lookup-paths-being-symlinks.patch
-
-    # In v248 compiler weirdness and refactoring lead to the bootloader
-    # erroring out handling keyboard input on some systems. See
-    # https://github.com/systemd/systemd/issues/19191
-    # This should be redundant in v249.6 when it offically gets tagged in
-    # systemd-stable
-    ./0020-sd-boot-Unify-error-handling.patch
-    ./0021-sd-boot-Rework-console-input-handling.patch
   ] ++ lib.optional stdenv.hostPlatform.isMusl (let
     oe-core = fetchzip {
       url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-14c6e5a4b72d0e4665279158a0740dd1dc21f72f.tar.bz2";
@@ -372,7 +367,8 @@ stdenv.mkDerivation {
 
     ++ lib.optional withApparmor libapparmor
     ++ lib.optional wantCurl (lib.getDev curl)
-    ++ lib.optionals withCompression [ bzip2 lz4 xz ]
+    ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ]
+    ++ lib.optional withCoredump elfutils
     ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev)
     ++ lib.optional withEfi gnu-efi
     ++ lib.optional withKexectools kexec-tools
@@ -580,12 +576,6 @@ stdenv.mkDerivation {
   '';
 
   postInstall = ''
-    # sysinit.target: Don't depend on
-    # systemd-tmpfiles-setup.service. This interferes with NixOps's
-    # send-keys feature (since sshd.service depends indirectly on
-    # sysinit.target).
-    mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
-
     mkdir -p $out/example/systemd
     mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
     mv $out/lib/systemd/{system,user} $out/example/systemd
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 0818d7bde79..dbf334b0644 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,8 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, zlib, shadow, libcap_ng
 , ncurses ? null, pam, systemd ? null
 , nlsSupport ? true
+, audit ? null
 }:
 
+assert stdenv.hostPlatform.isStatic -> audit != null;
+
 stdenv.mkDerivation rec {
   pname = "util-linux";
   version = "2.37.2";
@@ -17,6 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   outputs = [ "bin" "dev" "out" "lib" "man" ];
+  separateDebugInfo = true;
 
   postPatch = ''
     patchShebangs tests/run.sh
@@ -57,7 +61,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
     [ zlib pam libcap_ng ]
-    ++ lib.filter (p: p != null) [ ncurses systemd ];
+    ++ lib.filter (p: p != null) [ ncurses systemd ]
+    # not sure how util-linux is linking with linux-pam,
+    # probably just with a simplistic -lpam.
+    # linux-pam doesn't seem to have a .pc file so I can't
+    # add -laudit to the Requires.private.
+    # libaudit is also needed directly anyway cf login-utils/login.c
+    # and sys-utils/hwclock.c, not sure how we got it working
+    # without audit on dynamic builds.
+    ++ lib.optionals stdenv.hostPlatform.isStatic [ audit ];
+
+  NIX_CFLAGS_LINK = lib.optionalString stdenv.hostPlatform.isStatic "-laudit";
 
   doCheck = false; # "For development purpose only. Don't execute on production system!"
 
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 27a6e01dba3..5e4f1545e58 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "net-snmp";
-  version = "5.9";
+  version = "5.9.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/net-snmp/${pname}-${version}.tar.gz";
-    sha256 = "0wb0vyafpspw3mcifkjjmf17r1r80kjvslycscb8nvaxz1k3lc04";
+    sha256 = "sha256-63/UpE3mzdv/2akqha0TCeXBBU+51afdkweciVP0jD8=";
   };
 
   patches =
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index a2836be7ef8..f8eecf49169 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -26,11 +26,11 @@
 , # Whether to build only the library.
   libOnly ? false
 
-, CoreServices, AudioUnit, Cocoa
+, AudioUnit, Cocoa, CoreServices, Libc
 }:
 
 stdenv.mkDerivation rec {
-  name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
+  pname = "${if libOnly then "lib" else ""}pulseaudio";
   version = "14.2";
 
   src = fetchurl {
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ libtool libsndfile soxr speexdsp fftwFloat ]
     ++ lib.optionals stdenv.isLinux [ glib dbus ]
-    ++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit Cocoa ]
+    ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices Libc ]
     ++ lib.optionals (!libOnly) (
       [ libasyncns webrtc-audio-processing ]
       ++ lib.optional jackaudioSupport libjack2
@@ -94,7 +94,6 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack"
     ++ lib.optionals stdenv.isDarwin [
-      "--with-mac-sysroot=/"
       "--disable-neon-opt"
     ]
     ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
@@ -102,12 +101,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # not sure what the best practices are here -- can't seem to find a way
-  # for the compiler to bring in stdlib and stdio (etc.) properly
-  # the alternative is to copy the files from /usr/include to src, but there are
-  # probably a large number of files that would need to be copied (I stopped
-  # after the seventh)
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I/usr/include";
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${Libc}";
 
   installFlags =
     [ "sysconfdir=${placeholder "out"}/etc"
@@ -125,7 +119,7 @@ stdenv.mkDerivation rec {
 
   preFixup = lib.optionalString (stdenv.isLinux  && (stdenv.hostPlatform == stdenv.buildPlatform)) ''
     wrapProgram $out/libexec/pulse/gsettings-helper \
-     --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
+     --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${pname}-${version}" \
      --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
   '';
 
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 47d2c4b4d40..2001ae00527 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -45,11 +45,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.15.1";
+  version = "4.15.2";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "sha256-oYEfu0EQ1klp9sEI+NFh4sPiDd9HVSmj0yvZS7dFnwA=";
+    sha256 = "sha256-YoHXxqjEn3mQqfJJpmeEs1GA/iSVV+8RR82KbRZqIRM=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index f9e24a95674..f42574884ed 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mecab, kytea, libedit, pkg-config
+{ lib, stdenv, fetchurl, autoreconfHook, mecab, kytea, libedit, pkg-config
 , suggestSupport ? false, zeromq, libevent, msgpack, openssl
 , lz4Support  ? false, lz4
 , zlibSupport ? true, zlib
@@ -14,12 +14,19 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-yE/Ok0QNY9+a4vfNJWZjR4W8E/i+lw7T85X2+oOw8m4=";
   };
 
+  preConfigure = ''
+    # To avoid problems due to libc++abi 11 using `#include <version>`.
+    rm version
+  '';
+
   buildInputs = with lib;
-     [ pkg-config mecab kytea libedit openssl ]
+     [ mecab kytea libedit openssl ]
     ++ optional lz4Support lz4
     ++ optional zlibSupport zlib
     ++ optionals suggestSupport [ zeromq libevent msgpack ];
 
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
   configureFlags = with lib;
        optional zlibSupport "--with-zlib"
     ++ optional lz4Support  "--with-lz4";
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 82fdc2a3a38..7501dab6a1b 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -47,6 +47,14 @@ common = rec { # attributes common to both builds
 
   prePatch = ''
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
+    # libc++abi 11 uses `#include <version>`, include paths often include
+    # project dirs and that means files with version numbers get included as if
+    # they were a header. This includes files name `VERSION` on
+    # case-insensitive file systems.
+    sed -i 's,/version\>,/version_full,' storage/mroonga/CMakeLists.txt
+    mv storage/mroonga/version storage/mroonga/version_full
+    sed -i 's,/VERSION\>,/VERSION_FULL,' cmake/mysql_version.cmake
+    mv VERSION VERSION_FULL
   '';
 
   patches = [
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index b25a840f460..24ad0cb6959 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -4,7 +4,7 @@
 , config
 , overlays
 , crossOverlays ? [ ]
-, bootstrapLlvmVersion ? if localSystem.isAarch64 then "11.1.0" else "7.1.0"
+, bootstrapLlvmVersion ? "11.1.0"
   # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools
 , bootstrapFiles ? if localSystem.isAarch64 then
     let
@@ -23,7 +23,7 @@
   else
     let
       fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
-        url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/05ef940b94fe76e7ac06ea45a625adc8e4be96f9/${file}";
+        url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/c253216595572930316f2be737dc288a1da22558/${file}";
         inherit (localSystem) system;
         inherit sha256 executable;
       }; in
@@ -32,7 +32,7 @@
       bzip2 = fetch { file = "bzip2"; sha256 = "sha256-K3rhkJZipudT1Jgh+l41Y/fNsMkrPtiAsNRDha/lpZI="; };
       mkdir = fetch { file = "mkdir"; sha256 = "sha256-VddFELwLDJGNADKB1fWwWPBtIAlEUgJv2hXRmC4NEeM="; };
       cpio = fetch { file = "cpio"; sha256 = "sha256-SWkwvLaFyV44kLKL2nx720SvcL4ej/p2V/bX3uqAGO0="; };
-      tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "sha256-b65dXbIm6o6s6U8tAiGpR6SMfvfn/VFcZgTHBetJZis="; executable = false; };
+      tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "sha256-kRC/bhCmlD4L7KAvJQgcukk7AinkMz4IwmG1rqlh5tA="; executable = false; };
     }
 }:
 
@@ -62,9 +62,6 @@ rec {
     export NIX_IGNORE_LD_THROUGH_GCC=1
     unset SDKROOT
 
-    # Workaround for https://openradar.appspot.com/22671534 on 10.11.
-    export gl_cv_func_getcwd_abort_bug=no
-
     stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
   '';
 
@@ -472,7 +469,7 @@ rec {
               };
               libcxxabi = libSuper.libcxxabi.override ({
                 stdenv = overrideCC self.stdenv self.ccNoLibcxx;
-              } // lib.optionalAttrs (finalLlvmVersion == "7") {
+              } // lib.optionalAttrs (builtins.any (v: finalLlvmVersion == v) [ 7 11 12 13 ]) {
                 # TODO: the bootstrapping of llvm packages isn't consistent.
                 # `standalone` may be redundant if darwin behaves like useLLVM (or
                 # has useLLVM = true).
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 434eadb38bf..49f884cd8b3 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -32,50 +32,6 @@ in rec {
   # Avoid messing with libkrb5 and libnghttp2.
   curl_ = curlMinimal.override (args: { gssSupport = false; http2Support = false; });
 
-  # Avoid stdenv rebuild.
-  Libsystem_ = (darwin.Libsystem.override (args:
-    { xnu = darwin.xnu.overrideAttrs (oldAttrs:
-      { patches = [ ./fixed-xnu-python3.patch ]; });
-    })).overrideAttrs (oldAttrs:
-    { installPhase = oldAttrs.installPhase + ''
-        cat <<EOF > $out/include/TargetConditionals.h
-        #ifndef __TARGETCONDITIONALS__
-        #define __TARGETCONDITIONALS__
-        #define TARGET_OS_MAC               1
-        #define TARGET_OS_WIN32             0
-        #define TARGET_OS_UNIX              0
-        #define TARGET_OS_OSX               1
-        #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_OS_EMBEDDED          0
-        #define TARGET_OS_EMBEDDED_OTHER    0 /* Used in configd */
-        #define TARGET_IPHONE_SIMULATOR     TARGET_OS_SIMULATOR /* deprecated */
-        #define TARGET_OS_NANO              TARGET_OS_WATCH /* deprecated */
-
-        #define TARGET_CPU_PPC          0
-        #define TARGET_CPU_PPC64        0
-        #define TARGET_CPU_68K          0
-        #define TARGET_CPU_X86          0
-        #define TARGET_CPU_X86_64       1
-        #define TARGET_CPU_ARM          0
-        #define TARGET_CPU_ARM64        0
-        #define TARGET_CPU_MIPS         0
-        #define TARGET_CPU_SPARC        0
-        #define TARGET_CPU_ALPHA        0
-        #define TARGET_RT_MAC_CFM       0
-        #define TARGET_RT_MAC_MACHO     1
-        #define TARGET_RT_LITTLE_ENDIAN 1
-        #define TARGET_RT_BIG_ENDIAN    0
-        #define TARGET_RT_64_BIT        1
-        #endif  /* __TARGETCONDITIONALS__ */
-        EOF
-      '';
-    });
-
   build = stdenv.mkDerivation {
     name = "stdenv-bootstrap-tools";
 
@@ -87,12 +43,12 @@ in rec {
 
       ${lib.optionalString stdenv.targetPlatform.isx86_64 ''
         # Copy libSystem's .o files for various low-level boot stuff.
-        cp -d ${Libsystem_}/lib/*.o $out/lib
+        cp -d ${lib.getLib darwin.Libsystem}/lib/*.o $out/lib
 
         # Resolv is actually a link to another package, so let's copy it properly
-        cp -L ${Libsystem_}/lib/libresolv.9.dylib $out/lib
+        cp -L ${lib.getLib darwin.Libsystem}/lib/libresolv.9.dylib $out/lib
 
-        cp -rL ${Libsystem_}/include $out
+        cp -rL ${darwin.Libsystem}/include $out
         chmod -R u+w $out/include
         cp -rL ${darwin.ICU}/include*             $out/include
         cp -rL ${libiconv}/include/*       $out/include
@@ -128,21 +84,21 @@ in rec {
 
       cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
       cp -d ${lib.getLib libiconv}/lib/lib*.dylib $out/lib
-      cp -d ${gettext}/lib/libintl*.dylib $out/lib
+      cp -d ${lib.getLib gettext}/lib/libintl*.dylib $out/lib
       chmod +x $out/lib/libintl*.dylib
       cp -d ${ncurses.out}/lib/libncurses*.dylib $out/lib
       cp -d ${libxml2.out}/lib/libxml2*.dylib $out/lib
 
       # Copy what we need of clang
       cp -d ${llvmPackages.clang-unwrapped}/bin/clang* $out/bin
-      cp -rd ${llvmPackages.clang-unwrapped.lib}/lib/* $out/lib
+      cp -rd ${lib.getLib llvmPackages.clang-unwrapped}/lib/* $out/lib
 
-      cp -d ${llvmPackages.libcxx}/lib/libc++*.dylib $out/lib
-      cp -d ${llvmPackages.libcxxabi}/lib/libc++abi*.dylib $out/lib
-      cp -d ${llvmPackages.compiler-rt}/lib/darwin/libclang_rt* $out/lib/darwin
-      cp -d ${llvmPackages.compiler-rt}/lib/libclang_rt* $out/lib
-      cp -d ${llvmPackages.llvm.lib}/lib/libLLVM.dylib $out/lib
-      cp -d ${libffi}/lib/libffi*.dylib $out/lib
+      cp -d ${lib.getLib llvmPackages.libcxx}/lib/libc++*.dylib $out/lib
+      cp -d ${lib.getLib llvmPackages.libcxxabi}/lib/libc++abi*.dylib $out/lib
+      cp -d ${lib.getLib llvmPackages.compiler-rt}/lib/darwin/libclang_rt* $out/lib/darwin
+      cp -d ${lib.getLib llvmPackages.compiler-rt}/lib/libclang_rt* $out/lib
+      cp -d ${lib.getLib llvmPackages.llvm.lib}/lib/libLLVM.dylib $out/lib
+      cp -d ${lib.getLib libffi}/lib/libffi*.dylib $out/lib
 
       mkdir $out/include
       cp -rd ${llvmPackages.libcxx.dev}/include/c++     $out/include
@@ -150,11 +106,11 @@ in rec {
       ${lib.optionalString targetPlatform.isAarch64 ''
         # copy .tbd assembly utils
         cp -d ${pkgs.darwin.rewrite-tbd}/bin/rewrite-tbd $out/bin
-        cp -d ${pkgs.libyaml}/lib/libyaml*.dylib $out/lib
+        cp -d ${lib.getLib pkgs.libyaml}/lib/libyaml*.dylib $out/lib
 
         # copy package extraction tools
         cp -d ${pkgs.pbzx}/bin/pbzx $out/bin
-        cp -d ${pkgs.xar}/lib/libxar*.dylib $out/lib
+        cp -d ${lib.getLib pkgs.xar}/lib/libxar*.dylib $out/lib
         cp -d ${pkgs.bzip2.out}/lib/libbz2*.dylib $out/lib
 
         # copy sigtool
@@ -162,7 +118,7 @@ in rec {
         cp -d ${pkgs.darwin.sigtool}/bin/codesign $out/bin
       ''}
 
-      cp -d ${darwin.ICU}/lib/libicu*.dylib $out/lib
+      cp -d ${lib.getLib darwin.ICU}/lib/libicu*.dylib $out/lib
       cp -d ${zlib.out}/lib/libz.*       $out/lib
       cp -d ${gmpxx.out}/lib/libgmp*.*   $out/lib
       cp -d ${xz.out}/lib/liblzma*.*     $out/lib
@@ -172,7 +128,7 @@ in rec {
         cp ${cctools_}/bin/$i $out/bin
       done
 
-      cp -d ${darwin.libtapi}/lib/libtapi* $out/lib
+      cp -d ${lib.getLib darwin.libtapi}/lib/libtapi* $out/lib
 
       ${lib.optionalString targetPlatform.isx86_64 ''
         cp -rd ${pkgs.darwin.CF}/Library $out
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index b7645547abc..2951813c0f7 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -986,7 +986,18 @@ patchPhase() {
 
 
 fixLibtool() {
-    sed -i -e 's^eval sys_lib_.*search_path=.*^^' "$1"
+    local search_path
+    for flag in $NIX_LDFLAGS; do
+        case $flag in
+            -L*)
+                search_path+=" ${flag#-L}"
+                ;;
+        esac
+    done
+
+    sed -i "$1" \
+        -e "s^eval \(sys_lib_search_path=\).*^\1'$search_path'^" \
+        -e 's^eval sys_lib_.+search_path=.*^^'
 }
 
 
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 0b9d6b47383..754b2e8cea6 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -20,17 +20,18 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.20.54"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.22.14"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-stnuPobBKIpKA4iTKGTO5kmMEl7grFdZNryz40S599M=";
+    sha256 = "sha256-FTGtUqdjZel8XqSrO3s3XQNqR6fyTO3mc1gyIQfk9n8=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "docutils>=0.10,<0.16" "docutils>=0.10"
+      --replace "docutils>=0.10,<0.16" "docutils>=0.10" \
+      --replace "rsa>=3.1.2,<4.8" "rsa<5,>=3.1.2"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 2b820aa9569..7e2970861c1 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -119,9 +119,6 @@ let
         '';
       };
 
-      azure-appconfiguration = overrideAzureMgmtPackage super.azure-appconfiguration "1.1.1" "zip"
-        "sha256-uDzSy2PZMiXehOJ6u/wFkhL43id2b0xY3Tq7g53/C+Q=";
-
       azure-batch = overrideAzureMgmtPackage super.azure-batch "11.0.0" "zip"
         "83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32da";
 
@@ -311,6 +308,17 @@ let
       azure-multiapi-storage = overrideAzureMgmtPackage super.azure-multiapi-storage "0.7.0" "tar.gz"
         "cd4f184be8c9ca8aca969f93ed50dc7fe556d28ca11520440fc182cf876abdf9";
 
+      azure-appconfiguration = super.azure-appconfiguration.overrideAttrs(oldAttrs: rec {
+        version = "1.1.1";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "sha256-uDzSy2PZMiXehOJ6u/wFkhL43id2b0xY3Tq7g53/C+Q=";
+          extension = "zip";
+        };
+      });
+
       azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec {
         version = "0.60.0";
 
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 1ae8de975a5..274fe0ac832 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  separateDebugInfo = true;
+
   preConfigure = lib.optionalString stdenv.isCygwin ''
     sed -i gnu/fpending.h -e 's,include <stdio_ext.h>,,'
   '';
diff --git a/pkgs/tools/misc/desktop-file-utils/default.nix b/pkgs/tools/misc/desktop-file-utils/default.nix
index da87d048b70..af3e907c04a 100644
--- a/pkgs/tools/misc/desktop-file-utils/default.nix
+++ b/pkgs/tools/misc/desktop-file-utils/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, libintl }:
+{ lib, stdenv, fetchurl, pkg-config, meson, ninja, glib, libintl }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "desktop-file-utils";
-  version = "0.24";
+  version = "0.26";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "1nc3bwjdrpcrkbdmzvhckq0yngbcxspwj2n1r7jr3gmx1jk5vpm1";
+    sha256 = "02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = [ glib libintl ];
 
   postPatch = ''
diff --git a/pkgs/tools/misc/jsonwatch/default.nix b/pkgs/tools/misc/jsonwatch/default.nix
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/pkgs/tools/misc/jsonwatch/default.nix
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 5937249c079..a5abbc26a74 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -43,14 +43,14 @@ assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.79.1";
+  version = "7.80.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "0lbq73wz44p4fm2gp05mzrqrzfvhlmvlgfg8c8wkj5lkkamw8qny";
+    sha256 = "170qb2w2p5fga0vqhhnzi417z4h4vy764sz16pzhm5fd9471a3fx";
   };
 
   patches = [
@@ -96,17 +96,17 @@ stdenv.mkDerivation rec {
       # The build fails when using wolfssl with --with-ca-fallback
       (lib.withFeature (!wolfsslSupport) "ca-fallback")
       "--disable-manual"
-      (lib.withFeatureAs opensslSupport "openssl" openssl.dev)
-      (lib.withFeatureAs gnutlsSupport "gnutls" gnutls.dev)
-      (lib.withFeatureAs scpSupport "libssh2" libssh2.dev)
+      (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
+      (lib.withFeatureAs gnutlsSupport "gnutls" (lib.getDev gnutls))
+      (lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
       (lib.enableFeature ldapSupport "ldap")
       (lib.enableFeature ldapSupport "ldaps")
-      (lib.withFeatureAs idnSupport "libidn" libidn.dev)
+      (lib.withFeatureAs idnSupport "libidn" (lib.getDev libidn))
       (lib.withFeature brotliSupport "brotli")
     ]
-    ++ lib.optional wolfsslSupport "--with-wolfssl=${wolfssl.dev}"
+    ++ lib.optional wolfsslSupport "--with-wolfssl=${lib.getDev wolfssl}"
     ++ lib.optional c-aresSupport "--enable-ares=${c-ares}"
-    ++ lib.optional gssSupport "--with-gssapi=${libkrb5.dev}"
+    ++ lib.optional gssSupport "--with-gssapi=${lib.getDev libkrb5}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
        "--with-random=/dev/urandom"
@@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
     # Install completions
     make -C scripts install
   '' + lib.optionalString scpSupport ''
-    sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la
+    sed '/^dependency_libs/s|${lib.getDev libssh2}|${lib.getLib libssh2}|' -i "$out"/lib/*.la
   '' + lib.optionalString gnutlsSupport ''
     ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so
     ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so.4
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A command line tool for transferring files with URL syntax";
-    homepage    = "https://curl.haxx.se/";
+    homepage    = "https://curl.se/";
     license = licenses.curl;
     maintainers = with maintainers; [ lovek323 ];
     platforms = platforms.all;
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 1488e6561c9..db3ddd167a6 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsclite";
-  version = "1.9.4";
+  version = "1.9.5";
 
   outputs = [ "bin" "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2";
-    sha256 = "sha256:0jqwnpywk9ka3q88b1k93p8s0xhmx1isdpcqa80nd8p04z1am34a";
+    sha256 = "sha256:024x0hadn0kc0m9yz3l2pqzc5mdqyza9lmckg0bn4xak6frzkqwy";
   };
 
   patches = [ ./no-dropdir-literals.patch ];
diff --git a/pkgs/tools/security/pcsclite/no-dropdir-literals.patch b/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
index 6e6734c9543..4c6d5554d77 100644
--- a/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
+++ b/pkgs/tools/security/pcsclite/no-dropdir-literals.patch
@@ -1,8 +1,8 @@
 diff --git a/src/hotplug_libudev.c b/src/hotplug_libudev.c
-index a8ba1b8..a53700b 100644
+index 51bd95f..84f959b 100644
 --- a/src/hotplug_libudev.c
 +++ b/src/hotplug_libudev.c
-@@ -119,7 +119,8 @@ static LONG HPReadBundleValues(void)
+@@ -120,7 +120,8 @@ static LONG HPReadBundleValues(void)
  
  	if (NULL == hpDir)
  	{
@@ -12,7 +12,7 @@ index a8ba1b8..a53700b 100644
  		Log1(PCSC_LOG_ERROR, "Disabling USB support for pcscd.");
  		return -1;
  	}
-@@ -722,7 +723,7 @@ ULONG HPRegisterForHotplugEvents(void)
+@@ -741,7 +742,7 @@ ULONG HPRegisterForHotplugEvents(void)
  
  	if (driverSize <= 0)
  	{
@@ -22,10 +22,10 @@ index a8ba1b8..a53700b 100644
  		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
  		return 0;
 diff --git a/src/hotplug_libusb.c b/src/hotplug_libusb.c
-index eff8519..8dd496d 100644
+index 0ada9f5..d49a407 100644
 --- a/src/hotplug_libusb.c
 +++ b/src/hotplug_libusb.c
-@@ -138,7 +138,8 @@ static LONG HPReadBundleValues(void)
+@@ -142,7 +142,8 @@ static LONG HPReadBundleValues(void)
  
  	if (hpDir == NULL)
  	{
@@ -35,7 +35,7 @@ index eff8519..8dd496d 100644
  		Log1(PCSC_LOG_ERROR, "Disabling USB support for pcscd.");
  		return -1;
  	}
-@@ -265,7 +266,8 @@ static LONG HPReadBundleValues(void)
+@@ -282,7 +283,8 @@ static LONG HPReadBundleValues(void)
  
  	if (driverSize == 0)
  	{
@@ -45,29 +45,3 @@ index eff8519..8dd496d 100644
  		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
  	}
  #ifdef DEBUG_HOTPLUG
-diff --git a/src/hotplug_linux.c b/src/hotplug_linux.c
-index bf69af8..64b0ed7 100644
---- a/src/hotplug_linux.c
-+++ b/src/hotplug_linux.c
-@@ -130,8 +130,8 @@ static LONG HPReadBundleValues(void)
- 
- 	if (hpDir == NULL)
- 	{
--		Log1(PCSC_LOG_INFO,
--			"Cannot open PC/SC drivers directory: " PCSCLITE_HP_DROPDIR);
-+		Log2(PCSC_LOG_INFO, "Cannot open PC/SC drivers directory: %s",
-+			PCSCLITE_HP_DROPDIR);
- 		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd.");
- 		return -1;
- 	}
-@@ -219,8 +219,8 @@ end:
- 
- 	if (bundleSize == 0)
- 	{
--		Log1(PCSC_LOG_INFO,
--			"No bundle files in pcsc drivers directory: " PCSCLITE_HP_DROPDIR);
-+		Log2(PCSC_LOG_INFO, "No bundle files in pcsc drivers directory: %s",
-+			PCSCLITE_HP_DROPDIR);
- 		Log1(PCSC_LOG_INFO, "Disabling USB support for pcscd");
- 	}
- 
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index 38ba47a5122..4d877030e53 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wapiti";
-  version = "3.0.5";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "wapiti-scanner";
     repo = pname;
     rev = version;
-    sha256 = "0663hzpmn6p5xh65d2gk4yk2zh992lfd9lhdwwabhpv3n85nza75";
+    sha256 = "0kya9a2zs1c518z4p34pfjx2sms6843gh3c9qc9zvk4lr4g7hw3x";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -19,19 +19,26 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
+    aiocache
+    aiosqlite
     beautifulsoup4
     browser-cookie3
     cryptography
-    Mako
-    markupsafe
-    pysocks
+    dnspython
     httpx
     httpx-ntlm
     httpx-socks
+    loguru
+    Mako
+    markupsafe
+    pysocks
     six
+    sqlalchemy
     tld
     yaswfp
-  ] ++ lib.optionals (python3.pythonOlder "3.8") [ importlib-metadata ];
+  ] ++ lib.optionals (python3.pythonOlder "3.8") [
+    importlib-metadata
+  ];
 
   checkInputs = with python3.pkgs; [
     respx
@@ -42,9 +49,18 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     # Ignore pinned versions
     substituteInPlace setup.py \
-      --replace "==" ">="
+      --replace "httpx-socks[asyncio] == 0.5.1" "httpx-socks[asyncio]" \
+      --replace "markupsafe==1.1.1" "markupsafe" \
+      --replace "importlib_metadata==3.7.2" "importlib_metadata" \
+      --replace "browser-cookie3==0.11.4" "browser-cookie3" \
+      --replace "cryptography==3.3.2" "cryptography" \
+      --replace "httpx[brotli]==0.20.0" "httpx" \
+      --replace "sqlalchemy>=1.4.26" "sqlalchemy" \
+      --replace "aiocache==0.11.1" "aiocache" \
+      --replace "aiosqlite==0.17.0" "aiosqlite" \
+      --replace "dnspython==2.1.0" "dnspython"
     substituteInPlace setup.cfg \
-      --replace " --cov" ""
+      --replace " --cov --cov-report=xml" ""
   '';
 
   preCheck = ''
@@ -92,6 +108,7 @@ python3.pkgs.buildPythonApplication rec {
     "test_title_false_positive"
     "test_title_positive"
     "test_true_positive_request_count"
+    "test_unregistered_cname"
     "test_url_detection"
     "test_warning"
     "test_whole"
@@ -108,7 +125,9 @@ python3.pkgs.buildPythonApplication rec {
     "test_persister_upload"
   ];
 
-  pythonImportsCheck = [ "wapitiCore" ];
+  pythonImportsCheck = [
+    "wapitiCore"
+  ];
 
   meta = with lib; {
     description = "Web application vulnerability scanner";
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
index d6fc422b4cd..e35057fb888 100644
--- a/pkgs/tools/video/rav1e/default.nix
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -4,18 +4,20 @@ let
   rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
 in rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-9fBAH1vuLJ3yu8X5+CQGLQFDlzTYoFBUTy3Muo6hLkw=";
+    sha256 = "sha256-3g2wqQJk26KUfzmneKdTxfNSRI/ioMa5MR6AEeR7eKs=";
   };
 
-  cargoSha256 = "sha256-QhWVqHcNjJF94uTvHGVnV8MTp2bYOuCEjaMBfViOLRo=";
+  cargoSha256 = "sha256-sPUAWQj8UDHV7IvYnerASltSPPGVB7f1tThqFYBu6t4=";
 
   nativeBuildInputs = [ nasm cargo-c ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
+  checkType = "debug";
+
   postBuild = ''
     cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec}
   '';
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5a2a34d6727..ff8d86c2754 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4915,9 +4915,7 @@ with pkgs;
 
   vorta = libsForQt5.callPackage ../applications/backup/vorta { };
 
-  vowpal-wabbit = callPackage ../applications/science/machine-learning/vowpal-wabbit {
-    boost = boost17x;
-  };
+  vowpal-wabbit = callPackage ../applications/science/machine-learning/vowpal-wabbit { };
 
   utahfs = callPackage ../applications/networking/utahfs { };
 
@@ -7171,9 +7169,9 @@ with pkgs;
 
   nixnote2 = libsForQt514.callPackage ../applications/misc/nixnote2 { };
 
-  nodejs = hiPrio nodejs-14_x;
+  nodejs = hiPrio nodejs-16_x;
 
-  nodejs-slim = nodejs-slim-14_x;
+  nodejs-slim = nodejs-slim-16_x;
 
 
   nodejs-10_x = callPackage ../development/web/nodejs/v10.nix {
@@ -7206,7 +7204,10 @@ with pkgs;
 
   nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs;
 
-  nodePackages = dontRecurseIntoAttrs nodejs.pkgs;
+  nodePackages = (dontRecurseIntoAttrs nodejs.pkgs).override {
+    # It does not work on 16.x: https://github.com/NixOS/nixpkgs/issues/132456
+    nodejs = nodejs-14_x;
+  };
 
   np2kai = callPackage ../misc/emulators/np2kai { };
 
@@ -12494,7 +12495,7 @@ with pkgs;
     # This returns the minimum supported version for the platform. The
     # assumption is that or any later version is good.
     choose = platform:
-      /**/ if platform.isDarwin then (if platform.isAarch64 then 11 else 7)
+      /**/ if platform.isDarwin then 11
       else if platform.isFreeBSD then 7
       else if platform.isAndroid then 12
       else if platform.isLinux then
@@ -12780,18 +12781,18 @@ with pkgs;
     inherit (darwin) apple_sdk;
   };
 
-  rust_1_56 = callPackage ../development/compilers/rust/1_56.nix {
+  rust_1_57 = callPackage ../development/compilers/rust/1_57.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
     llvm_13 = llvmPackages_13.libllvm;
   };
-  rust = rust_1_56;
+  rust = rust_1_57;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
   mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
 
-  rustPackages_1_56 = rust_1_56.packages.stable;
-  rustPackages = rustPackages_1_56;
+  rustPackages_1_57 = rust_1_57.packages.stable;
+  rustPackages = rustPackages_1_57;
 
   inherit (rustPackages) cargo clippy rustc rustPlatform;
 
@@ -13566,7 +13567,7 @@ with pkgs;
   python3Packages = python3.pkgs;
 
   pythonInterpreters = callPackage ./../development/interpreters/python { };
-  inherit (pythonInterpreters) python27 python37 python38 python39 python310 python3Minimal pypy27 pypy38;
+  inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy38;
 
   # Python package sets.
   python27Packages = python27.pkgs;
@@ -13574,6 +13575,7 @@ with pkgs;
   python38Packages = recurseIntoAttrs python38.pkgs;
   python39Packages = recurseIntoAttrs python39.pkgs;
   python310Packages = python310.pkgs;
+  python311Packages = python311.pkgs;
   pypyPackages = pypy.pkgs;
   pypy2Packages = pypy2.pkgs;
   pypy27Packages = pypy27.pkgs;
@@ -13919,6 +13921,8 @@ with pkgs;
     jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
 
+  antlr4_9 = callPackage ../development/tools/parsing/antlr/4.9.nix { };
+
   antlr4 = antlr4_8;
 
   antlr = antlr4;
@@ -15451,9 +15455,7 @@ with pkgs;
   uefi-firmware-parser = callPackage ../development/tools/analysis/uefi-firmware-parser { };
 
   uhd3_5 = callPackage ../applications/radio/uhd/3.5.nix { };
-  uhd = callPackage ../applications/radio/uhd {
-    boost = boost17x;
-  };
+  uhd = callPackage ../applications/radio/uhd { };
 
   uisp = callPackage ../development/embedded/uisp { };
 
@@ -15779,12 +15781,13 @@ with pkgs;
     boost173
     boost174
     boost175
+    boost177
   ;
 
   boost15x = boost159;
   boost16x = boost169;
-  boost17x = boost175;
-  boost = boost16x;
+  boost17x = boost177;
+  boost = boost17x;
 
   boost_process = callPackage ../development/libraries/boost-process { };
 
@@ -16139,7 +16142,9 @@ with pkgs;
 
   entt = callPackage ../development/libraries/entt { };
 
-  libepoxy = callPackage ../development/libraries/libepoxy {};
+  libepoxy = callPackage ../development/libraries/libepoxy {
+    inherit (darwin.apple_sdk.frameworks) Carbon OpenGL;
+  };
 
   libesmtp = callPackage ../development/libraries/libesmtp { };
 
@@ -18296,7 +18301,9 @@ with pkgs;
 
   libtiff = if stdenv.isDarwin && stdenv.isAarch64
     then callPackage ../development/libraries/libtiff/aarch64-darwin.nix { }
-    else callPackage ../development/libraries/libtiff { };
+    else callPackage ../development/libraries/libtiff {
+      inherit (darwin.apple_sdk.frameworks) Cocoa GLUT;
+    };
 
   libtiger = callPackage ../development/libraries/libtiger { };
 
@@ -18389,7 +18396,7 @@ with pkgs;
 
   libunwind =
     if stdenv.isDarwin then darwin.libunwind
-    else if stdenv.hostPlatform.isRiscV then llvmPackages_latest.libunwind
+    else if stdenv.hostPlatform.system == "riscv32-linux" then llvmPackages_latest.libunwind
     else callPackage ../development/libraries/libunwind { };
 
   libuv = callPackage ../development/libraries/libuv {
@@ -21148,6 +21155,7 @@ with pkgs;
   };
 
   pulseaudio = callPackage ../servers/pulseaudio ({
+    inherit (darwin) Libc;
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
   } // lib.optionalAttrs stdenv.isDarwin {
     # Default autoreconfHook (2.70) fails on darwin,
@@ -21505,14 +21513,10 @@ with pkgs;
     libtool = darwin.cctools;
   };
 
-  # Fails to compile with boost >= 1.72
-  rippled = callPackage ../servers/rippled {
-    boost = boost17x;
-  };
+  # Fails to compile with boost <= 1.72
+  rippled = callPackage ../servers/rippled { };
 
-  rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix {
-    boost = boost17x;
-  };
+  rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix { };
 
   roon-bridge = callPackage ../servers/roon-bridge { };
 
@@ -25075,7 +25079,6 @@ with pkgs;
     unwrapped = callPackage ../applications/radio/gnuradio {
       inherit (darwin.apple_sdk.frameworks) CoreAudio;
       python = python3;
-      boost = boost17x;
     };
   };
   gnuradioPackages = lib.recurseIntoAttrs gnuradio.pkgs;
@@ -25108,7 +25111,6 @@ with pkgs;
     unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix {
       inherit (darwin.apple_sdk.frameworks) CoreAudio;
       python = python3;
-      boost = boost17x;
     };
   };
   gnuradio3_8Packages = lib.recurseIntoAttrs gnuradio3_8.pkgs;
@@ -27876,9 +27878,7 @@ with pkgs;
 
   qmapshack = libsForQt5.callPackage ../applications/gis/qmapshack { };
 
-  qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview {
-    boost = boost17x;
-  };
+  qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { };
 
   qmplay2 = libsForQt5.callPackage ../applications/video/qmplay2 { };
 
@@ -29824,7 +29824,6 @@ with pkgs;
 
   monero-cli = callPackage ../applications/blockchains/monero-cli {
     inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
-    boost = boost17x;
   };
 
   monero-gui = libsForQt5.callPackage ../applications/blockchains/monero-gui {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 9609c122727..dc8e980fd12 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6078,11 +6078,11 @@ let
 
   DBDSQLite = buildPerlPackage {
     pname = "DBD-SQLite";
-    version = "1.66";
+    version = "1.70";
 
     src = fetchurl {
-      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.66.tar.gz";
-      sha256 = "1zljln5nh61gj3k22a1fv2vhx5l83waizmarwkh77hk6kzzmvrw9";
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.70.tar.gz";
+      sha256 = "0gpyv89p3yfwifbm005bz5ci8c63jikkfvafg8x7f3lyaggqvza0";
     };
 
     propagatedBuildInputs = [ DBI ];
@@ -6091,6 +6091,13 @@ let
     patches = [
       # Support building against our own sqlite.
       ../development/perl-modules/DBD-SQLite/external-sqlite.patch
+
+      # Pull upstream fix for test failures against sqlite-3.37.
+      (fetchpatch {
+        name = "sqlite-3.37-compat.patch";
+        url = "https://github.com/DBD-SQLite/DBD-SQLite/commit/ba4f472e7372dbf453444c7764d1c342e7af12b8.patch";
+        sha256 = "02lg1y6px7h89pfvgrf23anhbl3v050gn0kmaajvv5h6layhjzly";
+      })
     ];
 
     makeMakerFlags = "SQLITE_INC=${pkgs.sqlite.dev}/include SQLITE_LIB=${pkgs.sqlite.out}/lib";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bd698454b1d..be7e3b227d1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -137,6 +137,11 @@ in {
   # it should not override the version of pytest that is used for say
   # Python 2. This is an ugly hack that is needed now because the hook
   # propagates the package.
+  pytestCheckHook_5 = if isPy3k then
+    self.pytestCheckHook.override { pytest = self.pytest_5; }
+  else
+    self.pytestCheckHook;
+
   pytestCheckHook_6_1 = if isPy3k then
     self.pytestCheckHook.override { pytest = self.pytest_6_1; }
   else
@@ -3407,6 +3412,8 @@ in {
 
   grpcio-gcp = callPackage ../development/python-modules/grpcio-gcp { };
 
+  grpcio-status = callPackage ../development/python-modules/grpcio-status { };
+
   grpcio-tools = callPackage ../development/python-modules/grpcio-tools { };
 
   gruut = callPackage ../development/python-modules/gruut { };
@@ -3975,6 +3982,8 @@ in {
 
   jaraco_collections = callPackage ../development/python-modules/jaraco_collections { };
 
+  jaraco-context = callPackage ../development/python-modules/jaraco-context { };
+
   jaraco_functools = callPackage ../development/python-modules/jaraco_functools { };
 
   jaraco_itertools = callPackage ../development/python-modules/jaraco_itertools { };
@@ -4051,6 +4060,8 @@ in {
 
   jsbeautifier = callPackage ../development/python-modules/jsbeautifier { };
 
+  jschema-to-python = callPackage ../development/python-modules/jschema-to-python { };
+
   jsmin = callPackage ../development/python-modules/jsmin { };
 
   json5 = callPackage ../development/python-modules/json5 { };
@@ -4284,6 +4295,8 @@ in {
 
   langdetect = callPackage ../development/python-modules/langdetect { };
 
+  language-data = callPackage ../development/python-modules/language-data { };
+
   lark-parser = callPackage ../development/python-modules/lark-parser { };
 
   latexcodec = callPackage ../development/python-modules/latexcodec { };
@@ -8518,6 +8531,8 @@ in {
 
   sapi-python-client = callPackage ../development/python-modules/sapi-python-client { };
 
+  sarif-om = callPackage ../development/python-modules/sarif-om { };
+
   sarge = callPackage ../development/python-modules/sarge { };
 
   sasmodels = callPackage ../development/python-modules/sasmodels { };
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index 59afe106416..30a321b00f3 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -433,8 +433,6 @@ with self; with super; {
 
   pydns = callPackage ../development/python-modules/pydns { };
 
-  pydocstyle = callPackage ../development/python-modules/pydocstyle/2.nix { };
-
   pyechonest = callPackage ../development/python-modules/pyechonest { };
 
   pyexcelerator = callPackage ../development/python-modules/pyexcelerator { };
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index fca5d376094..db3d82fc771 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -175,8 +175,7 @@ let
               # Lightweight distribution and test
               inherit (bootstrap) dist test;
               # Test a full stdenv bootstrap from the bootstrap tools definition
-              # TODO re-enable with https://github.com/NixOS/nixpkgs/pull/126411
-              # inherit (bootstrap.test-pkgs) stdenv;
+              inherit (bootstrap.test-pkgs) stdenv;
             };
 
           # Cross compiled bootstrap tools