summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2022-10-13 08:27:27 +0200
committerVladimír Čunát <v@cunat.cz>2022-10-13 08:27:55 +0200
commit00a757ed3f6b90ed325f27a29fea17a527cb2f8e (patch)
treec70865338202ea122fd63d601ea54cdb3782d50e /pkgs/development
parent2a3f0a650f1b047df90294c6d646b8ecdba119fa (diff)
parent732ec9dcc0f8db600e7894131de9c36a7c3cefb2 (diff)
downloadnixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar.gz
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar.bz2
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar.lz
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar.xz
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.tar.zst
nixpkgs-00a757ed3f6b90ed325f27a29fea17a527cb2f8e.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development')
-rwxr-xr-xpkgs/development/compilers/adoptopenjdk-bin/generate-sources.py2
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk14-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk15-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk16-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix7
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json104
-rw-r--r--pkgs/development/compilers/ligo/default.nix15
-rw-r--r--pkgs/development/compilers/ligo/ligo.patch99
-rw-r--r--pkgs/development/compilers/open-watcom/wrapper.nix2
-rw-r--r--pkgs/development/compilers/openjdk/17.nix7
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rwxr-xr-xpkgs/development/compilers/temurin-bin/generate-sources.py2
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-linux.nix5
-rw-r--r--pkgs/development/compilers/temurin-bin/sources.json76
-rw-r--r--pkgs/development/compilers/vala/default.nix12
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix2
-rw-r--r--pkgs/development/coq-modules/mathcomp-analysis/default.nix24
-rw-r--r--pkgs/development/embedded/arduino/arduino-language-server/default.nix33
-rw-r--r--pkgs/development/embedded/avrdude/default.nix18
-rw-r--r--pkgs/development/interpreters/elixir/1.14.nix6
-rw-r--r--pkgs/development/interpreters/gnudatalanguage/default.nix33
-rw-r--r--pkgs/development/interpreters/lua-5/default.nix4
-rw-r--r--pkgs/development/interpreters/python/rustpython/default.nix8
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py6
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix8
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix45
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix10
-rw-r--r--pkgs/development/libraries/atk/default.nix77
-rw-r--r--pkgs/development/libraries/atk/fix_pc.patch9
-rw-r--r--pkgs/development/libraries/flatpak/bubblewrap-paths.patch15
-rw-r--r--pkgs/development/libraries/flatpak/default.nix49
-rw-r--r--pkgs/development/libraries/flatpak/fix-icon-validation.patch31
-rw-r--r--pkgs/development/libraries/flatpak/fix-test-paths.patch89
-rw-r--r--pkgs/development/libraries/flatpak/no-breaking-fish.patch11
-rw-r--r--pkgs/development/libraries/flatpak/validate-icon-pixbuf.patch13
-rw-r--r--pkgs/development/libraries/folks/default.nix6
-rw-r--r--pkgs/development/libraries/gcab/default.nix6
-rw-r--r--pkgs/development/libraries/gcr/4.nix113
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix12
-rw-r--r--pkgs/development/libraries/geocode-glib/default.nix19
-rw-r--r--pkgs/development/libraries/geocode-glib/installed-tests-path.patch8
-rw-r--r--pkgs/development/libraries/gjs/default.nix8
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix14
-rw-r--r--pkgs/development/libraries/glib-networking/installed-tests-path.patch12
-rw-r--r--pkgs/development/libraries/glib/default.nix24
-rw-r--r--pkgs/development/libraries/glib/split-dev-programs.patch89
-rw-r--r--pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch8
-rw-r--r--pkgs/development/libraries/glibmm/2.68.nix4
-rw-r--r--pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--pkgs/development/libraries/gnome-desktop/default.nix6
-rw-r--r--pkgs/development/libraries/gnome-online-accounts/default.nix32
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix4
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/grilo-plugins/default.nix12
-rw-r--r--pkgs/development/libraries/grilo/default.nix8
-rw-r--r--pkgs/development/libraries/gsettings-desktop-schemas/default.nix4
-rw-r--r--pkgs/development/libraries/gspell/default.nix4
-rw-r--r--pkgs/development/libraries/gssdp/1.6.nix83
-rw-r--r--pkgs/development/libraries/gssdp/default.nix1
-rw-r--r--pkgs/development/libraries/gssdp/standalone-tools.patch4
-rw-r--r--pkgs/development/libraries/gssdp/tools.nix12
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix1
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/5.x.nix4
-rw-r--r--pkgs/development/libraries/gupnp/1.6.nix73
-rw-r--r--pkgs/development/libraries/gupnp/default.nix1
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix61
-rw-r--r--pkgs/development/libraries/libdvbcsa/default.nix2
-rw-r--r--pkgs/development/libraries/libgee/default.nix4
-rw-r--r--pkgs/development/libraries/libgepub/default.nix38
-rw-r--r--pkgs/development/libraries/libgflow/default.nix (renamed from pkgs/development/libraries/libgtkflow/default.nix)20
-rw-r--r--pkgs/development/libraries/libgnomekbd/default.nix28
-rw-r--r--pkgs/development/libraries/libgtkflow3/default.nix54
-rw-r--r--pkgs/development/libraries/libgtkflow4/default.nix54
-rw-r--r--pkgs/development/libraries/libgweather/default.nix15
-rw-r--r--pkgs/development/libraries/libhandy/default.nix4
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libpeas/default.nix4
-rw-r--r--pkgs/development/libraries/librest/1.0.nix2
-rw-r--r--pkgs/development/libraries/librsvg/default.nix67
-rw-r--r--pkgs/development/libraries/libshumate/default.nix8
-rw-r--r--pkgs/development/libraries/libsoup/3.x.nix24
-rw-r--r--pkgs/development/libraries/libusb1/default.nix2
-rw-r--r--pkgs/development/libraries/libwnck/default.nix16
-rw-r--r--pkgs/development/libraries/libwpe/default.nix6
-rw-r--r--pkgs/development/libraries/libwpe/fdo.nix6
-rw-r--r--pkgs/development/libraries/malcontent/default.nix8
-rw-r--r--pkgs/development/libraries/malcontent/ui.nix20
-rw-r--r--pkgs/development/libraries/nuspell/default.nix15
-rw-r--r--pkgs/development/libraries/nvidia-texture-tools/default.nix19
-rw-r--r--pkgs/development/libraries/pango/default.nix6
-rw-r--r--pkgs/development/libraries/pangomm/2.48.nix4
-rw-r--r--pkgs/development/libraries/pangomm/default.nix4
-rw-r--r--pkgs/development/libraries/plplot/default.nix11
-rw-r--r--pkgs/development/libraries/qrencode/default.nix4
-rw-r--r--pkgs/development/libraries/science/chemistry/openmm/default.nix91
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix7
-rw-r--r--pkgs/development/libraries/template-glib/default.nix52
-rw-r--r--pkgs/development/libraries/tepl/default.nix4
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix25
-rw-r--r--pkgs/development/libraries/tracker/default.nix6
-rw-r--r--pkgs/development/libraries/ucc/default.nix50
-rw-r--r--pkgs/development/libraries/vte/default.nix26
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK31.nix2
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix28
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix33
-rw-r--r--pkgs/development/lua-modules/overrides.nix7
-rw-r--r--pkgs/development/node-packages/node-packages.nix6
-rw-r--r--pkgs/development/ocaml-modules/bigstringaf/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/default.nix21
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/unix.nix34
-rw-r--r--pkgs/development/ocaml-modules/carton/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/carton/git.nix2
-rw-r--r--pkgs/development/ocaml-modules/carton/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/async.nix6
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/cstruct/lwt.nix12
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/sexp.nix7
-rw-r--r--pkgs/development/ocaml-modules/cstruct/unix.nix12
-rw-r--r--pkgs/development/ocaml-modules/data-encoding/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ff/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ff/pbt.nix6
-rw-r--r--pkgs/development/ocaml-modules/ff/sig.nix12
-rw-r--r--pkgs/development/ocaml-modules/git/cohttp-unix.nix17
-rw-r--r--pkgs/development/ocaml-modules/git/cohttp.nix19
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/git/mirage.nix95
-rw-r--r--pkgs/development/ocaml-modules/git/paf.nix6
-rw-r--r--pkgs/development/ocaml-modules/git/unix.nix33
-rw-r--r--pkgs/development/ocaml-modules/irmin/chunk.nix6
-rw-r--r--pkgs/development/ocaml-modules/irmin/containers.nix6
-rw-r--r--pkgs/development/ocaml-modules/irmin/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/irmin/fs.nix13
-rw-r--r--pkgs/development/ocaml-modules/irmin/git.nix15
-rw-r--r--pkgs/development/ocaml-modules/irmin/graphql.nix15
-rw-r--r--pkgs/development/ocaml-modules/irmin/http.nix12
-rw-r--r--pkgs/development/ocaml-modules/irmin/layers.nix18
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage-git.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage-graphql.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/pack.nix17
-rw-r--r--pkgs/development/ocaml-modules/irmin/ppx.nix11
-rw-r--r--pkgs/development/ocaml-modules/irmin/test.nix25
-rw-r--r--pkgs/development/ocaml-modules/irmin/tezos.nix33
-rw-r--r--pkgs/development/ocaml-modules/irmin/unix.nix33
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/2.14.0.nix41
-rw-r--r--pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/repr/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/repr/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/ringo/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ringo/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/wodan/irmin.nix3
-rw-r--r--pkgs/development/python-modules/ansible/core.nix4
-rw-r--r--pkgs/development/python-modules/astroquery/default.nix3
-rw-r--r--pkgs/development/python-modules/azure-mgmt-authorization/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-storage-file-share/default.nix4
-rw-r--r--pkgs/development/python-modules/bcrypt/3.nix51
-rw-r--r--pkgs/development/python-modules/bip_utils/default.nix27
-rw-r--r--pkgs/development/python-modules/blebox-uniapi/default.nix12
-rw-r--r--pkgs/development/python-modules/click-option-group/default.nix6
-rw-r--r--pkgs/development/python-modules/crate/default.nix4
-rw-r--r--pkgs/development/python-modules/desktop-notifier/default.nix6
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix4
-rw-r--r--pkgs/development/python-modules/ed25519-blake2b/default.nix27
-rw-r--r--pkgs/development/python-modules/enlighten/default.nix4
-rw-r--r--pkgs/development/python-modules/fastapi-mail/default.nix4
-rw-r--r--pkgs/development/python-modules/gaphas/default.nix4
-rw-r--r--pkgs/development/python-modules/geeknote/default.nix2
-rw-r--r--pkgs/development/python-modules/git-filter-repo/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datacatalog/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dataproc/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datastore/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-error-reporting/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-firestore/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-iam-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-iot/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-os-config/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-resource-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-securitycenter/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-speech/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-trace/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-translate/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-videointelligence/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hopcroftkarp/default.nix2
-rw-r--r--pkgs/development/python-modules/imageio/default.nix8
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix2
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/pulumi-aws/default.nix1
-rw-r--r--pkgs/development/python-modules/py-bip39-bindings/Cargo.lock773
-rw-r--r--pkgs/development/python-modules/py-bip39-bindings/default.nix58
-rw-r--r--pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock563
-rw-r--r--pkgs/development/python-modules/py-sr25519-bindings/default.nix60
-rw-r--r--pkgs/development/python-modules/pyatspi/default.nix4
-rw-r--r--pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pyregion/default.nix18
-rw-r--r--pkgs/development/python-modules/python3-application/default.nix19
-rw-r--r--pkgs/development/python-modules/reproject/default.nix11
-rw-r--r--pkgs/development/python-modules/skia-pathops/default.nix8
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix16
-rw-r--r--pkgs/development/tools/azure-functions-core-tools/default.nix34
-rw-r--r--pkgs/development/tools/continuous-integration/dagger/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix9
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gi-docgen/default.nix10
-rw-r--r--pkgs/development/tools/faas-cli/default.nix4
-rw-r--r--pkgs/development/tools/glade/default.nix30
-rw-r--r--pkgs/development/tools/misc/d-spy/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix4
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix6
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--pkgs/development/tools/overcommit/Gemfile.lock12
-rw-r--r--pkgs/development/tools/overcommit/default.nix8
-rw-r--r--pkgs/development/tools/overcommit/gemset.nix24
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix8
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix1
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock87
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml42
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json4
-rw-r--r--pkgs/development/tools/profiling/sysprof/capture.nix10
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix21
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/run/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-hf2/add-cargo-lock.patch789
-rw-r--r--pkgs/development/tools/rust/cargo-hf2/default.nix38
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix4
-rw-r--r--pkgs/development/tools/vala-language-server/default.nix13
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/valum/default.nix3
265 files changed, 4748 insertions, 1402 deletions
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
index 1d030e3f1d2..5ff56b2bd29 100755
--- a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
+++ b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
@@ -8,7 +8,7 @@ import sys
 
 # openjdk15 is only for bootstrapping openjdk
 releases = ("openjdk8", "openjdk11", "openjdk13", "openjdk14", "openjdk15", "openjdk16", "openjdk17")
-oses = ("mac", "linux")
+oses = ("mac", "linux", "alpine_linux")
 types = ("jre", "jdk")
 impls = ("hotspot", "openj9")
 
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
index da5e9c49d23..fcad50017db 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.linux.jdk.hotspot; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.linux.jre.hotspot; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.linux.jdk.openj9; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.linux.jre.openj9; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.${variant}.jdk.hotspot; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.${variant}.jre.hotspot; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.${variant}.jdk.openj9; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk11.${variant}.jre.openj9; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix
index f503b03a833..6c57b542e65 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk13-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.linux.jdk.hotspot; knownVulnerabilities = ["Support ended"]; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.linux.jre.hotspot; knownVulnerabilities = ["Support ended"]; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.linux.jdk.openj9; knownVulnerabilities = ["Support ended"]; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.linux.jre.openj9; knownVulnerabilities = ["Support ended"]; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.${variant}.jdk.hotspot; knownVulnerabilities = ["Support ended"]; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.${variant}.jre.hotspot; knownVulnerabilities = ["Support ended"]; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.${variant}.jdk.openj9; knownVulnerabilities = ["Support ended"]; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk13.${variant}.jre.openj9; knownVulnerabilities = ["Support ended"]; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk14-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk14-linux.nix
index a55a708b372..573fc17b51b 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk14-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk14-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.linux.jdk.hotspot; knownVulnerabilities = ["Support ended"]; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.linux.jre.hotspot; knownVulnerabilities = ["Support ended"]; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.linux.jdk.openj9; knownVulnerabilities = ["Support ended"]; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.linux.jre.openj9; knownVulnerabilities = ["Support ended"]; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.${variant}.jdk.hotspot; knownVulnerabilities = ["Support ended"]; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.${variant}.jre.hotspot; knownVulnerabilities = ["Support ended"]; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.${variant}.jdk.openj9; knownVulnerabilities = ["Support ended"]; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk14.${variant}.jre.openj9; knownVulnerabilities = ["Support ended"]; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk15-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk15-linux.nix
index e248555a6d0..7c6d1d36021 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk15-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk15-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.linux.jdk.hotspot; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.linux.jre.hotspot; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.linux.jdk.openj9; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.linux.jre.openj9; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.${variant}.jdk.hotspot; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.${variant}.jre.hotspot; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.${variant}.jdk.openj9; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk15.${variant}.jre.openj9; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk16-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk16-linux.nix
index 794545ea80a..3d803901d34 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk16-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk16-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.linux.jdk.hotspot; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.linux.jre.hotspot; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.linux.jdk.openj9; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.linux.jre.openj9; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.${variant}.jdk.hotspot; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.${variant}.jre.hotspot; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.${variant}.jdk.openj9; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk16.${variant}.jre.openj9; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix
index f162d8d2968..e069a8521d7 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix
@@ -1,9 +1,10 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk17.linux.jdk.hotspot; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk17.linux.jre.hotspot; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk17.${variant}.jdk.hotspot; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk17.${variant}.jre.hotspot; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix
index 67b50220ba2..2b0cac66498 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix
@@ -1,11 +1,12 @@
-{ lib }:
+{ stdenv, lib }:
 
 let
+  variant = if stdenv.hostPlatform.isMusl then "alpine_linux" else "linux";
   sources = lib.importJSON ./sources.json;
 in
 {
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.linux.jdk.hotspot; };
-  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.linux.jre.hotspot; };
-  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.linux.jdk.openj9; };
-  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.linux.jre.openj9; };
+  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.${variant}.jdk.hotspot; };
+  jre-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.${variant}.jre.hotspot; };
+  jdk-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.${variant}.jdk.openj9; };
+  jre-openj9 = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk8.${variant}.jre.openj9; };
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 7738e410162..54b75e8e73c 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -1,5 +1,31 @@
 {
   "openjdk11": {
+    "alpine_linux": {
+      "jdk": {
+        "hotspot": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "101",
+            "sha256": "327b3bfd1c14e15bf6c7fb4d0c6c3f9406c1282a16e24b1424215d764f687cb6",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "101",
+            "sha256": "4cdebb54ead80e6dff562ad51db850244b1b419ba72062782156df59854a6b22",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        }
+      }
+    },
     "linux": {
       "jdk": {
         "hotspot": {
@@ -628,6 +654,32 @@
     }
   },
   "openjdk16": {
+    "alpine_linux": {
+      "jdk": {
+        "hotspot": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "7",
+            "sha256": "85788b1a1f470ca7ddc576028f29abbc3bc3b08f82dd811a3e24371689d7dc0f",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_alpine-linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "9",
+            "sha256": "5f10ffc12056b735f5fe505ec6c481fff94de27e80c1d77ea9f9e2830669cc1d",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_x64_alpine-linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
+          }
+        }
+      }
+    },
     "linux": {
       "jdk": {
         "hotspot": {
@@ -794,6 +846,32 @@
     }
   },
   "openjdk17": {
+    "alpine_linux": {
+      "jdk": {
+        "hotspot": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "101",
+            "sha256": "1a1706304c26da0d8d2e05127c5aa7dba00e5401b2c0228c8ae894d2812beee0",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "101",
+            "sha256": "cd0300449a26b3141e313f6ab55b20edfa4b289dc44a7a3989fa2c29152bf7fb",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        }
+      }
+    },
     "linux": {
       "jdk": {
         "hotspot": {
@@ -896,6 +974,32 @@
     }
   },
   "openjdk8": {
+    "alpine_linux": {
+      "jdk": {
+        "hotspot": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "e5dcb8f947b687597f92fa80c008a2a17ce86f739dd6dce7ca741921621acb21",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "6352a4d55373266af90b2f2ec13f4397ada58f5cdc57944ea046c9c538341fd3",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_x64_alpine-linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    },
     "linux": {
       "jdk": {
         "hotspot": {
diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix
index ab61043048a..632737562f8 100644
--- a/pkgs/development/compilers/ligo/default.nix
+++ b/pkgs/development/compilers/ligo/default.nix
@@ -3,27 +3,27 @@
 , git
 , coq
 , cacert
+, ocaml-crunch
 }:
 
 coq.ocamlPackages.buildDunePackage rec {
   pname = "ligo";
-  version = "0.36.0";
+  version = "0.47.0";
   src = fetchFromGitLab {
     owner = "ligolang";
     repo = "ligo";
     rev = version;
-    sha256 = "0zx8ai79ha3npm3aybzgisil27v9i052cqdllfri0fsc67dig78b";
+    sha256 = "sha256-VJs0pKA99mZXhipK1bSAZmgAHvYbGbjxdI2XyJYjSm0=";
     fetchSubmodules = true;
   };
 
   # The build picks this up for ligo --version
   LIGO_VERSION = version;
 
-  useDune2 = true;
-
   strictDeps = true;
 
   nativeBuildInputs = [
+    ocaml-crunch
     git
     coq
     coq.ocamlPackages.menhir
@@ -49,6 +49,11 @@ coq.ocamlPackages.buildDunePackage rec {
     core_unix
     pprint
     linenoise
+    dune-configurator
+    ctypes_stubs_js
+    crunch
+    zarith_stubs_js
+    pure-splitmix
 
     # Test helpers deps
     qcheck
@@ -61,7 +66,7 @@ coq.ocamlPackages.buildDunePackage rec {
     hacl-star-raw
     lwt-canceler
     ipaddr
-    bls12-381-unix
+    bls12-381
     bls12-381-legacy
     ptime
     mtime
diff --git a/pkgs/development/compilers/ligo/ligo.patch b/pkgs/development/compilers/ligo/ligo.patch
index 1a076cf18ce..644e158318f 100644
--- a/pkgs/development/compilers/ligo/ligo.patch
+++ b/pkgs/development/compilers/ligo/ligo.patch
@@ -1,23 +1,40 @@
+From 6926fed076c2f5aa3282dbca10538d156c045c6f Mon Sep 17 00:00:00 2001
+From: bezmuth <benkel97@protonmail.com>
+Date: Wed, 3 Aug 2022 15:53:10 +0100
+Subject: [PATCH] Compat with core v0.15.0
+
+---
+ ligo.opam                                  | 4 +++-
+ ligo.opam.locked                           | 5 +++--
+ src/bin/cli.ml                             | 4 ++--
+ src/bin/dune                               | 4 +++-
+ src/main/helpers/cli_helpers.ml            | 4 ++--
+ src/main/interpreter/dune                  | 2 +-
+ src/main/interpreter/interpreter.ml        | 2 ++
+ vendors/ligo-utils/simple-utils/dune       | 1 +
+ vendors/ligo-utils/simple-utils/snippet.ml | 2 +-
+ 9 files changed, 18 insertions(+), 10 deletions(-)
+
 diff --git a/ligo.opam b/ligo.opam
-index d561c74d1..3a8d34feb 100644
+index 47513217f..073f68ff5 100644
 --- a/ligo.opam
 +++ b/ligo.opam
 @@ -10,7 +10,9 @@ license: "MIT"
  # If you change the dependencies, run `opam lock` in the root
  depends: [
    # Jane Street Core
--  "core"
-+  "core" { >= "v0.14.0" & < "v0.16.0" }
-+  "core_kernel" { >= "v0.14.0" & "v0.16.0" }
-+  "core_unix" { >= "v0.14.0" & "v0.16.0" }
+-  "core" {= "v0.14.1"}
++  "core" {>= "v0.14.1" & < "v0.16.0"}
++  "core_kernel" { >= "v0.14.1" & "v0.16.0"}
++  "core_unix" { >= "v0.14.1"  & "v0.16.0"}
    # Tooling
    "odoc" { build }
    "ocamlfind" { build }
 diff --git a/ligo.opam.locked b/ligo.opam.locked
-index b4501cc76..c8ed8a41f 100644
+index fd6fccf03..458e11791 100644
 --- a/ligo.opam.locked
 +++ b/ligo.opam.locked
-@@ -50,8 +50,9 @@ depends: [
+@@ -47,8 +47,9 @@ depends: [
    "conf-rust" {= "0.1"}
    "conf-which" {= "1"}
    "coq" {= "8.13.2"}
@@ -28,12 +45,12 @@ index b4501cc76..c8ed8a41f 100644
 +  "core_unix" {= "v0.15.0"}
    "cppo" {= "1.6.8"}
    "csexp" {= "1.5.1"}
-   "cstruct" {= "6.0.1"}
+   "cstruct" {= "6.1.0"}
 diff --git a/src/bin/cli.ml b/src/bin/cli.ml
-index a6fc13e0d..ef5177868 100644
+index dcaa85621..e411d8f32 100644
 --- a/src/bin/cli.ml
 +++ b/src/bin/cli.ml
-@@ -12,7 +12,7 @@ let entry_point =
+@@ -14,7 +14,7 @@ let entry_point =
  let source_file =
      let name = "SOURCE_FILE" in
      let _doc = "the path to the smart contract file." in
@@ -42,7 +59,7 @@ index a6fc13e0d..ef5177868 100644
  
  let package_name =
    let name = "PACKAGE_NAME" in
-@@ -662,7 +662,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"the LigoLANG co
+@@ -783,7 +783,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"The LigoLANG co
    ]
  
  let run ?argv () =
@@ -51,27 +68,8 @@ index a6fc13e0d..ef5177868 100644
    (* Effect to error code *)
    match !return with
      Done -> 0;
-@@ -677,4 +677,3 @@ let run ?argv () =
-     match exn with
-     | Failure msg -> message msg
-     | exn -> message (Exn.to_string exn)
--  
-diff --git a/src/bin/cli_helpers.ml b/src/bin/cli_helpers.ml
-index b64a17d53..8c4c43dde 100644
---- a/src/bin/cli_helpers.ml
-+++ b/src/bin/cli_helpers.ml
-@@ -66,7 +66,7 @@ let run_command (cmd : command) =
-     (fun p -> Lwt.map  
-       (fun status -> 
-         match status with
--          Caml.Unix.WEXITED 0 -> Ok ()
-+          Caml_unix.WEXITED 0 -> Ok ()
-         | _ -> Error ("unknown error"))
-         p#status) in
-   Lwt_main.run status
-\ No newline at end of file
 diff --git a/src/bin/dune b/src/bin/dune
-index 295c056f3..08d980439 100644
+index 03e5f17b5..74340ae9d 100644
 --- a/src/bin/dune
 +++ b/src/bin/dune
 @@ -11,7 +11,9 @@
@@ -84,31 +82,47 @@ index 295c056f3..08d980439 100644
 +  core_unix.filename_unix)
   (modules cli version))
  
- (library
+ 
+diff --git a/src/main/helpers/cli_helpers.ml b/src/main/helpers/cli_helpers.ml
+index 3d09ee6b8..585cca6fa 100644
+--- a/src/main/helpers/cli_helpers.ml
++++ b/src/main/helpers/cli_helpers.ml
+@@ -71,7 +71,7 @@ let run_command (cmd : command) =
+     (fun p -> Lwt.map  
+       (fun status -> 
+         match status with
+-          Caml.Unix.WEXITED 0 -> Ok ()
++          Caml_unix.WEXITED 0 -> Ok ()
+         | _ -> Error ("unknown error"))
+         p#status) in
+-  Lwt_main.run status
+\ No newline at end of file
++  Lwt_main.run status
 diff --git a/src/main/interpreter/dune b/src/main/interpreter/dune
-index c55e24a88..f9762a297 100644
+index 6ccc74ff0..7d38bb822 100644
 --- a/src/main/interpreter/dune
 +++ b/src/main/interpreter/dune
 @@ -4,4 +4,4 @@
   (instrumentation
    (backend bisect_ppx))
-  (libraries tezos-011-PtHangz2-test-helpers ast_aggregated ligo_interpreter
--   main_errors ligo_compile build fuzz ligo_run self_ast_typed))
-+   main_errors ligo_compile build fuzz ligo_run self_ast_typed core_unix.sys_unix))
+  (libraries tezos-013-PtJakart-test-helpers ast_aggregated ligo_interpreter
+-   main_errors ligo_compile build fuzz ligo_run self_ast_typed bls12-381))
++   main_errors ligo_compile build fuzz ligo_run self_ast_typed bls12-381 core_unix.sys_unix))
 diff --git a/src/main/interpreter/interpreter.ml b/src/main/interpreter/interpreter.ml
-index b0379029c..530e08c3a 100644
+index 0f76a286c..d9a389a6b 100644
 --- a/src/main/interpreter/interpreter.ml
 +++ b/src/main/interpreter/interpreter.ml
-@@ -2,6 +2,7 @@ open Simple_utils.Trace
- open Simple_utils
+@@ -3,6 +3,8 @@ open Simple_utils
  open Ligo_interpreter.Types
  open Ligo_interpreter.Combinators
-+module Sys = Sys_unix
  
++module Sys = Sys_unix
++
  module AST = Ast_aggregated
  
+ include AST.Types
 diff --git a/vendors/ligo-utils/simple-utils/dune b/vendors/ligo-utils/simple-utils/dune
-index ca9f2bf5c..62c39087b 100644
+index becca2f86..a890dbf62 100644
 --- a/vendors/ligo-utils/simple-utils/dune
 +++ b/vendors/ligo-utils/simple-utils/dune
 @@ -6,6 +6,7 @@
@@ -132,3 +146,6 @@ index 658f115f2..f23000590 100644
    let start = l#start#line in
    let start_column = l#start#offset `Byte in
    let stop = l#stop#line in
+-- 
+2.36.1
+
diff --git a/pkgs/development/compilers/open-watcom/wrapper.nix b/pkgs/development/compilers/open-watcom/wrapper.nix
index fe787cbedbf..0677d32e6ea 100644
--- a/pkgs/development/compilers/open-watcom/wrapper.nix
+++ b/pkgs/development/compilers/open-watcom/wrapper.nix
@@ -18,7 +18,7 @@ let
         "binnt"
         (lib.optionalString is32bit "binw")
       ] else if (isDarwin && is64bit) then [
-        "osx64"
+        "bino64"
       ] else [
         (lib.optionalString is64bit "binl64")
         "binl"
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
index 41af0d72246..e9408ba341b 100644
--- a/pkgs/development/compilers/openjdk/17.nix
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -51,6 +51,13 @@ let
         url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
         sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
       })
+
+      # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc.
+      # This is applied anywhere to prevent patchrot.
+      (fetchurl {
+        url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=6f97cb0ae4dff6588dae5868c2522aea96c99d2c";
+        sha256 = "sha256-giOmMInwLH0Ei9H7ETsrrzQU09I6+dn8KpPrKb7zn8I=";
+      })
     ] ++ lib.optionals (!headless && enableGnome2) [
       ./swing-use-gtk-jdk13.patch
     ];
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index f1f97216ef3..e82649d1485 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,7 +18,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.15.4";
+  version = "0.15.5";
 
   # These hashes can be updated automatically by running the ./update.sh script.
   src =
@@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0rksc6c98pp48lcavair6apjpgq3s1zz0lhkc59vbz67c8zxc26d";
+      sha256 = "1q67yg1i8xd0pjx82lp2lkk95ah86r46gmxnliy0r4lllyr4x4fv";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "13p6qsba6kmcsppc3z6vcm3v5c7jxhp10nyvxry4nmj9mkdmjaiy";
+      sha256 = "17cczln5gdbg274h16l82hgnnwfb1ylvxd2h7119ig834dcbppxn";
     };
 
 
diff --git a/pkgs/development/compilers/temurin-bin/generate-sources.py b/pkgs/development/compilers/temurin-bin/generate-sources.py
index ae3c06d1dfe..7af35920efc 100755
--- a/pkgs/development/compilers/temurin-bin/generate-sources.py
+++ b/pkgs/development/compilers/temurin-bin/generate-sources.py
@@ -7,7 +7,7 @@ import requests
 import sys
 
 feature_versions = (8, 11, 16, 17)
-oses = ("mac", "linux")
+oses = ("mac", "linux", "alpine-linux")
 types = ("jre", "jdk")
 impls = ("hotspot")
 
diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux.nix b/pkgs/development/compilers/temurin-bin/jdk-linux.nix
index 4c0306d5aba..df136f8d0c1 100644
--- a/pkgs/development/compilers/temurin-bin/jdk-linux.nix
+++ b/pkgs/development/compilers/temurin-bin/jdk-linux.nix
@@ -1,7 +1,8 @@
-{ lib, callPackage }:
+{ stdenv, lib, callPackage }:
 
 let
-  sources = (lib.importJSON ./sources.json).hotspot.linux;
+  variant = if stdenv.hostPlatform.isMusl then "alpine-linux" else "linux";
+  sources = (lib.importJSON ./sources.json).hotspot.${variant};
   common = opts: callPackage (import ./jdk-linux-base.nix opts) {};
 in
 {
diff --git a/pkgs/development/compilers/temurin-bin/sources.json b/pkgs/development/compilers/temurin-bin/sources.json
index ee823173821..ec696e1ac20 100644
--- a/pkgs/development/compilers/temurin-bin/sources.json
+++ b/pkgs/development/compilers/temurin-bin/sources.json
@@ -1,5 +1,81 @@
 {
   "hotspot": {
+    "alpine-linux": {
+      "jdk": {
+        "openjdk11": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "327b3bfd1c14e15bf6c7fb4d0c6c3f9406c1282a16e24b1424215d764f687cb6",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "7",
+            "sha256": "85788b1a1f470ca7ddc576028f29abbc3bc3b08f82dd811a3e24371689d7dc0f",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_alpine-linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "1a1706304c26da0d8d2e05127c5aa7dba00e5401b2c0228c8ae894d2812beee0",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "e5dcb8f947b687597f92fa80c008a2a17ce86f739dd6dce7ca741921621acb21",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "openjdk11": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "4cdebb54ead80e6dff562ad51db850244b1b419ba72062782156df59854a6b22",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk17": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "cd0300449a26b3141e313f6ab55b20edfa4b289dc44a7a3989fa2c29152bf7fb",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "6352a4d55373266af90b2f2ec13f4397ada58f5cdc57944ea046c9c538341fd3",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_x64_alpine-linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    },
     "linux": {
       "jdk": {
         "openjdk11": {
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 43ff938598d..6db4b9c959b 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -93,18 +93,18 @@ let
 
 in rec {
   vala_0_48 = generic {
-    version = "0.48.24";
-    sha256 = "NknvhFc7aGX8NHBkDuYDcgCZ65FbOfqtGbdJjeGn3yQ=";
+    version = "0.48.25";
+    sha256 = "UMs8Xszdx/1DaL+pZBSlVgReedKxWmiRjHJ7jIOxiiQ=";
   };
 
   vala_0_54 = generic {
-    version = "0.54.8";
-    sha256 = "7fs+eUhqS/SM666pKR5X/HfakyK2lh6VSd9tlz0EvIA=";
+    version = "0.54.9";
+    sha256 = "hXLA6Nd9eMFZfVFgCPBUDH50leA10ou0wlzJk+U85LQ=";
   };
 
   vala_0_56 = generic {
-    version = "0.56.2";
-    sha256 = "Zslhm7F4Wf0aw6ugpXlwYT44/Soe4wVBF0JgyfuQEkw=";
+    version = "0.56.3";
+    sha256 = "4QZiIb97icsfpzJ6OIhkXLM7YE3jv0WqgRMv0EC2mb8=";
   };
 
   vala = vala_0_56;
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index c872659b50c..8adea66a6de 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -53,6 +53,8 @@ in mkCoqDerivation {
   release."1.6.0".sha256      = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b";
   releaseRev = v: "v${v}";
 
+  buildFlags = [ "OCAMLWARN=" ];
+
   mlPlugin = true;
   propagatedBuildInputs = [ elpi ];
 
diff --git a/pkgs/development/coq-modules/mathcomp-analysis/default.nix b/pkgs/development/coq-modules/mathcomp-analysis/default.nix
index 99c760fce0c..a42b551d184 100644
--- a/pkgs/development/coq-modules/mathcomp-analysis/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-analysis/default.nix
@@ -1,7 +1,8 @@
 { lib,
   mkCoqDerivation, recurseIntoAttrs,
-  mathcomp, mathcomp-finmap, mathcomp-bigenough, mathcomp-real-closed,
+  mathcomp, mathcomp-finmap, mathcomp-bigenough,
   hierarchy-builder,
+  single ? false,
   coqPackages, coq, version ? null }@args:
 with builtins // lib;
 let
@@ -36,20 +37,23 @@ let
   packages = [ "classical" "analysis" ];
 
   mathcomp_ = package: let
-      analysis-deps = map mathcomp_ (head (splitList (pred.equal package) packages));
-      pkgpath = if package == "analysis" then "theories" else "${package}";
-      pname = "mathcomp-${package}";
+      classical-deps = [ mathcomp.algebra mathcomp-finmap hierarchy-builder ];
+      analysis-deps = [ mathcomp.field mathcomp-bigenough ];
+      intra-deps = if package == "single" then []
+        else map mathcomp_ (head (splitList (pred.equal package) packages));
+      pkgpath = if package == "single" then "."
+        else if package == "analysis" then "theories" else "${package}";
+      pname = if package == "single" then "mathcomp-analysis-single"
+        else "mathcomp-${package}";
       derivation = mkCoqDerivation ({
         inherit version pname defaultVersion release repo owner;
 
         namePrefix = [ "coq" "mathcomp" ];
 
         propagatedBuildInputs =
-          (if package == "classical" then
-             [ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap ]
-           else
-             [ mathcomp.field mathcomp-bigenough mathcomp-real-closed ])
-          ++ [ analysis-deps ];
+          intra-deps
+          ++ optionals (elem package [ "classical" "single" ]) classical-deps
+          ++ optionals (elem package [ "analysis" "single" ]) analysis-deps;
 
         preBuild = ''
           cd ${pkgpath}
@@ -83,4 +87,4 @@ let
     );
     in patched-derivation;
 in
-mathcomp_ "analysis"
+mathcomp_ (if single then "single" else "analysis")
diff --git a/pkgs/development/embedded/arduino/arduino-language-server/default.nix b/pkgs/development/embedded/arduino/arduino-language-server/default.nix
new file mode 100644
index 00000000000..cba2e595cf7
--- /dev/null
+++ b/pkgs/development/embedded/arduino/arduino-language-server/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "arduino-language-server";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "arduino";
+    repo = "arduino-language-server";
+    rev = version;
+    hash = "sha256-FnkXtjktj22LCkmFPxzQ72qiVBC1WR/ZiwMsmZPL578=";
+  };
+
+  subPackages = [ "." ];
+
+  vendorHash = "sha256-Xa26ilo95sQ/6dGvl4gB2bb0vzWXr+WPKLezAnZPeqM=";
+
+  doCheck = false;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/arduino/arduino-language-server/version.versionString=${version}"
+    "-X github.com/arduino/arduino-language-server/version.commit=unknown"
+  ] ++ lib.optionals stdenv.isLinux [ "-extldflags '-static'" ];
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "An Arduino Language Server based on Clangd to Arduino code autocompletion";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ BattleCh1cken ];
+  };
+}
diff --git a/pkgs/development/embedded/avrdude/default.nix b/pkgs/development/embedded/avrdude/default.nix
index 83dbf2a18fa..a6ddb17f928 100644
--- a/pkgs/development/embedded/avrdude/default.nix
+++ b/pkgs/development/embedded/avrdude/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, bison, flex, libusb-compat-0_1, libelf, libftdi1, readline
+{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf, libftdi1, readline
 # docSupport is a big dependency, disabled by default
 , docSupport ? false, texLive ? null, texinfo ? null, texi2html ? null
 }:
@@ -9,16 +9,22 @@ stdenv.mkDerivation rec {
   pname = "avrdude";
   version = "7.0";
 
-  src = fetchurl {
-    url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-wO9l2Y1gQMoLTytwDVFGPCoflGZUQfOdFdl0Qtu3m1Q=";
+  src = fetchFromGitHub {
+    owner = "avrdudes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-T8MKrvBvFF3WFwBMIN75vCOS0khliHQI+GGQvCk7T1o=";
   };
 
-  configureFlags = lib.optionals docSupport "--enable-doc";
+  nativeBuildInputs = [ cmake bison flex ];
 
-  buildInputs = [ bison flex libusb-compat-0_1 libelf libftdi1 readline ]
+  buildInputs = [ libusb-compat-0_1 libelf libftdi1 readline ]
     ++ lib.optionals docSupport [ texLive texinfo texi2html ];
 
+  cmakeFlags = lib.optionals docSupport [
+    "-DBUILD_DOC=ON"
+  ];
+
   meta = with lib; {
     description = "Command-line tool for programming Atmel AVR microcontrollers";
     longDescription = ''
diff --git a/pkgs/development/interpreters/elixir/1.14.nix b/pkgs/development/interpreters/elixir/1.14.nix
index 8b540014c66..555a202659f 100644
--- a/pkgs/development/interpreters/elixir/1.14.nix
+++ b/pkgs/development/interpreters/elixir/1.14.nix
@@ -1,8 +1,8 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "1.14.0";
-  sha256 = "16rc4qaykddda6ax5f8zw70yhapgwraqbgx5gp3f40dvfax3d51l";
-  # https://hexdocs.pm/elixir/1.14.0/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
+  version = "1.14.1";
+  sha256 = "sha256-/QQckiRvwmD3gdIo19TXM0bIgdxNx8eQwpd1RnEo35A=";
+  # https://hexdocs.pm/elixir/1.14.1/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
   minimumOTPVersion = "23";
 }
diff --git a/pkgs/development/interpreters/gnudatalanguage/default.nix b/pkgs/development/interpreters/gnudatalanguage/default.nix
index fa01badfc11..f4d364fcd14 100644
--- a/pkgs/development/interpreters/gnudatalanguage/default.nix
+++ b/pkgs/development/interpreters/gnudatalanguage/default.nix
@@ -18,13 +18,16 @@
 , udunits
 , eigen
 , pslib
-, eccodes
-, glpk
 , libpng
 , plplot
 , libtiff
 , libgeotiff
 , libjpeg
+  # eccodes is broken on darwin
+, enableGRIB ? stdenv.isLinux
+, eccodes
+, enableGLPK ? stdenv.isLinux
+, glpk
   # We enable it in hdf4 and use libtirpc as a dependency here from the passthru
   # of hdf4
 , enableLibtirpc ? stdenv.isLinux
@@ -53,9 +56,10 @@
 , netcdf-forced ? null
 , plplot-forced ? null
   # wxWidgets is preferred over X11 for this project but we only have it on Linux
-  # and Darwin. Also, we use the wxWidgets dependency here from the passthru of
-  # plplot.
+  # and Darwin.
 , enableWX ? (stdenv.isLinux || stdenv.isDarwin)
+, wxGTK32
+, Cocoa
   # X11: OFF by default for platform consistency. Use X where WX is not available
 , enableXWin ? (!stdenv.isLinux && !stdenv.isDarwin)
 }:
@@ -128,8 +132,6 @@ stdenv.mkDerivation rec {
     udunits
     eigen
     pslib
-    eccodes
-    glpk
     libpng
     libtiff
     libgeotiff
@@ -139,7 +141,10 @@ stdenv.mkDerivation rec {
     netcdf-custom
     plplot-with-drivers
   ] ++ lib.optional enableXWin plplot-with-drivers.libX11
-  ++ lib.optional enableWX plplot-with-drivers.wxWidgets
+  ++ lib.optional enableGRIB eccodes
+  ++ lib.optional enableGLPK glpk
+  ++ lib.optional enableWX wxGTK32
+  ++ lib.optional (enableWX && stdenv.isDarwin) Cocoa
   ++ lib.optional enableMPI mpi
   ++ lib.optional enableLibtirpc hdf4-custom.libtirpc
   ++ lib.optional enableSzip szip;
@@ -156,19 +161,29 @@ stdenv.mkDerivation rec {
     ++ [ (if enableHDF5 then "-DHDF5DIR=${hdf5-custom}" else "-DHDF5=OFF") ]
     ++ lib.optional (!enableNetCDF) "-DNETCDF=OFF"
     ++ lib.optional (!enablePlplotDrivers) "-DINTERACTIVE_GRAPHICS=OFF"
+    ++ lib.optional (!enableGRIB) "-DGRIB=OFF"
+    ++ lib.optional (!enableGLPK) "-DGLPK=OFF"
     ++ lib.optional (!enableWX) "-DWXWIDGETS=OFF"
     ++ lib.optional enableSzip "-DSZIPDIR=${szip}"
     ++ lib.optionals enableXWin [ "-DX11=ON" "-DX11DIR=${plplot-with-drivers.libX11}" ]
     ++ lib.optionals enableMPI [ "-DMPI=ON" "-DMPIDIR=${mpi}" ];
 
-  doCheck = true;
+  # Tests are failing on Hydra:
+  # ./src/common/dpycmn.cpp(137): assert ""IsOk()"" failed in GetClientArea(): invalid wxDisplay object
+  doCheck = stdenv.isLinux;
 
   # Opt-out unstable tests
   # https://github.com/gnudatalanguage/gdl/issues/482
   # https://github.com/gnudatalanguage/gdl/issues/1079
   # https://github.com/gnudatalanguage/gdl/issues/460
   preCheck = ''
-    checkFlagsArray+=("ARGS=-E 'test_tic_toc.pro|test_byte_conversion.pro|test_bytscl.pro|test_call_external.pro'")
+    checkFlagsArray+=("ARGS=-E '${lib.concatMapStringsSep "|" (test: test + ".pro") [
+      "test_byte_conversion"
+      "test_bytscl"
+      "test_call_external"
+      "test_tic_toc"
+      "test_timestamp"
+    ]}'")
   '';
 
   passthru = {
diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix
index 7a43b92b205..59ae4a2db6f 100644
--- a/pkgs/development/interpreters/lua-5/default.nix
+++ b/pkgs/development/interpreters/lua-5/default.nix
@@ -78,8 +78,8 @@ in
 rec {
   lua5_4 = callPackage ./interpreter.nix {
     self = lua5_4;
-    sourceVersion = { major = "5"; minor = "4"; patch = "3"; };
-    hash = "1yxvjvnbg4nyrdv10bq42gz6dr66pyan28lgzfygqfwy2rv24qgq";
+    sourceVersion = { major = "5"; minor = "4"; patch = "4"; };
+    hash = "sha256-Fkx4SWU7gK5nvsS3RzuIS/XMjS3KBWU0dewu0nuev2E=";
     makeWrapper = makeBinaryWrapper;
     inherit passthruFun;
 
diff --git a/pkgs/development/interpreters/python/rustpython/default.nix b/pkgs/development/interpreters/python/rustpython/default.nix
index bbc2fef46cf..645b1de2d76 100644
--- a/pkgs/development/interpreters/python/rustpython/default.nix
+++ b/pkgs/development/interpreters/python/rustpython/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustpython";
-  version = "unstable-2021-12-09";
+  version = "unstable-2022-10-11";
 
   src = fetchFromGitHub {
     owner = "RustPython";
     repo = "RustPython";
-    rev = "db3b3127df34ff5dd569301aa36ed71ae5624e4e";
-    sha256 = "sha256-YwGfXs3A5L/18mHnnWubPU3Y8EI9uU3keJ2HJnnTwv0=";
+    rev = "273ffd969ca6536df06d9f69076c2badb86f8f8c";
+    sha256 = "sha256-t/3++EeP7a8t2H0IEPLogBri7+6u+2+v+lNb4/Ty1/w=";
   };
 
-  cargoHash = "sha256-T85kiPG80oZ4mwpb8Ag40wDHKx2Aens+gM7NGXan5lM=";
+  cargoHash = "sha256-Pv7SK64+eoK1VUxDh1oH0g1veWoIvBhiZE9JI/alXJ4=";
 
   # freeze the stdlib into the rustpython binary
   cargoBuildFlags = [ "--features=freeze-stdlib" ];
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 3843497d94e..07a72a3f2ec 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -342,11 +342,7 @@ def _update_package(path, target):
     text = _replace_value('version', new_version, text)
     # hashes from pypi are 16-bit encoded sha256's, normalize it to sri to avoid merge conflicts
     # sri hashes have been the default format since nix 2.4+
-    try:
-        sri_hash = subprocess.check_output(["nix", "hash", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
-    except subprocess.CalledProcessError:
-        # nix<2.4 compat
-        sri_hash = subprocess.check_output(["nix", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
+    sri_hash = subprocess.check_output(["nix", "--extra-experimental-features", "nix-command", "hash", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
 
 
     # fetchers can specify a sha256, or a sri hash
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 5882805fdfc..2e3a67af5ad 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -14,7 +14,7 @@
 , gtk3
 , json-glib
 , libarchive
-, libsoup
+, curl
 , libuuid
 , libxslt
 , meson
@@ -24,7 +24,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "appstream-glib";
-  version = "0.7.18";
+  version = "0.8.1";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
   outputBin = "dev";
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = "${lib.replaceStrings ["-"] ["_"] pname}_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "12s7d3nqjs1fldnppbg2mkjg4280f3h8yzj3q1hiz3chh1w0vjbx";
+    sha256 = "Qf0z9YTfjTiEr9OlK2BgOpVDtM2ozsiyjzO04O81zas=";
   };
 
   nativeBuildInputs = [
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     gtk3
     json-glib
     libarchive
-    libsoup
+    curl
     libuuid
   ];
 
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
deleted file mode 100644
index 7989cfd8577..00000000000
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, stdenv
-, fetchurl
-
-, meson
-, ninja
-, pkg-config
-
-, at-spi2-core
-, atk
-, dbus
-, glib
-, libxml2
-
-, gnome # To pass updateScript
-}:
-
-stdenv.mkDerivation rec {
-  pname = "at-spi2-atk";
-  version = "2.38.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "z6AIpa+CKzauYofxgYLEDJHdaZxV+qOGBYge0XXKRk8=";
-  };
-
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
-
-  doCheck = false; # fails with "No test data file provided"
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      versionPolicy = "odd-unstable";
-    };
-  };
-
-  meta = with lib; {
-    description = "D-Bus bridge for Assistive Technology Service Provider Interface (AT-SPI) and Accessibility Toolkit (ATK)";
-    homepage = "https://gitlab.gnome.org/GNOME/at-spi2-atk";
-    license = licenses.lgpl21Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 606ff2b3404..76687764586 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -11,6 +11,7 @@
 , glib
 , dconf
 , libX11
+, libxml2
 , libXtst
 , libXi
 , libXext
@@ -19,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-core";
-  version = "2.44.1";
+  version = "2.46.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "S+sjJwumz3yvILWXNU11GU2Jr7adLvzxX0JxaIum90Y=";
+    sha256 = "qgyGx596jWe65JpbelqwhDDGCM/+bjO/R6cvQasDw9A=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libX11
+    libxml2
     # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
     libXtst
     libXi
@@ -46,6 +48,7 @@ stdenv.mkDerivation rec {
   ];
 
   # In atspi-2.pc dbus-1 glib-2.0
+  # In atk.pc gobject-2.0
   propagatedBuildInputs = [
     dbus
     glib
@@ -55,6 +58,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   mesonFlags = [
+    "-Dintrospection=${if stdenv.buildPlatform == stdenv.hostPlatform then "yes" else "no"}"
     # Provide dbus-daemon fallback when it is not already running when
     # at-spi2-bus-launcher is executed. This allows us to avoid
     # including the entire dbus closure in libraries linked with
@@ -80,7 +84,7 @@ stdenv.mkDerivation rec {
     description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
     homepage = "https://gitlab.gnome.org/GNOME/at-spi2-core";
     license = licenses.lgpl21Plus;
-    maintainers = teams.gnome.members;
+    maintainers = teams.gnome.members ++ (with maintainers; [ raskin ]);
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
deleted file mode 100644
index 268bf43eb3e..00000000000
--- a/pkgs/development/libraries/atk/default.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, meson
-, ninja
-, gettext
-, pkg-config
-, glib
-, fixDarwinDylibNames
-, gobject-introspection
-, gnome
-}:
-
-stdenv.mkDerivation rec {
-  pname = "atk";
-  version = "2.38.0";
-
-  outputs = [ "out" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "rE3ipO9L1WZQUpUv4WllfmXolcUFff+zwqgQ9hkaDDY=";
-  };
-
-  patches = [
-    # meson builds an incorrect .pc file
-    # glib should be Requires not Requires.private
-    ./fix_pc.patch
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    gobject-introspection
-    glib
-  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
-    fixDarwinDylibNames
-  ];
-
-  buildInputs = [ gobject-introspection ];
-
-  propagatedBuildInputs = [
-    # Required by atk.pc
-    glib
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      versionPolicy = "odd-unstable";
-    };
-  };
-
-  meta = {
-    description = "Accessibility toolkit";
-
-    longDescription = ''
-      ATK is the Accessibility Toolkit.  It provides a set of generic
-      interfaces allowing accessibility technologies such as screen
-      readers to interact with a graphical user interface.  Using the
-      ATK interfaces, accessibility tools have full access to view and
-      control running applications.
-    '';
-
-    homepage = "https://gitlab.gnome.org/GNOME/atk";
-
-    license = lib.licenses.lgpl2Plus;
-
-    maintainers = with lib.maintainers; [ raskin ];
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-  };
-
-}
diff --git a/pkgs/development/libraries/atk/fix_pc.patch b/pkgs/development/libraries/atk/fix_pc.patch
deleted file mode 100644
index 3d19d9862cb..00000000000
--- a/pkgs/development/libraries/atk/fix_pc.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/atk/meson.build
-+++ b/atk/meson.build
-@@ -162,5 +162,6 @@ pkgconfig.generate(libatk,
-   name: 'Atk',
-   description: 'Accessibility Toolkit',
-   subdirs: atk_api_name,
-+  requires: glib_dep,
-   filebase: 'atk',
- )
diff --git a/pkgs/development/libraries/flatpak/bubblewrap-paths.patch b/pkgs/development/libraries/flatpak/bubblewrap-paths.patch
deleted file mode 100644
index e0b6df19589..00000000000
--- a/pkgs/development/libraries/flatpak/bubblewrap-paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/icon-validator/validate-icon.c b/icon-validator/validate-icon.c
-index 9e885070..d02eeb8c 100644
---- a/icon-validator/validate-icon.c
-+++ b/icon-validator/validate-icon.c
-@@ -156,8 +156,8 @@ rerun_in_sandbox (const char *arg_width,
-             "--unshare-ipc",
-             "--unshare-net",
-             "--unshare-pid",
--            "--ro-bind", "/usr", "/usr",
--            "--ro-bind-try", "/etc/ld.so.cache", "/etc/ld.so.cache",
-+            "--ro-bind", "@storeDir@", "@storeDir@",
-+            "--ro-bind", "/run/current-system", "/run/current-system",
-             "--ro-bind", validate_icon, validate_icon,
-             NULL);
- 
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index c992a6b0dfa..d79923c0f81 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -11,13 +11,15 @@
 , libxslt
 , pkg-config
 , xmlto
-, appstream-glib
 , substituteAll
+, runCommand
 , bison
 , xdg-dbus-proxy
 , p11-kit
+, appstream
 , bubblewrap
 , bzip2
+, curl
 , dbus
 , glib
 , gpgme
@@ -32,9 +34,8 @@
 , shared-mime-info
 , desktop-file-utils
 , gtk3
-, fuse
+, fuse3
 , nixosTests
-, libsoup
 , xz
 , zstd
 , ostree
@@ -51,16 +52,16 @@
 , makeWrapper
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "flatpak";
-  version = "1.12.7";
+  version = "1.14.0";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
-    url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bbUqUxzieCgqx+v7mfZqC7PsyvROhkhEwslcHuW6kxY="; # Taken from https://github.com/flatpak/flatpak/releases/
+    url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
+    sha256 = "sha256-jidpc3cOok3fJZetSuzTa5g5PmvekeSOF0OqymfyeBU="; # Taken from https://github.com/flatpak/flatpak/releases/
   };
 
   patches = [
@@ -80,12 +81,6 @@ stdenv.mkDerivation rec {
       p11kit = "${p11-kit.bin}/bin/p11-kit";
     })
 
-    # Adapt paths exposed to sandbox for NixOS.
-    (substituteAll {
-      src = ./bubblewrap-paths.patch;
-      inherit (builtins) storeDir;
-    })
-
     # Allow gtk-doc to find schemas using XML_CATALOG_FILES environment variable.
     # Patch taken from gtk-doc expression.
     ./respect-xml-catalog-files-var.patch
@@ -94,8 +89,13 @@ stdenv.mkDerivation rec {
     # https://github.com/NixOS/nixpkgs/issues/53441
     ./unset-env-vars.patch
 
-    # But we want the GDK_PIXBUF_MODULE_FILE from the wrapper affect the icon validator.
-    ./validate-icon-pixbuf.patch
+    # Do not clear XDG_DATA_DIRS in fish shell
+    # https://github.com/flatpak/flatpak/pull/5123
+    ./no-breaking-fish.patch
+
+    # The icon validator needs to access the gdk-pixbuf loaders in the Nix store
+    # and cannot bind FHS paths since those are not available on NixOS.
+    finalAttrs.passthru.icon-validator-patch
   ];
 
   nativeBuildInputs = [
@@ -110,14 +110,15 @@ stdenv.mkDerivation rec {
     libxslt
     pkg-config
     xmlto
-    appstream-glib
     bison
     wrapGAppsNoGuiHook
   ];
 
   buildInputs = [
+    appstream
     bubblewrap
     bzip2
+    curl
     dbus
     dconf
     gpgme
@@ -125,14 +126,13 @@ stdenv.mkDerivation rec {
     libarchive
     libcap
     libseccomp
-    libsoup
     xz
     zstd
     polkit
     python3
     systemd
     xorg.libXau
-    fuse
+    fuse3
     gsettings-desktop-schemas
     glib-networking
     librsvg # for flatpak-validate-icon
@@ -156,6 +156,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--with-curl"
     "--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
     "--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
     "--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
@@ -187,8 +188,18 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
+    icon-validator-patch = substituteAll {
+      src = ./fix-icon-validation.patch;
+      inherit (builtins) storeDir;
+    };
+
     tests = {
       installedTests = nixosTests.installed-tests.flatpak;
+
+      validate-icon = runCommand "test-icon-validation" { } ''
+        ${finalAttrs.finalPackage}/libexec/flatpak-validate-icon --sandbox 512 512 ${../../../applications/audio/zynaddsubfx/ZynLogo.svg} > "$out"
+        grep format=svg "$out"
+      '';
     };
   };
 
@@ -199,4 +210,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/libraries/flatpak/fix-icon-validation.patch b/pkgs/development/libraries/flatpak/fix-icon-validation.patch
new file mode 100644
index 00000000000..0e4db2b162f
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/fix-icon-validation.patch
@@ -0,0 +1,31 @@
+--- a/icon-validator/validate-icon.c
++++ b/icon-validator/validate-icon.c
+@@ -163,7 +163,7 @@ rerun_in_sandbox (const char *arg_width,
+                   const char *arg_height,
+                   const char *filename)
+ {
+-  const char * const usrmerged_dirs[] = { "bin", "lib32", "lib64", "lib", "sbin" };
++  const char * const usrmerged_dirs[] = { };
+   int i;
+   g_autoptr(GPtrArray) args = g_ptr_array_new_with_free_func (g_free);
+   char validate_icon[PATH_MAX + 1];
+@@ -183,8 +183,7 @@ rerun_in_sandbox (const char *arg_width,
+             "--unshare-ipc",
+             "--unshare-net",
+             "--unshare-pid",
+-            "--ro-bind", "/usr", "/usr",
+-            "--ro-bind-try", "/etc/ld.so.cache", "/etc/ld.so.cache",
++            "--ro-bind", "@storeDir@", "@storeDir@",
+             "--ro-bind", validate_icon, validate_icon,
+             NULL);
+ 
+@@ -227,6 +226,9 @@ rerun_in_sandbox (const char *arg_width,
+     add_args (args, "--setenv", "G_MESSAGES_DEBUG", g_getenv ("G_MESSAGES_DEBUG"), NULL);
+   if (g_getenv ("G_MESSAGES_PREFIXED"))
+     add_args (args, "--setenv", "G_MESSAGES_PREFIXED", g_getenv ("G_MESSAGES_PREFIXED"), NULL);
++  if (g_getenv ("GDK_PIXBUF_MODULE_FILE"))
++    add_args (args, "--setenv", "GDK_PIXBUF_MODULE_FILE", g_getenv ("GDK_PIXBUF_MODULE_FILE"), NULL);
++
+ 
+   add_args (args, validate_icon, arg_width, arg_height, filename, NULL);
+   g_ptr_array_add (args, NULL);
diff --git a/pkgs/development/libraries/flatpak/fix-test-paths.patch b/pkgs/development/libraries/flatpak/fix-test-paths.patch
index dcba6668185..683cdbcaf18 100644
--- a/pkgs/development/libraries/flatpak/fix-test-paths.patch
+++ b/pkgs/development/libraries/flatpak/fix-test-paths.patch
@@ -1,8 +1,8 @@
 diff --git a/app/flatpak-builtins-build-export.c b/app/flatpak-builtins-build-export.c
-index 43fd0563..4067bd36 100644
+index 3f5d8a1f..79493e61 100644
 --- a/app/flatpak-builtins-build-export.c
 +++ b/app/flatpak-builtins-build-export.c
-@@ -458,7 +458,7 @@ validate_desktop_file (GFile      *desktop_file,
+@@ -464,7 +464,7 @@ validate_desktop_file (GFile      *desktop_file,
    subprocess = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE |
                                   G_SUBPROCESS_FLAGS_STDERR_PIPE |
                                   G_SUBPROCESS_FLAGS_STDERR_MERGE,
@@ -12,10 +12,10 @@ index 43fd0563..4067bd36 100644
      {
        if (!g_error_matches (local_error, G_SPAWN_ERROR, G_SPAWN_ERROR_NOENT))
 diff --git a/tests/libtest.sh b/tests/libtest.sh
-index acb2095b..b361da16 100644
+index 36d39ac4..3ad2c7a6 100644
 --- a/tests/libtest.sh
 +++ b/tests/libtest.sh
-@@ -431,7 +431,7 @@ if [ -z "${FLATPAK_BWRAP:-}" ]; then
+@@ -511,7 +511,7 @@ if [ -z "${FLATPAK_BWRAP:-}" ]; then
      # running installed-tests: assume we know what we're doing
      _flatpak_bwrap_works=true
  elif ! "$FLATPAK_BWRAP" --unshare-ipc --unshare-net --unshare-pid \
@@ -24,7 +24,7 @@ index acb2095b..b361da16 100644
      _flatpak_bwrap_works=false
  else
      _flatpak_bwrap_works=true
-@@ -504,7 +504,7 @@ dbus-daemon --fork --config-file=session.conf --print-address=3 --print-pid=4 \
+@@ -591,7 +591,7 @@ dbus-daemon --fork --config-file=session.conf --print-address=3 --print-pid=4 \
  export DBUS_SESSION_BUS_ADDRESS="$(cat dbus-session-bus-address)"
  DBUS_SESSION_BUS_PID="$(cat dbus-session-bus-pid)"
  
@@ -33,20 +33,20 @@ index acb2095b..b361da16 100644
      assert_not_reached "Failed to start dbus-daemon"
  fi
  
-@@ -519,7 +519,7 @@ commit_to_path () {
+@@ -606,7 +606,7 @@ commit_to_path () {
  }
  
  cleanup () {
 -    /bin/kill -9 $DBUS_SESSION_BUS_PID
 +    @coreutils@/bin/kill -9 $DBUS_SESSION_BUS_PID
-     gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye || true
-     fusermount -u $XDG_RUNTIME_DIR/doc || :
+     gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye >&2 || true
+     fusermount -u $XDG_RUNTIME_DIR/doc >&2 || :
      kill $(jobs -p) &> /dev/null || true
 diff --git a/tests/make-test-app.sh b/tests/make-test-app.sh
-index 612f914f..4b890da2 100755
+index afa11a6b..5b12055f 100755
 --- a/tests/make-test-app.sh
 +++ b/tests/make-test-app.sh
-@@ -151,13 +151,13 @@ msgid "Hello world"
+@@ -190,13 +190,13 @@ msgid "Hello world"
  msgstr "Hallo Welt"
  EOF
  mkdir -p ${DIR}/files/de/share/de/LC_MESSAGES
@@ -60,10 +60,10 @@ index 612f914f..4b890da2 100755
 -msgfmt --output-file ${DIR}/files/fr/share/fr/LC_MESSAGES/helloworld.mo fr.po
 +@gettext@/bin/msgfmt --output-file ${DIR}/files/fr/share/fr/LC_MESSAGES/helloworld.mo fr.po
  
- flatpak build-finish ${DIR}
+ flatpak build-finish ${DIR} >&2
  mkdir -p repos
 diff --git a/tests/make-test-runtime.sh b/tests/make-test-runtime.sh
-index af289625..7db51c17 100755
+index 4ba950df..fd50fab3 100755
 --- a/tests/make-test-runtime.sh
 +++ b/tests/make-test-runtime.sh
 @@ -28,9 +28,10 @@ EOF
@@ -80,7 +80,7 @@ index af289625..7db51c17 100755
  ln -s ../lib ${DIR}/usr/lib64
 @@ -40,40 +41,17 @@ if test -f /sbin/ldconfig.real; then
  else
-     cp `which ldconfig` ${DIR}/usr/bin
+     cp "$(type -P ldconfig)" "${DIR}/usr/bin"
  fi
 -LIBS=`mktemp`
 -BINS=`mktemp`
@@ -106,8 +106,8 @@ index af289625..7db51c17 100755
 -}
 -
  for i in $@ bash ls cat echo readlink socat; do
--    I=`which $i`
--    add_bin $I
+-    I=$(type -P "$i")
+-    add_bin "$I"
 -done
 -for i in `cat $BINS`; do
 -    #echo Adding binary $i 1>&2
@@ -116,16 +116,16 @@ index af289625..7db51c17 100755
 -for i in `cat $LIBS`; do
 -    #echo Adding library $i 1>&2
 -    cp "$i" ${DIR}/usr/lib/
-+    I=$(readlink -f $(which $i))
-+    [ -e ${DIR}/usr/bin/$i ] && continue
++    I=$(readlink -f "$(type -P "$i")")
++    [ -e "${DIR}/usr/bin/$i" ] && continue
 +    requisites=$(nix-store --query --requisites "$I")
 +    for r in $requisites; do
 +        # a single store item can be needed by multiple paths, no need to copy it again
-+        if [ ! -e ${DIR}/$r ]; then
-+            cp -r $r ${DIR}/$r
++        if [ ! -e "${DIR}/$r" ]; then
++            cp -r "$r" "${DIR}/$r"
 +        fi
 +    done
-+    ln -s $I ${DIR}/usr/bin/$i
++    ln -s "$I" "${DIR}/usr/bin/$i"
  done
  ln -s bash ${DIR}/usr/bin/sh
  
@@ -141,18 +141,18 @@ index af289625..7db51c17 100755
 +# We do not copy C.UTF8 locale because it is in locale archive and
 +# that is already copied with glibc.
 +
-+mv ${DIR}/nix/store ${DIR}/usr/store # files outside /usr are not permitted, we will have to replace /nix/store with /usr/store
-+chmod -R u+w ${DIR} # nix store has read-only directories which would cause problems during clean-up, files need to be writable for sed
-+find ${DIR} -type f -print0 | xargs -0 sed -i 's~/nix/store/~/usr/store/~g' # replace hardcoded paths
-+find ${DIR} -type l | xargs -I '{}' sh -c 'tg="$(readlink "$1")"; newtg="${tg#/nix/store/}"; if [ "$tg" != "$newtg" ]; then ln -fs "/usr/store/$newtg" "$1"; fi' -- '{}' # replace symlink targets
++mv "${DIR}/nix/store" "${DIR}/usr/store" # files outside /usr are not permitted, we will have to replace /nix/store with /usr/store
++chmod -R u+w "${DIR}" # nix store has read-only directories which would cause problems during clean-up, files need to be writable for sed
++find "${DIR}" -type f -print0 | xargs -0 sed -i 's~/nix/store/~/usr/store/~g' # replace hardcoded paths
++find "${DIR}" -type l | xargs -I '{}' sh -c 'tg="$(readlink "$1")"; newtg="${tg#/nix/store/}"; if [ "$tg" != "$newtg" ]; then ln -fs "/usr/store/$newtg" "$1"; fi' -- '{}' # replace symlink targets
  
  if [ x$COLLECTION_ID != x ]; then
      collection_args=--collection-id=${COLLECTION_ID}
 diff --git a/tests/testlibrary.c b/tests/testlibrary.c
-index 509ce6cc..6a333c9c 100644
+index 831d85c1..ae4f03d0 100644
 --- a/tests/testlibrary.c
 +++ b/tests/testlibrary.c
-@@ -1399,7 +1399,7 @@ check_bwrap_support (void)
+@@ -1601,7 +1601,7 @@ check_bwrap_support (void)
      {
        gint exit_code = 0;
        char *argv[] = { (char *) bwrap, "--unshare-ipc", "--unshare-net",
@@ -162,44 +162,43 @@ index 509ce6cc..6a333c9c 100644
        g_test_message ("Spawning %s", argv_str);
        g_spawn_sync (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, &exit_code, &error);
 diff --git a/triggers/desktop-database.trigger b/triggers/desktop-database.trigger
-index 2188f535..d8283061 100755
+index 1037466d..c4c7ed6d 100755
 --- a/triggers/desktop-database.trigger
 +++ b/triggers/desktop-database.trigger
 @@ -1,5 +1,5 @@
  #!/bin/sh
  
--if test \( -x "$(which update-desktop-database 2>/dev/null)" \) -a \( -d $1/exports/share/applications \); then
--    exec update-desktop-database -q $1/exports/share/applications
-+if test \( -d $1/exports/share/applications \); then
-+    exec @dfu@/bin/update-desktop-database -q $1/exports/share/applications
+-if command -v update-desktop-database >/dev/null && test -d "$1/exports/share/applications"; then
+-    exec update-desktop-database -q "$1/exports/share/applications"
++if test -d "$1/exports/share/applications"; then
++    exec @dfu@/bin/update-desktop-database -q "$1/exports/share/applications"
  fi
 diff --git a/triggers/gtk-icon-cache.trigger b/triggers/gtk-icon-cache.trigger
-index 711cfab2..07baa2ac 100755
+index d9fc8251..d8ddb96e 100755
 --- a/triggers/gtk-icon-cache.trigger
 +++ b/triggers/gtk-icon-cache.trigger
 @@ -1,10 +1,10 @@
  #!/bin/sh
  
--if test \( -x "$(which gtk-update-icon-cache 2>/dev/null)" \) -a \( -d $1/exports/share/icons/hicolor \); then
--    cp /usr/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/
-+if test \( -d $1/exports/share/icons/hicolor \); then
-+    cp @hicolorIconTheme@/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/
-     for dir in $1/exports/share/icons/*; do
-         if test -f $dir/index.theme; then
--            if ! gtk-update-icon-cache --quiet $dir; then
-+            if ! @gtk3@/bin/gtk-update-icon-cache --quiet $dir; then
+ if command -v gtk-update-icon-cache >/dev/null && test -d "$1/exports/share/icons/hicolor"; then
+-    cp /usr/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/"
++    cp @hicolorIconTheme@/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/"
+     for dir in "$1"/exports/share/icons/*; do
+         if test -f "$dir/index.theme"; then
+-            if ! gtk-update-icon-cache --quiet "$dir"; then
++            if ! @gtk3@/bin/gtk-update-icon-cache --quiet "$dir"; then
                  echo "Failed to run gtk-update-icon-cache for $dir"
                  exit 1
              fi
 diff --git a/triggers/mime-database.trigger b/triggers/mime-database.trigger
-index 2067d8ec..a49a8777 100755
+index 10ddbbb3..c270998a 100755
 --- a/triggers/mime-database.trigger
 +++ b/triggers/mime-database.trigger
 @@ -1,5 +1,5 @@
  #!/bin/sh
  
--if test \( -x "$(which update-mime-database 2>/dev/null)" \) -a \( -d $1/exports/share/mime/packages \); then
--    exec update-mime-database $1/exports/share/mime
-+if test \( -d $1/exports/share/mime/packages \); then
-+    exec @smi@/bin/update-mime-database $1/exports/share/mime
+-if command -v update-mime-database >/dev/null && test -d "$1/exports/share/mime/packages"; then
+-    exec update-mime-database "$1/exports/share/mime"
++if test -d "$1/exports/share/mime/packages"; then
++    exec @smi@/bin/update-mime-database "$1/exports/share/mime"
  fi
diff --git a/pkgs/development/libraries/flatpak/no-breaking-fish.patch b/pkgs/development/libraries/flatpak/no-breaking-fish.patch
new file mode 100644
index 00000000000..2a67aead120
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/no-breaking-fish.patch
@@ -0,0 +1,11 @@
+--- a/profile/flatpak.fish
++++ b/profile/flatpak.fish
+@@ -1,7 +1,7 @@
+ if type -q flatpak
+     # Set XDG_DATA_DIRS to include Flatpak installations
+ 
+-    set -x --path XDG_DATA_DIRS
++    set -x --path XDG_DATA_DIRS $XDG_DATA_DIRS
+ 
+     set -q XDG_DATA_DIRS[1]; or set XDG_DATA_DIRS /usr/local/share /usr/share
+     set -q XDG_DATA_HOME; or set -l XDG_DATA_HOME $HOME/.local/share
diff --git a/pkgs/development/libraries/flatpak/validate-icon-pixbuf.patch b/pkgs/development/libraries/flatpak/validate-icon-pixbuf.patch
deleted file mode 100644
index 086114e11c3..00000000000
--- a/pkgs/development/libraries/flatpak/validate-icon-pixbuf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/icon-validator/validate-icon.c b/icon-validator/validate-icon.c
-index 9e885070..44fea035 100644
---- a/icon-validator/validate-icon.c
-+++ b/icon-validator/validate-icon.c
-@@ -200,6 +200,8 @@ rerun_in_sandbox (const char *arg_width,
-     add_args (args, "--setenv", "G_MESSAGES_DEBUG", g_getenv ("G_MESSAGES_DEBUG"), NULL);
-   if (g_getenv ("G_MESSAGES_PREFIXED"))
-     add_args (args, "--setenv", "G_MESSAGES_PREFIXED", g_getenv ("G_MESSAGES_PREFIXED"), NULL);
-+  if (g_getenv ("GDK_PIXBUF_MODULE_FILE"))
-+    add_args (args, "--setenv", "GDK_PIXBUF_MODULE_FILE", g_getenv ("GDK_PIXBUF_MODULE_FILE"), NULL);
- 
-   add_args (args, validate_icon, arg_width, arg_height, filename, NULL);
-   g_ptr_array_add (args, NULL);
diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix
index f6161535df5..41ede8b85a8 100644
--- a/pkgs/development/libraries/folks/default.nix
+++ b/pkgs/development/libraries/folks/default.nix
@@ -17,8 +17,7 @@
 , nss
 , dbus
 , libgee
-, evolution-data-server
-, libgdata
+, evolution-data-server-gtk4
 , libsecret
 , db
 , python3
@@ -61,8 +60,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     db
     dbus-glib
-    evolution-data-server
-    libgdata # required for some backends transitively
+    evolution-data-server-gtk4
     libsecret
     libsoup
     libxml2
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index d0d314037d2..ad5ef1ced5b 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -8,7 +8,6 @@
 , pkg-config
 , meson
 , ninja
-, git
 , vala
 , glib
 , zlib
@@ -18,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gcab";
-  version = "1.4";
+  version = "1.5";
 
   outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13q43iqld4l50yra45lhvkd376pn6qpk7rkx374zn8y9wsdzm9b7";
+    sha256 = "Rr90QkkfqkFIJCuewqB4al9unv+xsFZuUpDozIbwDww=";
   };
 
   patches = [
@@ -35,7 +34,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    git
     pkg-config
     vala
     gettext
diff --git a/pkgs/development/libraries/gcr/4.nix b/pkgs/development/libraries/gcr/4.nix
new file mode 100644
index 00000000000..f452d00b40d
--- /dev/null
+++ b/pkgs/development/libraries/gcr/4.nix
@@ -0,0 +1,113 @@
+{ stdenv
+, lib
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, gettext
+, gnupg
+, p11-kit
+, glib
+, libgcrypt
+, libtasn1
+, gtk4
+, pango
+, libsecret
+, openssh
+, systemd
+, gobject-introspection
+, wrapGAppsHook4
+, vala
+, gi-docgen
+, gnome
+, python3
+, shared-mime-info
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gcr";
+  version = "3.92.0";
+
+  outputs = [ "out" "bin" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "iWq/jh2w9A6ygHPzZPNqcjhayKv4zRNisQFul3If9Rg=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    gi-docgen
+    wrapGAppsHook4
+    vala
+    gi-docgen
+    shared-mime-info
+  ];
+
+  buildInputs = [
+    gnupg
+    libgcrypt
+    libtasn1
+    pango
+    libsecret
+    openssh
+    systemd
+    gtk4
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    p11-kit
+  ];
+
+  checkInputs = [
+    python3
+  ];
+
+  mesonFlags = [
+    # We are still using ssh-agent from gnome-keyring.
+    # https://github.com/NixOS/nixpkgs/issues/140824
+    "-Dssh_agent=false"
+  ];
+
+  doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
+
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
+
+  postPatch = ''
+    patchShebangs gcr/fixtures/
+  '';
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      attrPath = "gcr_4";
+      packageName = pname;
+    };
+  };
+
+  meta = with lib; {
+    platforms = platforms.unix;
+    maintainers = teams.gnome.members;
+    description = "GNOME crypto services (daemon and tools)";
+    homepage = "https://gitlab.gnome.org/GNOME/gcr";
+    license = licenses.lgpl2Plus;
+
+    longDescription = ''
+      GCR is a library for displaying certificates, and crypto UI, accessing
+      key stores. It also provides the viewer for crypto files on the GNOME
+      desktop.
+
+      GCK is a library for accessing PKCS#11 modules like smart cards, in a
+      (G)object oriented way.
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index ff8ace9613f..ae7d7460487 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -7,9 +7,7 @@
 , pkg-config
 , gettext
 , python3
-, libxslt
-, docbook-xsl-nons
-, docbook_xml_dtd_43
+, docutils
 , gi-docgen
 , glib
 , libtiff
@@ -25,14 +23,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf";
-  version = "2.42.8";
+  version = "2.42.9";
 
   outputs = [ "out" "dev" "man" "devdoc" ]
     ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "hKzqOsskEbKRNLMgFaWxqqYoRLGcSx74uJccawdZ9MY=";
+    sha256 = "KPeVjnvymjLU6WNVbSQdCkGmeGWC/2pa0RZl4DR/yWI=";
   };
 
   patches = [
@@ -59,9 +57,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
 
     # for man pages
-    libxslt
-    docbook-xsl-nons
-    docbook_xml_dtd_43
+    docutils
   ] ++ lib.optionals stdenv.isDarwin [
     fixDarwinDylibNames
   ];
diff --git a/pkgs/development/libraries/geocode-glib/default.nix b/pkgs/development/libraries/geocode-glib/default.nix
index e69ea93bb12..ee619aad89e 100644
--- a/pkgs/development/libraries/geocode-glib/default.nix
+++ b/pkgs/development/libraries/geocode-glib/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , mesonEmulatorHook
 , ninja
@@ -19,31 +18,17 @@
 
 stdenv.mkDerivation rec {
   pname = "geocode-glib";
-  version = "3.26.3";
+  version = "3.26.4";
 
   outputs = [ "out" "dev" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/geocode-glib/${lib.versions.majorMinor version}/geocode-glib-${version}.tar.xz";
-    sha256 = "Hf6ug7kOzMobbPfc98XjsxeCjPC1YgXERx7w+RGZl2Y=";
+    sha256 = "LZpoJtFYRwRJoXOHEiFZbaD4Pr3P+YuQxwSQiQVqN6o=";
   };
 
   patches = [
     ./installed-tests-path.patch
-
-    # Install data for pi test.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/geocode-glib/-/commit/0eb5c21cf4deb2c45aedf5a4393d4208b8dc6d58.patch";
-      sha256 = "DmaPzGEu7f+gjjb2HSZ3+ZMc4EJSsba9ufsVysB0UPA=";
-    })
-    # Fix pi test.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/geocode-glib/-/commit/464bb3bae5525566a7f41d157f73575cc4f3b5f8.patch";
-      sha256 = "qSjXR8eKl+E38Zp7/Kgge/FxOLHYUJgRSR68okc3No0=";
-      postFetch = ''
-        substituteInPlace $out --replace "LC_MESSAGES" "LC_ALL"
-      '';
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/geocode-glib/installed-tests-path.patch b/pkgs/development/libraries/geocode-glib/installed-tests-path.patch
index c68b7a3a75c..e5f24abdddd 100644
--- a/pkgs/development/libraries/geocode-glib/installed-tests-path.patch
+++ b/pkgs/development/libraries/geocode-glib/installed-tests-path.patch
@@ -1,11 +1,17 @@
+diff --git a/geocode-glib/tests/meson.build b/geocode-glib/tests/meson.build
+index 5cd1fca..c2f9a9d 100644
 --- a/geocode-glib/tests/meson.build
 +++ b/geocode-glib/tests/meson.build
-@@ -1,4 +1,4 @@
+@@ -1,5 +1,5 @@
 -install_dir = get_option('prefix') / get_option('datadir') / 'installed-tests' / library_name
+-install_bindir = get_option('prefix') / get_option('libexecdir') / library_name
 +install_dir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / library_name
++install_bindir = get_option('installed_test_prefix') / 'libexec' / library_name
  
  e = executable('geo-uri',
                 'geo-uri.c',
+diff --git a/meson_options.txt b/meson_options.txt
+index 62b713d..1454416 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -1,6 +1,9 @@
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index e2421159005..6a24be2adbb 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -9,7 +9,7 @@
 , gtk3
 , atk
 , gobject-introspection
-, spidermonkey_91
+, spidermonkey_102
 , pango
 , cairo
 , readline
@@ -32,13 +32,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.72.2";
+  version = "1.74.0";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3e43m9xafTA6XYlL4rKBvrisVFCGBOfT8geBqGnaOXc=";
+    sha256 = "sha256-fWQYr2LMc1VqssJbSt9n9FI4q4kliI96VyUTWdTr7R4=";
   };
 
   patches = [
@@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
     cairo
     readline
     libsysprof-capture
-    spidermonkey_91
+    spidermonkey_102
   ];
 
   checkInputs = [
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 489e92648a9..60d812b16dc 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , substituteAll
 , meson
@@ -8,7 +9,6 @@
 , glib
 , gettext
 , makeWrapper
-, python3
 , gnutls
 , p11-kit
 , libproxy
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.72.2";
+  version = "2.74.0";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "zSoITHu5HXjoSftV1A5HL22PaGLN3J8Sw5FJNZuhgmg=";
+    sha256 = "HxharvCUEj+OJdj6VWYbP9cQIBY6AXSts1o3aFzaYTs=";
   };
 
   patches = [
@@ -36,18 +36,12 @@ stdenv.mkDerivation rec {
     ./installed-tests-path.patch
   ];
 
-  postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
-  '';
-
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     gettext
     makeWrapper
-    python3 # for install_script
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/glib-networking/installed-tests-path.patch b/pkgs/development/libraries/glib-networking/installed-tests-path.patch
index 942ca053dd4..549307cca39 100644
--- a/pkgs/development/libraries/glib-networking/installed-tests-path.patch
+++ b/pkgs/development/libraries/glib-networking/installed-tests-path.patch
@@ -1,8 +1,8 @@
 diff --git a/meson.build b/meson.build
-index 4d91677..aaaeb2b 100644
+index 01e18a9..5dbb2fc 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -12,8 +12,8 @@
+@@ -12,8 +12,8 @@ libdir = join_paths(prefix, get_option('libdir'))
  libexecdir = join_paths(prefix, get_option('libexecdir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -14,12 +14,14 @@ index 4d91677..aaaeb2b 100644
  cc = meson.get_compiler('c')
  host_system = host_machine.system()
 diff --git a/meson_options.txt b/meson_options.txt
-index 3a525dd..fc86302 100644
+index c566ccd..80f7c33 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -3,4 +3,5 @@
+@@ -10,6 +10,7 @@ option('environment_proxy', type: 'feature', value: 'auto', description: 'suppor
  option('libproxy', type: 'feature', value: 'auto', description: 'support for libproxy proxy configration')
  option('gnome_proxy', type: 'feature', value: 'auto', description: 'support for GNOME desktop proxy configuration')
  option('installed_tests', type: 'boolean', value: false, description: 'enable installed tests')
 +option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
- option('static_modules', type: 'boolean', value: false, description: 'build static modules')
+ option('debug_logs', type: 'boolean', value: false, description: 'enable debug log messages (slow)')
+ 
+ # Deprecated, use -Ddefault_library=static instead.
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index c6da42738c6..45d8ee69a02 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, gettext, meson, ninja, pkg-config, perl, python3
-, libiconv, zlib, libffi, pcre, libelf, gnome, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45, libxslt
+, libiconv, zlib, libffi, pcre2, libelf, gnome, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45, libxslt
 # use util-linuxMinimal to avoid circular dependency (util-linux, systemd, glib)
 , util-linuxMinimal ? null
 , buildPackages
@@ -44,11 +44,11 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "glib";
-  version = "2.72.3";
+  version = "2.74.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
-    sha256 = "Sjmi9iS4US1QDVhAFz7af6hfUcEJBS6ugGrOzoXTRfA=";
+    sha256 = "NlLH8HLXsDGmte3WI/d+vF3NKuaYWYq8yJ/znKda3TA=";
   };
 
   patches = optionals stdenv.isDarwin [
@@ -90,6 +90,14 @@ stdenv.mkDerivation (finalAttrs: {
     #    * gio-launch-desktop
     ./split-dev-programs.patch
 
+    # Fix build on Darwin
+    # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2914
+    (fetchpatch {
+      name = "gio-properly-guard-use-of-utimensat.patch";
+      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/7f7171e68a420991b537d3e9e63263a0b2871618.patch";
+      sha256 = "kKEqmBqx/RlvFT3eixu+NnM7JXhHb34b9NLRfAt+9h0=";
+    })
+
     # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2866
     (fetchpatch {
       name = "tests-skip-g-file-info-test-if-atime-unsupported.patch";
@@ -99,6 +107,12 @@ stdenv.mkDerivation (finalAttrs: {
     # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867
     ./tests-skip-shared-libs-if-default_library-static.patch
 
+    # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/f0dd96c28751f15d0703b384bfc7c314af01caa8.patch";
+      sha256 = "sha256-8ucHS6ZnJuP6ajGb4/L8QfhC49FTQG1kAGHVdww/YYE=";
+    })
+
     ./skip-timer-test.patch
   ];
 
@@ -107,7 +121,9 @@ stdenv.mkDerivation (finalAttrs: {
   setupHook = ./setup-hook.sh;
 
   buildInputs = [
-    libelf finalAttrs.setupHook pcre
+    libelf
+    finalAttrs.setupHook
+    pcre2
   ] ++ optionals (!stdenv.hostPlatform.isWindows) [
     bash gnum4 # install glib-gettextize and m4 macros for other apps to use
   ] ++ optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/glib/split-dev-programs.patch b/pkgs/development/libraries/glib/split-dev-programs.patch
index 9a949ea1226..247db2150ed 100644
--- a/pkgs/development/libraries/glib/split-dev-programs.patch
+++ b/pkgs/development/libraries/glib/split-dev-programs.patch
@@ -1,32 +1,32 @@
 diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build
-index 5ea6bae2f..e0b584a86 100644
+index f0a256898..9c8497cd0 100644
 --- a/gio/gdbus-2.0/codegen/meson.build
 +++ b/gio/gdbus-2.0/codegen/meson.build
-@@ -16,7 +16,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir)
+@@ -19,7 +19,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir)
  # Install gdbus-codegen executable
  gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
    output : 'gdbus-codegen',
 -  install_dir : get_option('bindir'),
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin-devel',
    configuration : gdbus_codegen_conf
  )
-   # Provide tools for others when we're a subproject and they use the Meson GNOME module
 diff --git a/gio/meson.build b/gio/meson.build
-index 3535788ab..99c3b48d6 100644
+index fdd2528df..cf359c7d7 100644
 --- a/gio/meson.build
 +++ b/gio/meson.build
-@@ -831,14 +831,15 @@ pkg.generate(libgio,
+@@ -859,14 +859,15 @@ pkg.generate(libgio,
    variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')),
                 'schemasdir=' + join_paths('${datadir}', schemas_subdir),
                 'bindir=' + join_paths('${prefix}', get_option('bindir')),
 +               'devbindir=' + get_option('devbindir'),
                 'giomoduledir=' + pkgconfig_giomodulesdir,
                 'gio=' + join_paths('${bindir}', 'gio'),
--               'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'),
--               'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+-               'gio_querymodules=@0@'.format(pkgconfig_multiarch_bindir / 'gio-querymodules'),
+-               'glib_compile_schemas=@0@'.format(pkgconfig_multiarch_bindir / 'glib-compile-schemas'),
 -               'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
-+               'gio_querymodules=' + join_paths('${devbindir}', 'gio-querymodules'),
-+               'glib_compile_schemas=' + join_paths('${devbindir}', 'glib-compile-schemas'),
++               'gio_querymodules=@0@'.format('${devbindir}' / 'gio-querymodules'),
++               'glib_compile_schemas=@0@'.format('${devbindir}' / 'glib-compile-schemas'),
 +               'glib_compile_resources=' + join_paths('${devbindir}', 'glib-compile-resources'),
                 'gdbus=' + join_paths('${bindir}', 'gdbus'),
 -               'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
@@ -36,42 +36,45 @@ index 3535788ab..99c3b48d6 100644
                 'gsettings=' + join_paths('${bindir}', 'gsettings')],
    version : glib_version,
    install_dir : glib_pkgconfigreldir,
-@@ -939,12 +940,14 @@ executable('gio', gio_tool_sources,
+@@ -968,6 +969,7 @@ executable('gio', gio_tool_sources,
  
  executable('gresource', 'gresource-tool.c',
    install : true,
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin',
    # intl.lib is not compatible with SAFESEH
    link_args : noseh_link_args,
-   dependencies : [libelf, libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+@@ -975,7 +977,7 @@ executable('gresource', 'gresource-tool.c',
  
  gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c',
    install : true,
+-  install_dir : multiarch_bindir,
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin',
    c_args : gio_c_args,
    # intl.lib is not compatible with SAFESEH
-   link_args : noseh_link_args,
-@@ -953,6 +956,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+@@ -985,7 +987,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
  glib_compile_schemas = executable('glib-compile-schemas',
-   [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-schemas.c'],
+   ['glib-compile-schemas.c'],
    install : true,
+-  install_dir : multiarch_bindir,
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin',
    # intl.lib is not compatible with SAFESEH
    link_args : noseh_link_args,
-   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
-@@ -960,6 +964,7 @@ glib_compile_schemas = executable('glib-compile-schemas',
+@@ -994,6 +996,7 @@ glib_compile_schemas = executable('glib-compile-schemas',
  glib_compile_resources = executable('glib-compile-resources',
-   [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-resources.c'],
+   [gconstructor_as_data_h, 'glib-compile-resources.c'],
    install : true,
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin-devel',
    c_args : gio_c_args,
    # intl.lib is not compatible with SAFESEH
-   link_args : noseh_link_args,
 diff --git a/glib/meson.build b/glib/meson.build
-index aaf5f00f5..09edd291a 100644
+index 1e6dc36be..6b5de6c86 100644
 --- a/glib/meson.build
 +++ b/glib/meson.build
-@@ -375,9 +375,10 @@ pkg.generate(libglib,
+@@ -396,9 +396,10 @@ pkg.generate(libglib,
    subdirs : ['glib-2.0'],
    extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
    variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
@@ -85,59 +88,46 @@ index aaf5f00f5..09edd291a 100644
    version : glib_version,
    install_dir : glib_pkgconfigreldir,
    filebase : 'glib-2.0',
-@@ -413,6 +414,7 @@ if host_system == 'windows'
+@@ -435,6 +436,7 @@ if host_system == 'windows'
  else
    gtester = executable('gtester', 'gtester.c',
      install : true,
 +    install_dir : get_option('devbindir'),
+     install_tag : 'bin-devel',
      c_args : ['-UG_DISABLE_ASSERT'],
      include_directories : configinc,
-     dependencies : [libglib_dep])
-@@ -424,7 +426,7 @@ report_conf.set('PYTHON', python_name)
+@@ -447,7 +449,7 @@ report_conf.set('PYTHON', python_name)
  configure_file(
    input: 'gtester-report.in',
    output: 'gtester-report',
 -  install_dir: get_option('bindir'),
 +  install_dir: get_option('devbindir'),
+   install_tag : 'bin-devel',
    configuration: report_conf,
    install_mode: 'rwxr-xr-x'
- )
 diff --git a/gobject/meson.build b/gobject/meson.build
-index 85e283bab..386ad5e4e 100644
+index a994eb591..36b36b925 100644
 --- a/gobject/meson.build
 +++ b/gobject/meson.build
-@@ -75,7 +75,7 @@ foreach tool: python_tools
+@@ -79,7 +79,7 @@ foreach tool: python_tools
      input : tool + '.in',
      output : tool,
      configuration : python_tools_conf,
 -    install_dir : glib_bindir,
 +    install_dir : get_option('devbindir'),
+     install_tag : 'bin-devel',
    )
  
-   # Set variables for later use
-@@ -145,6 +145,7 @@ libgobject_dep = declare_dependency(link_with : libgobject,
+@@ -155,6 +155,7 @@ meson.override_dependency('gobject-2.0', libgobject_dep)
  
  executable('gobject-query', 'gobject-query.c',
    install : true,
 +  install_dir : get_option('devbindir'),
+   install_tag : 'bin-devel',
    dependencies : [libglib_dep, libgobject_dep])
  
- install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
-diff --git a/meson.build b/meson.build
-index 484f4c750..c7f9327d9 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2122,7 +2122,7 @@ if have_sh
-   gettextize_conf.set('datarootdir', glib_datadir)
-   gettextize_conf.set('datadir', glib_datadir)
-   configure_file(input : 'glib-gettextize.in',
--    install_dir : glib_bindir,
-+    install_dir : get_option('devbindir'),
-     output : 'glib-gettextize',
-     configuration : gettextize_conf)
- endif
 diff --git a/meson_options.txt b/meson_options.txt
-index 2c831e37e..5d8928577 100644
+index f13cbfdd5..f218db581 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -3,6 +3,11 @@ option('runtime_libdir',
@@ -152,3 +142,16 @@ index 2c831e37e..5d8928577 100644
  option('iconv',
         type : 'combo',
         choices : ['auto', 'libc', 'external'],
+diff --git a/tools/meson.build b/tools/meson.build
+index 0542fb89b..bfb10cd80 100644
+--- a/tools/meson.build
++++ b/tools/meson.build
+@@ -8,7 +8,7 @@ if have_sh
+   gettextize_conf.set('datarootdir', glib_datadir)
+   gettextize_conf.set('datadir', glib_datadir)
+   configure_file(input : 'glib-gettextize.in',
+-    install_dir : glib_bindir,
++    install_dir : get_option('devbindir'),
+     install_tag : 'bin-devel',
+     output : 'glib-gettextize',
+     configuration : gettextize_conf)
diff --git a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch b/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch
index 681e361896e..106ba4f99a9 100644
--- a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch
+++ b/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch
@@ -13,7 +13,7 @@ Part-of: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867
 ---
  gio/tests/meson.build  | 43 +++++++++++++++++++++++-------------------
  glib/tests/meson.build |  2 +-
- tests/meson.build      | 30 +++++++++++++++--------------
+ gmodule/tests/meson.build      | 30 +++++++++++++++--------------
  3 files changed, 41 insertions(+), 34 deletions(-)
 
 diff --git a/gio/tests/meson.build b/gio/tests/meson.build
@@ -95,10 +95,10 @@ index 301158e0f..6203ff45e 100644
      glib_tests += {
        'gutils-user-database' : {
          'depends' : [
-diff --git a/tests/meson.build b/tests/meson.build
+diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build
 index c95fa1d00..25144c941 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
+--- a/gmodule/tests/meson.build
++++ b/gmodule/tests/meson.build
 @@ -72,20 +72,22 @@ if ['darwin', 'ios'].contains(host_machine.system())
    module_suffix = 'so'
  endif
diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix
index f1f3df86349..531d487cb93 100644
--- a/pkgs/development/libraries/glibmm/2.68.nix
+++ b/pkgs/development/libraries/glibmm/2.68.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.72.1";
+  version = "2.74.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-KnZJooq13FOsTau3bJ9hWZ+8Yokjq2p910v2ddkVXNg=";
+    sha256 = "sha256-K0cmlsuseduOQFckEY7JRSGcW5sYr2PcjPt/HYmw8fo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 996eacd65f4..9f4a16a0ce4 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.66.4";
+  version = "2.66.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-GZrOVoLYGxWh1WVIC0qVBoLy22QCyKpd1yF9ce3/gdU=";
+    sha256 = "sha256-ezhGYt1uw7hsBXAzHTKvBdsr2Zp5FgK3Z7SgslZuwUk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gnome-desktop/default.nix b/pkgs/development/libraries/gnome-desktop/default.nix
index 157d7fa8404..6b58b171f7d 100644
--- a/pkgs/development/libraries/gnome-desktop/default.nix
+++ b/pkgs/development/libraries/gnome-desktop/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "42.3";
+  version = "43";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-2lBBC48Z/X53WwDR/g26Z/xeEVHe0pkVjcJd2tw/qKk=";
+    sha256 = "sha256-PW4VMxdIYVdZaqOAL4dnZBTFcHOPRQqUoEH+iDVCCmk=";
   };
 
   patches = lib.optionals stdenv.isLinux [
@@ -78,8 +78,6 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dgtk_doc=true"
     "-Ddesktop_docs=false"
-    "-Ddate_in_gnome_version=false"
-    "-Dgnome_distributor=NixOS"
   ] ++ lib.optionals (!stdenv.isLinux) [
     "-Dsystemd=disabled"
     "-Dudev=disabled"
diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix
index 1fed0b47069..9ffa5d2a0d7 100644
--- a/pkgs/development/libraries/gnome-online-accounts/default.nix
+++ b/pkgs/development/libraries/gnome-online-accounts/default.nix
@@ -1,23 +1,24 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitLab
 , pkg-config
 , vala
 , glib
 , meson
 , ninja
-, python3
 , libxslt
 , gtk3
-, webkitgtk
+, webkitgtk_4_1
 , json-glib
-, librest
+, librest_1_0
+, libxml2
 , libsecret
 , gtk-doc
 , gobject-introspection
 , gettext
 , icu
 , glib-networking
-, libsoup
+, libsoup_3
 , docbook-xsl-nons
 , docbook_xml_dtd_412
 , gnome
@@ -30,7 +31,9 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-online-accounts";
-  version = "3.44.0";
+  version = "3.46.0";
+
+  outputs = [ "out" "man" "dev" "devdoc" ];
 
   # https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/87
   src = fetchFromGitLab {
@@ -38,11 +41,9 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "gnome-online-accounts";
     rev = version;
-    sha256 = "sha256-8dp3cizyQVHegDxX9G6iGLW5g44audn431hCPMS/KlA=";
+    sha256 = "sha256-qVd55fmhY05zJ871OWc3hd1eWjYbYJuxlE/T2i3VCUA=";
   };
 
-  outputs = [ "out" "man" "dev" "devdoc" ];
-
   mesonFlags = [
     "-Dfedora=false" # not useful in NixOS or for NixOS users.
     "-Dgtk_doc=true"
@@ -61,7 +62,6 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    python3
     vala
     wrapGAppsHook
   ];
@@ -75,19 +75,15 @@ stdenv.mkDerivation rec {
     icu
     json-glib
     libkrb5
-    librest
+    librest_1_0
+    libxml2
     libsecret
-    libsoup
-    webkitgtk
+    libsoup_3
+    webkitgtk_4_1
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
-  postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
-
   passthru = {
     updateScript = gnome.updateScript {
       versionPolicy = "odd-unstable";
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 175a149e5c6..bb306fb3a85 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -35,7 +35,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gobject-introspection";
-  version = "1.72.0";
+  version = "1.74.0";
 
   # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
   # by pygobject3 (and maybe others), but it's only searched in $out
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gobject-introspection/${lib.versions.majorMinor finalAttrs.version}/gobject-introspection-${finalAttrs.version}.tar.xz";
-    sha256 = "Av6OWQhh2I+DBg3TnNpcyqYLLaHSHQ+VSZMBsYa+qrw=";
+    sha256 = "NHs6cZ5oukxp/y1X7iaJIz6owH/EkiBeVzOGd55C1lM=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 4428b077a47..9e2585d7ee0 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.52";
+  version = "0.10.53";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "YLnv2UNw8JabOU8KrIxuuR4V68DOEja0Sqc16xyYhAw=";
+    sha256 = "J/1YeW+qHNTMASDDTqhTFaCJHscfVbxnk8FOzxaKP1c=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/pkgs/development/libraries/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix
index db968f4730f..624dbd70a61 100644
--- a/pkgs/development/libraries/grilo-plugins/default.nix
+++ b/pkgs/development/libraries/grilo-plugins/default.nix
@@ -7,9 +7,8 @@
 , gettext
 , gperf
 , sqlite
-, librest
 , libarchive
-, libsoup
+, libsoup_3
 , gnome
 , libxml2
 , lua5_3
@@ -31,11 +30,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grilo-plugins";
-  version = "0.3.14";
+  version = "0.3.15";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "aGhEs07HOySTH/bMT2Az8AcpR6bbYKzcf7Pq8Velgcg=";
+    sha256 = "hRjD2VT5MJXZVWJKBEzhanNFUy+BHSmdv6HhFM/rqzM=";
   };
 
   patches = [
@@ -65,15 +64,14 @@ stdenv.mkDerivation rec {
   buildInputs = [
     grilo
     libxml2
-    libgdata
+    # libgdata
     lua5_3
     liboauth
     sqlite
     gnome-online-accounts
     totem-pl-parser
-    librest
     libarchive
-    libsoup
+    libsoup_3
     gmime
     gom
     json-glib
diff --git a/pkgs/development/libraries/grilo/default.nix b/pkgs/development/libraries/grilo/default.nix
index 2f8c291da0d..bf5d1db1340 100644
--- a/pkgs/development/libraries/grilo/default.nix
+++ b/pkgs/development/libraries/grilo/default.nix
@@ -16,13 +16,13 @@
 , libxml2
 , gnome
 , gobject-introspection
-, libsoup
+, libsoup_3
 , totem-pl-parser
 }:
 
 stdenv.mkDerivation rec {
   pname = "grilo";
-  version = "0.3.14"; # if you change minor, also change ./setup-hook.sh
+  version = "0.3.15"; # if you change minor, also change ./setup-hook.sh
 
   outputs = [ "out" "dev" "man" "devdoc" ];
   outputBin = "dev";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "A2nQsAuw9Zul966oz8Zl843xSltBgtKMfB4s0VtRh0M=";
+    sha256 = "81Ks9zZlZpk0JwY2/t5mtS2mgB/iD2OMQEirJnhXey0=";
   };
 
   mesonFlags = [
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     liboauth
     gtk3
     libxml2
-    libsoup
+    libsoup_3
     totem-pl-parser
   ];
 
diff --git a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
index 8a26742ce23..7431ca1f82a 100644
--- a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
+++ b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsettings-desktop-schemas";
-  version = "42.0";
+  version = "43.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "ZoYzWp7WI/euInb++lCkENTnHUIxiAgkcUBwyzFzI9I=";
+    sha256 = "XVVoKCqzi5V1nUJUAfdHblb4y/JimIVYdDn0O9C4S74=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix
index 9592fd11676..f27e0e7be60 100644
--- a/pkgs/development/libraries/gspell/default.nix
+++ b/pkgs/development/libraries/gspell/default.nix
@@ -17,14 +17,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gspell";
-  version = "1.11.1";
+  version = "1.12.0";
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "72qk4/cRd1FYp+JBpfgJzyQmvA4Cwjp9K1xx/D3gApI=";
+    sha256 = "QNKFDxu26HdSRvoeOUOLNsqvvbraHSihn6HKB+H/gq0=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gssdp/1.6.nix b/pkgs/development/libraries/gssdp/1.6.nix
new file mode 100644
index 00000000000..7dcd20991a2
--- /dev/null
+++ b/pkgs/development/libraries/gssdp/1.6.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, vala
+, gi-docgen
+, python3
+, libsoup_3
+, glib
+, gnome
+, gssdp-tools
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gssdp";
+  version = "1.6.0";
+
+  outputs = [ "out" "dev" ]
+    ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "FI7UFijI8XM2osj6SxSrD7rpi2Amvi2s/d6nv0OGZok=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    gi-docgen
+    python3
+  ];
+
+  buildInputs = [
+    libsoup_3
+  ];
+
+  propagatedBuildInputs = [
+    glib
+  ];
+
+  mesonFlags = [
+    "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
+    "-Dsniffer=false"
+    "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
+  ];
+
+  doCheck = true;
+
+  postFixup = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) ''
+    # Move developer documentation to devdoc output.
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \
+      | while IFS= read -r -d ''' file; do
+        moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc"
+    done
+  '';
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      attrPath = "gssdp_1_6";
+      packageName = pname;
+    };
+
+    tests = {
+      inherit gssdp-tools;
+    };
+  };
+
+  meta = with lib; {
+    broken = stdenv.isDarwin;
+    description = "GObject-based API for handling resource discovery and announcement over SSDP";
+    homepage = "http://www.gupnp.org/";
+    license = licenses.lgpl2Plus;
+    maintainers = teams.gnome.members;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 21af779a511..3ec5cea99b0 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
+      freeze = true;
     };
 
     tests = {
diff --git a/pkgs/development/libraries/gssdp/standalone-tools.patch b/pkgs/development/libraries/gssdp/standalone-tools.patch
index f2273a978d6..6491afbe867 100644
--- a/pkgs/development/libraries/gssdp/standalone-tools.patch
+++ b/pkgs/development/libraries/gssdp/standalone-tools.patch
@@ -22,9 +22,9 @@ index 40eb8e3..5db545b 100644
 +project('gssdp-tools', 'c', version: '@version@')
 +gnome = import('gnome')
 +
-+gssdp = dependency('gssdp-1.2')
++gssdp = dependency('gssdp-1.6')
 +gtk = dependency('gtk4', version : '>= 4')
-+libsoup = dependency('libsoup-2.4', version : '>= 2.26.1')
++libsoup = dependency('libsoup-3.0', version : '>= 2.99.0')
 +
  resource = gnome.compile_resources(
      'org.gupnp.GSSDP.DeviceSniffer',
diff --git a/pkgs/development/libraries/gssdp/tools.nix b/pkgs/development/libraries/gssdp/tools.nix
index 36bc5642900..5fcd0219a94 100644
--- a/pkgs/development/libraries/gssdp/tools.nix
+++ b/pkgs/development/libraries/gssdp/tools.nix
@@ -5,14 +5,14 @@
 , ninja
 , pkg-config
 , wrapGAppsHook4
-, gssdp
+, gssdp_1_6
 , gtk4
-, libsoup
+, libsoup_3
 }:
 
 stdenv.mkDerivation rec {
   pname = "gssdp-tools";
-  inherit (gssdp) version src;
+  inherit (gssdp_1_6) version src;
 
   patches = [
     # Allow building tools separately from the library.
@@ -31,9 +31,9 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gssdp
+    gssdp_1_6
     gtk4
-    libsoup
+    libsoup_3
   ];
 
   preConfigure = ''
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "Device Sniffer tool based on GSSDP framework";
     homepage = "http://www.gupnp.org/";
     license = licenses.lgpl2Plus;
-    maintainers = gssdp.meta.maintainers;
+    maintainers = gssdp_1_6.meta.maintainers;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index 64e7a745e95..7a6c7813224 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -93,6 +93,7 @@ stdenv.mkDerivation rec {
     sassc
     gi-docgen
     libxml2 # for xmllint
+  ] ++ lib.optionals waylandSupport [
     wayland-scanner
   ] ++ setupHooks;
 
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 7245b974930..82c5ea6597a 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "3.24.6";
+  version = "3.24.7";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Sz4ULpROFjO7oAiQBgXDQak8/XVaf6KgCwXQQTQfEdY=";
+    sha256 = "HXo1r5xc7MrLJE7jwt65skVyDYUQrFx+b0tvmUfmeJw=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
index 74acd6f743d..b7828de4558 100644
--- a/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -70,7 +70,9 @@ stdenv.mkDerivation rec {
     dbus
   ];
 
-  doCheck = stdenv.isLinux;
+  # Broken by PCRE 2 bump in GLib.
+  # https://gitlab.gnome.org/GNOME/gtksourceview/-/issues/283
+  doCheck = false;
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix
index 307fb15e98d..25bd8127a54 100644
--- a/pkgs/development/libraries/gtksourceview/5.x.nix
+++ b/pkgs/development/libraries/gtksourceview/5.x.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "5.4.2";
+  version = "5.6.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "rRQOB+uEGRDeSDwJK9SIWr0puq3W6V+iLZPtLfC3nec=";
+    sha256 = "ZZ2cydA0oRTwfn4TTugNd97ASXyxUWrlNpEZwvy52hY=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gupnp/1.6.nix b/pkgs/development/libraries/gupnp/1.6.nix
new file mode 100644
index 00000000000..7054a75d388
--- /dev/null
+++ b/pkgs/development/libraries/gupnp/1.6.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, vala
+, gi-docgen
+, glib
+, gssdp_1_6
+, libsoup_3
+, libxml2
+, gnome
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gupnp";
+  version = "1.6.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-MsSdrkd4zT74/Zpg9jdenId2ju5sPAWzPYp5+R4Ivcs=";
+  };
+
+  depsBuildBuild = [
+    pkg-config
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    gi-docgen
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    gssdp_1_6
+    libsoup_3
+    libxml2
+  ];
+
+  mesonFlags = [
+    "-Dgtk_doc=true"
+    "-Dintrospection=true"
+  ];
+
+  doCheck = true;
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      attrPath = "gupnp_1_6";
+      packageName = pname;
+    };
+  };
+
+  meta = with lib; {
+    homepage = "http://www.gupnp.org/";
+    description = "An implementation of the UPnP specification";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index afb6c0d037c..07b64064ce6 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
+      freeze = true;
     };
   };
 
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 20609509b66..34440d67818 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -1,5 +1,25 @@
-{ fetchurl, lib, stdenv, meson, ninja, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, pkg-config, glib, gtk3, cairo, sqlite, gnome
-, clutter-gtk, libsoup, gobject-introspection /*, libmemphis */ }:
+{ fetchurl
+, fetchpatch
+, lib
+, stdenv
+, meson
+, ninja
+, vala
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, pkg-config
+, glib
+, gtk3
+, cairo
+, sqlite
+, gnome
+, clutter-gtk
+, libsoup
+, libsoup_3
+, gobject-introspection /*, libmemphis */
+, withLibsoup3 ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "libchamplain";
@@ -10,13 +30,40 @@ stdenv.mkDerivation rec {
     sha256 = "0rihpb0npqpihqcdz4w03rq6xl7jdckfqskvv9diq2hkrnzv8ch2";
   };
 
+  patches = lib.optionals withLibsoup3 [
+    # Port to libsoup3
+    # https://gitlab.gnome.org/GNOME/libchamplain/-/merge_requests/13
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libchamplain/-/commit/1cbaf3193c2b38e447fbc383d4c455c3dcac6db8.patch";
+      excludes = [ ".gitlab-ci.yml" ];
+      sha256 = "uk38gExnUgeUKwhDsqRU77hGWhJ+8fG5dSiV2MAWLFk=";
+    })
+  ];
+
   outputs = [ "out" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
 
-  buildInputs = [ sqlite libsoup ];
+  buildInputs = [
+    sqlite
+    (if withLibsoup3 then libsoup_3 else libsoup)
+  ];
 
-  propagatedBuildInputs = [ glib gtk3 cairo clutter-gtk ];
+  propagatedBuildInputs = [
+    glib
+    gtk3
+    cairo
+    clutter-gtk
+  ];
 
   mesonFlags = [
     "-Dgtk_doc=true"
@@ -44,7 +91,7 @@ stdenv.mkDerivation rec {
        OpenCycleMap, OpenAerialMap, and Maps for free.
     '';
 
-     maintainers = teams.gnome.members;
-     platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
+    maintainers = teams.gnome.members ++ teams.pantheon.members;
+    platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/libdvbcsa/default.nix b/pkgs/development/libraries/libdvbcsa/default.nix
index 3eebaafe450..7da80a75d6a 100644
--- a/pkgs/development/libraries/libdvbcsa/default.nix
+++ b/pkgs/development/libraries/libdvbcsa/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "A free implementation of the DVB Common Scrambling Algorithm with encryption and decryption capabilities";
     homepage = "http://www.videolan.org/developers/libdvbcsa.html";
     platforms = lib.platforms.unix;
-    license = lib.licenses.gpl1;
+    license = lib.licenses.gpl2Only;
     maintainers = with lib.maintainers; [ melias122 ];
   };
 
diff --git a/pkgs/development/libraries/libgee/default.nix b/pkgs/development/libraries/libgee/default.nix
index b34790d59c7..cec611f366c 100644
--- a/pkgs/development/libraries/libgee/default.nix
+++ b/pkgs/development/libraries/libgee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgee";
-  version = "0.20.5";
+  version = "0.20.6";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "MYY6iVfVpyf5BnSVyr8KCIn6XT1EYm5UCUMxGI1cFRg=";
+    sha256 = "G/g09eENYMxhJNdO08HdONpkZ4f794ciILi0Bo5HbU0=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libgepub/default.nix b/pkgs/development/libraries/libgepub/default.nix
index 7ae7bff50ef..1c5d43af12e 100644
--- a/pkgs/development/libraries/libgepub/default.nix
+++ b/pkgs/development/libraries/libgepub/default.nix
@@ -1,19 +1,43 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, gnome
-, webkitgtk, libsoup, libxml2, libarchive }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, glib
+, gobject-introspection
+, gnome
+, webkitgtk_4_1
+, libsoup_3
+, libxml2
+, libarchive
+}:
 
 stdenv.mkDerivation rec {
   pname = "libgepub";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16dkyywqdnfngmwsgbyga0kl9vcnzczxi3lmhm27pifrq5f3k2n7";
+    sha256 = "IQpMeJXC6E8BpWglArpej6PqiWrzFw+yWS/OHdpW4C4=";
   };
 
-  doCheck = true;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    webkitgtk_4_1
+    libsoup_3
+    libxml2
+    libarchive
+  ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection ];
-  buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ];
+  doCheck = true;
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/development/libraries/libgtkflow/default.nix b/pkgs/development/libraries/libgflow/default.nix
index 78e43d56b9a..007afa6ef5b 100644
--- a/pkgs/development/libraries/libgtkflow/default.nix
+++ b/pkgs/development/libraries/libgflow/default.nix
@@ -1,15 +1,18 @@
 {stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3}:
 
 stdenv.mkDerivation rec {
-  pname = "libgtkflow";
-  version = "0.10.0";
+  pname = "libgflow";
+  version = "1.0.4";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "devdoc"; # demo app
 
   src = fetchFromGitea {
     domain = "notabug.org";
     owner = "grindhold";
-    repo = pname;
-    rev = version;
-    hash = "sha256-iTOoga94yjGTowQOM/EvHEDOO9Z3UutPGRgEoI1UWkI=";
+    repo = "libgtkflow";
+    rev = "gflow_${version}";
+    hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo=";
   };
 
   nativeBuildInputs = [
@@ -25,8 +28,15 @@ stdenv.mkDerivation rec {
     glib
   ];
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   mesonFlags = [
     "-Denable_valadoc=true"
+    "-Denable_gtk3=false"
+    "-Denable_gtk4=false"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libgnomekbd/default.nix b/pkgs/development/libraries/libgnomekbd/default.nix
index 5efd751bbb1..251f86b0578 100644
--- a/pkgs/development/libraries/libgnomekbd/default.nix
+++ b/pkgs/development/libraries/libgnomekbd/default.nix
@@ -1,19 +1,31 @@
-{ lib, stdenv, fetchurl, pkg-config, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome, gobject-introspection }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, glib
+, gtk3
+, libxklavier
+, wrapGAppsHook
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "libgnomekbd";
-  version = "3.26.1";
+  version = "3.28.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp";
+    sha256 = "ItxZVm1zwAZTUPWpc0DmLsx7CMTfGRg4BLuL4kyP6HA=";
   };
 
   nativeBuildInputs = [
-    file
-    intltool
+    meson
+    ninja
     pkg-config
     wrapGAppsHook
     glib
@@ -27,9 +39,9 @@ stdenv.mkDerivation rec {
     glib
   ];
 
-  postPatch = ''
-    substituteInPlace libgnomekbd/Makefile.in \
-      --replace "shell pkg-config" 'shell $(PKG_CONFIG)'
+  postInstall = ''
+    # Missing post-install script.
+    glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libgtkflow3/default.nix b/pkgs/development/libraries/libgtkflow3/default.nix
new file mode 100644
index 00000000000..7c85bd00b5d
--- /dev/null
+++ b/pkgs/development/libraries/libgtkflow3/default.nix
@@ -0,0 +1,54 @@
+{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3, libgflow}:
+
+stdenv.mkDerivation rec {
+  pname = "libgtkflow3";
+  version = "1.0.6";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "devdoc"; # demo app
+
+  src = fetchFromGitea {
+    domain = "notabug.org";
+    owner = "grindhold";
+    repo = "libgtkflow";
+    rev = "gtkflow3_${version}";
+    hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo=";
+  };
+
+  nativeBuildInputs = [
+    vala
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    libgflow
+  ];
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
+  mesonFlags = [
+    "-Denable_valadoc=true"
+    "-Denable_gtk4=false"
+    "-Denable_gflow=false"
+  ];
+
+  postPatch = ''
+    rm -r libgflow
+  '';
+
+  meta = with lib; {
+    description = "Flow graph widget for GTK 3";
+    homepage = "https://notabug.org/grindhold/libgtkflow";
+    maintainers = with maintainers; [ grindhold ];
+    license = licenses.lgpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgtkflow4/default.nix b/pkgs/development/libraries/libgtkflow4/default.nix
new file mode 100644
index 00000000000..60439e7636e
--- /dev/null
+++ b/pkgs/development/libraries/libgtkflow4/default.nix
@@ -0,0 +1,54 @@
+{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk4, libgflow}:
+
+stdenv.mkDerivation rec {
+  pname = "libgtkflow4";
+  version = "0.2.6";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "devdoc"; # demo app
+
+  src = fetchFromGitea {
+    domain = "notabug.org";
+    owner = "grindhold";
+    repo = "libgtkflow";
+    rev = "gtkflow4_${version}";
+    hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo=";
+  };
+
+  nativeBuildInputs = [
+    vala
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk4
+    glib
+    libgflow
+  ];
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
+  mesonFlags = [
+    "-Denable_valadoc=true"
+    "-Denable_gtk3=false"
+    "-Denable_gflow=false"
+  ];
+
+  postPatch = ''
+    rm -r libgflow
+  '';
+
+  meta = with lib; {
+    description = "Flow graph widget for GTK 3";
+    homepage = "https://notabug.org/grindhold/libgtkflow";
+    maintainers = with maintainers; [ grindhold ];
+    license = licenses.lgpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgweather/default.nix b/pkgs/development/libraries/libgweather/default.nix
index 77a4b936ae5..0dfa6b91a79 100644
--- a/pkgs/development/libraries/libgweather/default.nix
+++ b/pkgs/development/libraries/libgweather/default.nix
@@ -5,27 +5,28 @@
 , ninja
 , pkg-config
 , libxml2
+, json-glib
 , glib
 , gettext
-, libsoup
+, libsoup_3
 , gi-docgen
 , gobject-introspection
 , python3
 , tzdata
-, geocode-glib
+, geocode-glib_2
 , vala
 , gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "libgweather";
-  version = "4.0.0";
+  version = "4.2.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "RA1EgBtvcrSMZ25eN/kQnP7hOU/XTMknJeGxuk+ug0w=";
+    sha256 = "r4qBLaDYl2oADh1iVywlYIaoFzI/vzWwZtv92NLKYgM=";
   };
 
   patches = [
@@ -52,9 +53,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    libsoup
+    libsoup_3
     libxml2
-    geocode-glib
+    json-glib
+    geocode-glib_2
   ];
 
   mesonFlags = [
@@ -64,7 +66,6 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    patchShebangs build-aux/meson/meson_post_install.py
     patchShebangs build-aux/meson/gen_locations_variant.py
 
     # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 58d9097d837..de3bdad3e8d 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "1.6.3";
+  version = "1.8.0";
 
   outputs = [
     "out"
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-R3iL01gE69M8sJkR6XU0TIQ1ngttlSCv0cgh66i6d/8=";
+    sha256 = "sha256-bCVCwFeJJLDCm3rmy0TrJt846wHW1e89fQsIJXYyMOg=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 7564e87cdc2..03258933623 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -9,7 +9,7 @@
 , gtk-doc
 , docbook_xsl
 , glib
-, libsoup
+, libsoup_3
 , libxml2
 , libxslt
 , check
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib
-    libsoup
+    libsoup_3
     libxml2
     libxslt
   ];
diff --git a/pkgs/development/libraries/libpeas/default.nix b/pkgs/development/libraries/libpeas/default.nix
index 95e56153e51..e218a78bdfc 100644
--- a/pkgs/development/libraries/libpeas/default.nix
+++ b/pkgs/development/libraries/libpeas/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpeas";
-  version = "1.32.0";
+  version = "1.34.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1iVSD6AuiXcCmyRq5Dm8IYloll8egtYSIItxPx3MPQ4=";
+    sha256 = "QwX3Fdq0ta0+gAfa7DFmJecGWpTmPiXvVese+5ZKe/A=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/librest/1.0.nix b/pkgs/development/libraries/librest/1.0.nix
index 30482a51027..cbd525d40b0 100644
--- a/pkgs/development/libraries/librest/1.0.nix
+++ b/pkgs/development/libraries/librest/1.0.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     glib
     json-glib
     libsoup_3
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 91e0033cd27..1d2954eb74f 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -22,23 +22,32 @@
 , vala
 , withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
 , gobject-introspection
-, nixosTests
+, _experimental-update-script-combinators
+, common-updater-scripts
+, jq
+, nix
 }:
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.54.4";
+  version = "2.55.1";
 
-  outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
+  outputs = [ "out" "dev" ] ++ lib.optionals withIntrospection [
     "devdoc"
   ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "6hUqJD9qQ8DgNqKMcN4/y83qVmTGgRx4WSvCKezCSDM=";
+    sha256 = "a69IqdOlb9E7v7ufH3Z1myQLcKH6Ig/SOEdNZqkm+Yw=";
   };
 
-  cargoVendorDir = "vendor";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-nRmOB9Jo+mmB0+wXrQvoII4e0ucV7bNCDeuk6CbcPdk=";
+    # TODO: move this to fetchCargoTarball
+    dontConfigure = true;
+  };
 
   strictDeps = true;
 
@@ -83,16 +92,10 @@ stdenv.mkDerivation rec {
     # https://github.com/NixOS/nixpkgs/pull/117081#issuecomment-827782004
     (lib.enableFeature (withIntrospection && !stdenv.isDarwin) "vala")
 
-    "--enable-installed-tests"
     "--enable-always-build-tests"
   ] ++ lib.optional stdenv.isDarwin "--disable-Bsymbolic"
     ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "RUST_TARGET=${rust.toRustTarget stdenv.hostPlatform}";
 
-  makeFlags = [
-    "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/RSVG"
-    "installed_testdir=${placeholder "installedTests"}/libexec/installed-tests/RSVG"
-  ];
-
   doCheck = false; # all tests fail on libtool-generated rsvg-convert not being able to find coreutils
 
   # It wants to add loaders and update the loaders.cache in gdk-pixbuf
@@ -131,14 +134,40 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      versionPolicy = "odd-unstable";
-    };
-
-    tests = {
-      installedTests = nixosTests.installed-tests.librsvg;
-    };
+    updateScript =
+      let
+        updateSource = gnome.updateScript {
+          packageName = "librsvg";
+        };
+
+        updateLockfile = {
+          command = [
+            "sh"
+            "-c"
+            ''
+              PATH=${lib.makeBinPath [
+                common-updater-scripts
+                jq
+                nix
+              ]}
+              # update-source-version does not allow updating to the same version so we need to clear it temporarily.
+              # Get the current version so that we can restore it later.
+              latestVersion=$(nix-instantiate --eval -A librsvg.version | jq --raw-output)
+              # Clear the version. Provide hash so that we do not need to do pointless TOFU.
+              # Needs to be a fake SRI hash that is non-zero, since u-s-v uses zero as a placeholder.
+              # Also cannot be here verbatim or u-s-v would be confused what to replace.
+              update-source-version librsvg 0 "sha256-${lib.fixedWidthString 44 "B" "="}" --source-key=cargoDeps > /dev/null
+              update-source-version librsvg "$latestVersion" --source-key=cargoDeps > /dev/null
+            ''
+          ];
+          # Experimental feature: do not copy!
+          supportedFeatures = [ "silent" ];
+        };
+      in
+      _experimental-update-script-combinators.sequence [
+        updateSource
+        updateLockfile
+      ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libshumate/default.nix b/pkgs/development/libraries/libshumate/default.nix
index 7443ec4c502..5911e199bcb 100644
--- a/pkgs/development/libraries/libshumate/default.nix
+++ b/pkgs/development/libraries/libshumate/default.nix
@@ -10,7 +10,7 @@
 , glib
 , cairo
 , sqlite
-, libsoup
+, libsoup_3
 , gtk4
 , xvfb-run
 , gnome
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libshumate";
-  version = "1.0.0.alpha.1";
+  version = "1.0.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libshumate";
     rev = version;
-    sha256 = "4kCXFUJRglh1aIBk03MNUV8jfx0mJzIFCUDM4g9tzlg=";
+    sha256 = "fpHMfxnPnGJSfJe4kJ28+704QjjRwYddOZAB17QxXno=";
   };
 
   nativeBuildInputs = [
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     glib
     cairo
     sqlite
-    libsoup
+    libsoup_3
     gtk4
   ];
 
diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix
index 2b1c6e68795..af7d640b6de 100644
--- a/pkgs/development/libraries/libsoup/3.x.nix
+++ b/pkgs/development/libraries/libsoup/3.x.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , glib
 , meson
 , ninja
@@ -15,27 +16,37 @@
 , withVala ? stdenv.buildPlatform == stdenv.hostPlatform
 , libpsl
 , python3
+, gi-docgen
 , brotli
 , libnghttp2
 }:
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "3.0.7";
+  version = "3.2.0";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-69+QzzWZwRrLtoGKnZ4/ydLGjlbrgpuTlilyaD4b98g=";
+    sha256 = "sha256-KDI3BpjKj5+/F0w0W3PYm2BWEQOmJsLfcHJrBwf3m9M=";
   };
 
+  # https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/310
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libsoup/-/commit/0fae143dc8b0e668b7a35a9c1364009e7cf06d0f.patch";
+      sha256 = "sha256-yAKC7WGk0aQxMkT4At6Qfx1QO2InNotITrl/Lim41Jk=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     glib
     python3
+    gi-docgen
   ] ++ lib.optionals withIntrospection [
     gobject-introspection
   ] ++ lib.optionals withVala [
@@ -64,8 +75,6 @@ stdenv.mkDerivation rec {
     "-Dntlm=disabled"
     # Requires wstest from autobahn-testsuite.
     "-Dautobahn=disabled"
-    # Requires quart Python module.
-    "-Dhttp2_tests=disabled"
     # Requires gnutls, not added for closure size.
     "-Dpkcs11_tests=disabled"
   ] ++ lib.optionals (!stdenv.isLinux) [
@@ -82,6 +91,11 @@ stdenv.mkDerivation rec {
     patchShebangs libsoup/
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     propagatedUserEnvPackages = [
       glib-networking.out
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 3b23402fe33..f7f1633ed44 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -3,7 +3,7 @@
 , fetchpatch
 , autoreconfHook
 , pkg-config
-, enableUdev ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
+, enableUdev ? stdenv.isLinux && !stdenv.targetPlatform.isStatic
 , udev
 , libobjc
 , IOKit
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index 9f92ed5fd45..d6e64759172 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , fetchpatch
 , meson
@@ -21,16 +22,25 @@
 
 stdenv.mkDerivation rec {
   pname = "libwnck";
-  version = "40.1";
+  version = "43.0";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "AxNPoRTvP740B1qoNnj1iqLevp/O9OojwHeeKGAdZhE=";
+    sha256 = "kFvNuFhH1rj4hh5WswzW3GHq5n7O9M2ZSp+SWiaiwf4=";
   };
 
+  patches = [
+    # bamfdaemon crashes with libwnck3 43.0
+    # https://bugs.launchpad.net/ubuntu/+source/libwnck3/+bug/1990263
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libwnck/-/commit/6ceb684442eb26e3bdb8a38bf52264ad55f96a7b.patch";
+      sha256 = "/1wCnElCrZB7XTDW/l3dxMKZ9czGnukbGu4/aQStoXE=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix
index d895574d527..7f7b202576f 100644
--- a/pkgs/development/libraries/libwpe/default.nix
+++ b/pkgs/development/libraries/libwpe/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
-  version = "1.12.3";
+  version = "1.14.0";
 
   src = fetchurl {
-    url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uE/b+8hJzk/fCEuyi1jlRjsbS2zI8gDcd7QfhUXVMp0=";
+    url = "https://wpewebkit.org/releases/libwpe-${version}.tar.xz";
+    sha256 = "wHMwW7rF9EAswcikdTv6PWOkCJAfhhggUeqlp13YnAA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix
index 736b408323d..ce385f24c20 100644
--- a/pkgs/development/libraries/libwpe/fdo.nix
+++ b/pkgs/development/libraries/libwpe/fdo.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
-  version = "1.12.1";
+  version = "1.14.0";
 
   src = fetchurl {
-    url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-RaqDPETsKS8x+pQ7AbjMdeVOtiOte6amb8LxGP5p5ik=";
+    url = "https://wpewebkit.org/releases/wpebackend-fdo-${version}.tar.xz";
+    sha256 = "51sMsscUVEhBboaWAT2Ig/Z1xmwR7XUOBoZe/sWAkVU=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/malcontent/default.nix b/pkgs/development/libraries/malcontent/default.nix
index 4154f0315cd..92ec2354288 100644
--- a/pkgs/development/libraries/malcontent/default.nix
+++ b/pkgs/development/libraries/malcontent/default.nix
@@ -5,7 +5,7 @@
 , ninja
 , pkg-config
 , gobject-introspection
-, wrapGAppsHook
+, wrapGAppsNoGuiHook
 , glib
 , coreutils
 , accountsservice
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "malcontent";
-  version = "0.10.5";
+  version = "0.11.0";
 
   outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "pwithnall";
     repo = pname;
     rev = version;
-    sha256 = "sha256-UPKAStB6wTd3qbbISHMgNw1bJjIRgn89tHnsw4ZptvQ=";
+    sha256 = "sha256-92F30DfdSJvO5C9EmNtiC/H6Fa6qQHecYSx59JKp8vA=";
   };
 
   patches = [
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     gobject-introspection
-    wrapGAppsHook
+    wrapGAppsNoGuiHook
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/malcontent/ui.nix b/pkgs/development/libraries/malcontent/ui.nix
index e306267154a..8969d1e1342 100644
--- a/pkgs/development/libraries/malcontent/ui.nix
+++ b/pkgs/development/libraries/malcontent/ui.nix
@@ -4,14 +4,15 @@
 , pkg-config
 , gobject-introspection
 , itstool
-, wrapGAppsHook
+, wrapGAppsHook4
 , glib
 , accountsservice
 , dbus
 , flatpak
 , malcontent
-, gtk3
-, appstream-glib
+, gtk4
+, libadwaita
+, appstream
 , desktop-file-utils
 , polkit
 , glib-testing
@@ -39,11 +40,11 @@ stdenv.mkDerivation rec {
     gobject-introspection
     itstool
     desktop-file-utils
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    appstream-glib
+    appstream
     dbus
     polkit
     glib-testing
@@ -54,7 +55,8 @@ stdenv.mkDerivation rec {
     accountsservice
     malcontent
     glib
-    gtk3
+    gtk4
+    libadwaita
   ];
 
   mesonFlags = [
@@ -64,6 +66,12 @@ stdenv.mkDerivation rec {
     "-Dui=enabled"
   ];
 
+  postPatch = ''
+    # https://gitlab.freedesktop.org/pwithnall/malcontent/-/merge_requests/148
+    substituteInPlace build-aux/meson_post_install.py \
+      --replace gtk-update-icon-cache gtk4-update-icon-cache
+  '';
+
   meta = with lib; {
     description = "UI components for parental controls library";
     homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix
index a9e0bb4ea68..1bd3cefbee3 100644
--- a/pkgs/development/libraries/nuspell/default.nix
+++ b/pkgs/development/libraries/nuspell/default.nix
@@ -1,35 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, icu, catch2, pandoc }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, icu, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "5.0.1";
+  version = "5.1.2";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "sha256-ogA7ycqdMUTN/KHV2oZzytnhZ7XVuhx+ArXZqLlmwjk=";
+    sha256 = "sha256-nGC8Um9GutJZXlUcUCK0IiHxMaZmeoe4febw/jC2dRU=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config pandoc ];
+  nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ icu ];
 
-  outputs = [ "out" "lib" "dev" "man" ];
+  outputs = [ "out" "lib" "dev" ];
 
   postPatch = ''
     rm -rf external/Catch2
     ln -sf ${catch2.src} external/Catch2
   '';
 
-  postInstall = ''
-    rm -rf $out/share/doc
-  '';
-
   meta = with lib; {
     description = "Free and open source C++ spell checking library";
     homepage = "https://nuspell.github.io/";
     platforms = platforms.all;
     maintainers = with maintainers; [ fpletz ];
     license = licenses.lgpl3Plus;
+    changelog = "https://github.com/nuspell/nuspell/blob/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/development/libraries/nvidia-texture-tools/default.nix b/pkgs/development/libraries/nvidia-texture-tools/default.nix
index 67624596720..3a907a6ba79 100644
--- a/pkgs/development/libraries/nvidia-texture-tools/default.nix
+++ b/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -2,22 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "nvidia-texture-tools";
-  version = "unstable-2019-10-27";
+  version = "unstable-2020-12-21";
 
   src = fetchFromGitHub {
     owner = "castano";
     repo = "nvidia-texture-tools";
-    rev = "a131e4c6b0b7c9c73ccc3c9e6f1c7e165be86bcc";
-    sha256 = "1qzyr3ib5dpxyq1y33lq02qv4cww075sm9bm4f651d34q5x38sk3";
+    rev = "aeddd65f81d36d8cb7b169b469ef25156666077e";
+    sha256 = "sha256-BYNm8CxPQbfmnnzNmOQ2Dc8HSyO8mkqzYsBZ5T80398=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/castano/nvidia-texture-tools/commit/6474f2593428d89ec152da2502aa136ababe66ca.patch";
-      sha256 = "0akbkvm55hiv58jx71h9hj173rbnqlb5a430y9azjiix7zga42vd";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   outputs = [ "out" "dev" "lib" ];
@@ -26,6 +19,10 @@ stdenv.mkDerivation rec {
     # Make a recently added pure virtual function just virtual,
     # to keep compatibility.
     sed -i 's/virtual void endImage() = 0;/virtual void endImage() {}/' src/nvtt/nvtt.h
+  '' + lib.optionalString stdenv.isAarch64 ''
+    # remove x86_64-only libraries
+    sed -i '/bc1enc/d' src/nvtt/tests/CMakeLists.txt
+    sed -i '/libsquish/d;/CMP_Core/d' extern/CMakeLists.txt
   '';
 
   cmakeFlags = [
@@ -42,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/castano/nvidia-texture-tools";
     license = licenses.mit;
     platforms = platforms.unix;
-    broken = stdenv.isAarch64;
+    maintainers = with maintainers; [ wegank ];
   };
 }
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 6ce22a8c1c6..3beeaa67321 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.50.8";
+  version = "1.50.11";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "z2JvWd0UbAIxdMQDSSDpZn8dJawsFWlRbWMTbDESVfo=";
+    sha256 = "iAD4Etie5hOIGIcDID86eHiWPCL4aVqvH6ChoUKNF64=";
   };
 
   depsBuildBuild = [
@@ -97,6 +97,8 @@ stdenv.mkDerivation rec {
     updateScript = gnome.updateScript {
       packageName = pname;
       versionPolicy = "odd-unstable";
+      # 1.90 is alpha for API 2.
+      freeze = true;
     };
   };
 
diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix
index 12aec5bd68e..52affe360f8 100644
--- a/pkgs/development/libraries/pangomm/2.48.nix
+++ b/pkgs/development/libraries/pangomm/2.48.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pangomm";
-  version= "2.50.0";
+  version= "2.50.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-onqnfgF7mvzp51HYW9HPiQq7s6WL9Z0PrJF+74LbO1s=";
+    sha256 = "sha256-zMmSNBPkCMK/9jffZjJIMn1ygi8R45S0I+HFZSt9khQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index 1fc5cea01de..ccabdfdcfe8 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.2";
+  version= "2.46.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-V0QqtNwEOHe/44OZFXMastaT/GY0pxYUQi+1MMnqpvQ=";
+    sha256 = "sha256-QQ/gTUcaYI8/AnPToX2EAkHZEe0P8sdYqYWcZsbyQ3k=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/plplot/default.nix b/pkgs/development/libraries/plplot/default.nix
index f3a703ce187..fef1d2de324 100644
--- a/pkgs/development/libraries/plplot/default.nix
+++ b/pkgs/development/libraries/plplot/default.nix
@@ -3,14 +3,13 @@
 , fetchurl
 , cmake
 , enableWX ? false
-, wxGTK31, wxmac
+, wxGTK32
+, Cocoa
 , enableXWin ? false
 , libX11
 }:
 
-let
-  wxWidgets = (if stdenv.isDarwin then wxmac else wxGTK31);
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname   = "plplot";
   version = "5.15.0";
 
@@ -21,13 +20,13 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = lib.optional enableWX wxWidgets
+  buildInputs = lib.optional enableWX wxGTK32
+    ++ lib.optional (enableWX && stdenv.isDarwin) Cocoa
     ++ lib.optional enableXWin libX11;
 
   passthru = {
     inherit
       enableWX
-      wxWidgets
       enableXWin
       libX11
     ;
diff --git a/pkgs/development/libraries/qrencode/default.nix b/pkgs/development/libraries/qrencode/default.nix
index abab060bf2c..57ccfd382f7 100644
--- a/pkgs/development/libraries/qrencode/default.nix
+++ b/pkgs/development/libraries/qrencode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, SDL2, libpng, libiconv }:
+{ lib, stdenv, fetchurl, pkg-config, SDL2, libpng, libiconv, libobjc }:
 
 stdenv.mkDerivation rec {
   pname = "qrencode";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ SDL2 libpng ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = [ SDL2 libpng ] ++ lib.optionals stdenv.isDarwin [ libiconv libobjc ];
 
   configureFlags = [
     "--with-tests"
diff --git a/pkgs/development/libraries/science/chemistry/openmm/default.nix b/pkgs/development/libraries/science/chemistry/openmm/default.nix
new file mode 100644
index 00000000000..16bb94246e4
--- /dev/null
+++ b/pkgs/development/libraries/science/chemistry/openmm/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, gfortran
+, fftwSinglePrec
+, doxygen
+, swig
+, python3Packages, enablePython ? false
+, opencl-headers, ocl-icd, enableOpencl ? false
+, clang, enableClang ? true
+, cudatoolkit, enableCuda ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openmm";
+  version = "7.7.0";
+
+  src = fetchFromGitHub {
+    owner = "openmm";
+    repo = pname;
+    rev = version;
+    hash = "sha256-2PYUGTMVQ5qVDeeABrwR45U3JIgo2xMXKlD6da7y3Dw=";
+  };
+
+  # "This test is stochastic and may occassionally fail". It does.
+  postPatch = ''
+    rm \
+      platforms/*/tests/Test*BrownianIntegrator.* \
+      platforms/*/tests/Test*LangevinIntegrator.* \
+      serialization/tests/TestSerializeIntegrator.cpp
+  '';
+
+  nativeBuildInputs = [ cmake gfortran swig doxygen python3Packages.python ];
+
+  buildInputs = [ fftwSinglePrec ]
+    ++ lib.optionals enableOpencl [ ocl-icd opencl-headers ]
+    ++ lib.optional enableCuda cudatoolkit;
+
+  propagatedBuildInputs = lib.optionals enablePython (with python3Packages; [
+    python
+    numpy
+    cython
+  ]);
+
+  cmakeFlags = [
+    "-DBUILD_TESTING=ON"
+    "-DOPENMM_BUILD_AMOEBA_PLUGIN=ON"
+    "-DOPENMM_BUILD_CPU_LIB=ON"
+    "-DOPENMM_BUILD_C_AND_FORTRAN_WRAPPERS=ON"
+    "-DOPENMM_BUILD_DRUDE_PLUGIN=ON"
+    "-DOPENMM_BUILD_PME_PLUGIN=ON"
+    "-DOPENMM_BUILD_RPMD_PLUGIN=ON"
+    "-DOPENMM_BUILD_SHARED_LIB=ON"
+  ] ++ lib.optionals enablePython [
+    "-DOPENMM_BUILD_PYTHON_WRAPPERS=ON"
+  ] ++ lib.optionals enableClang [
+    "-DCMAKE_C_COMPILER=${clang}/bin/clang"
+    "-DCMAKE_CXX_COMPILER=${clang}/bin/clang++"
+  ] ++ lib.optionals enableOpencl [
+    "-DOPENMM_BUILD_OPENCL_LIB=ON"
+    "-DOPENMM_BUILD_AMOEBA_OPENCL_LIB=ON"
+    "-DOPENMM_BUILD_DRUDE_OPENCL_LIB=ON"
+    "-DOPENMM_BUILD_RPMD_OPENCL_LIB=ON"
+  ] ++ lib.optionals enableCuda [
+    "-DCUDA_SDK_ROOT_DIR=${cudatoolkit}"
+    "-DOPENMM_BUILD_AMOEBA_CUDA_LIB=ON"
+    "-DOPENMM_BUILD_CUDA_LIB=ON"
+    "-DOPENMM_BUILD_DRUDE_CUDA_LIB=ON"
+    "-DOPENMM_BUILD_RPMD_CUDA_LIB=ON"
+    "-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib64/stubs"
+  ];
+
+  postInstall = lib.strings.optionalString enablePython ''
+    export OPENMM_LIB_PATH=$out/lib
+    export OPENMM_INCLUDE_PATH=$out/include
+    cd python
+    ${python3Packages.python.interpreter} setup.py build
+    ${python3Packages.python.interpreter} setup.py install --prefix=$out
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Toolkit for molecular simulation using high performance GPU code";
+    homepage = "https://openmm.org/";
+    license = with licenses; [ gpl3Plus lgpl3Plus mit ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 7a647084f9c..2564162c3bf 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -17,13 +17,16 @@
 , libdrm
 , libjpeg_turbo
 , libopus
+, withLibsoup2 ? false
 , libsoup
+, libsoup_3
 , libusb1
 , lz4
 , meson
 , ninja
 , openssl
 , perl
+, phodav_2_0
 , phodav
 , pixman
 , pkg-config
@@ -84,7 +87,6 @@ stdenv.mkDerivation rec {
     gettext
     gobject-introspection
     gtk-doc
-    libsoup
     meson
     ninja
     perl
@@ -108,10 +110,11 @@ stdenv.mkDerivation rec {
     libcacard
     libjpeg_turbo
     libopus
+    (if withLibsoup2 then libsoup else libsoup_3)
     libusb1
     lz4
     openssl
-    phodav
+    (if withLibsoup2 then phodav_2_0 else phodav)
     pixman
     spice-protocol
     usbredir
diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix
index 23d2e8907ff..bbb5aef36f1 100644
--- a/pkgs/development/libraries/template-glib/default.nix
+++ b/pkgs/development/libraries/template-glib/default.nix
@@ -1,25 +1,57 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, flex, bison, vala, gettext, gnome, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
-let
-  version = "3.34.1";
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, glib
+, gobject-introspection
+, flex
+, bison
+, vala
+, gettext
+, gnome
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+}:
+
+stdenv.mkDerivation rec {
   pname = "template-glib";
-in
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  version = "3.36.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "nsm3HgTU9csU91XveQYxzQtFwGA+Ecg2/Hz9niaM0Ho=";
+    sha256 = "HBKVJa5kQDpmL3Zm9jWDhqgVZohyrPEctWirObuh9CE=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 gobject-introspection ];
-  buildInputs = [ glib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    flex
+    bison
+    vala
+    glib
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    "-Denable_gtk_doc=true"
+    "-Dgtk_doc=true"
   ];
 
+  doCheck = true;
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
index e7918ea56e2..c6c7d265ed7 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tepl";
-  version = "6.0.2";
+  version = "6.1.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "W0qcbGG9AAVT75eZ9MpiXQX1gBA2+ywvkopJRIyQPAk=";
+    sha256 = "Cv4uyaWNT6ixBntqc0/TxzNqn/+3VyyWPFLqbYckoZs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index 846346d534b..fa0e30f1abc 100644
--- a/pkgs/development/libraries/tracker-miners/default.nix
+++ b/pkgs/development/libraries/tracker-miners/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , asciidoc
 , docbook-xsl-nons
 , docbook_xml_dtd_45
@@ -14,10 +13,9 @@
 , ninja
 , pkg-config
 , vala
-, wrapGAppsHook
+, wrapGAppsNoGuiHook
 , bzip2
 , dbus
-, evolution-data-server
 , exempi
 , giflib
 , glib
@@ -34,7 +32,6 @@
 , libosinfo
 , libpng
 , libseccomp
-, libsoup
 , libtiff
 , libuuid
 , libxml2
@@ -49,25 +46,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker-miners";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Pt3G0nLAKWn6TCwV360MSddtAh8aJ+xwi2m+gCU1PJQ=";
+    sha256 = "ouA2XjCBG7YelcghSzP0eCo6BODGJGoG7NnAFBfNhOY=";
   };
 
-  # TODO: remove me on 3.4.0
-  patches = [
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/tracker-miners/-/commit/cc655ba0f95022cf35bc6d44cb5155788fee2e24.patch";
-      sha256 = "sha256-a85ygtabpkruiDgKbseQxYbFIAQlVDhs3eWkbStJjKs=";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/tracker-miners/-/commit/9e613ceb37ec41fd1cd88c3d539e3ee03e8f6ba6.patch";
-      sha256 = "sha256-ht7EfZztyl0st0Sv7H92Q37vwXY4T61GQm9WJ8IxTTg=";
-    })
-  ];
-
   nativeBuildInputs = [
     asciidoc
     docbook-xsl-nons
@@ -79,7 +64,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     vala
-    wrapGAppsHook
+    wrapGAppsNoGuiHook
   ];
 
   # TODO: add libenca, libosinfo
@@ -108,14 +93,12 @@ stdenv.mkDerivation rec {
     libjpeg
     libosinfo
     libpng
-    libsoup
     libtiff
     libuuid
     libxml2
     poppler
     taglib
   ] ++ lib.optionals stdenv.isLinux [
-    evolution-data-server
     libseccomp
     networkmanager
     systemd
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index e8d6ed82ed0..2c4422d7a1f 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -13,7 +13,6 @@
 , libxml2
 , glib
 , wrapGAppsNoGuiHook
-, vala
 , sqlite
 , libxslt
 , libstemmer
@@ -30,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker";
-  version = "3.3.2";
+  version = "3.4.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "DtK5iRiVbW8WQpxgfdihTIT02gpIlw/S64yTq6PPmRM=";
+    sha256 = "s7OAyVcdfHQjtfQB5KLy143kcUOwNessEoHiQjxZIYs=";
   };
 
   postPatch = ''
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson
     ninja
-    vala
     pkg-config
     asciidoc
     gettext
diff --git a/pkgs/development/libraries/ucc/default.nix b/pkgs/development/libraries/ucc/default.nix
new file mode 100644
index 00000000000..1e626911f28
--- /dev/null
+++ b/pkgs/development/libraries/ucc/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx
+, enableCuda ? false
+, cudatoolkit
+, enableAvx ? stdenv.hostPlatform.avxSupport
+, enableSse41 ? stdenv.hostPlatform.sse4_1Support
+, enableSse42 ? stdenv.hostPlatform.sse4_2Support
+} :
+
+stdenv.mkDerivation rec {
+  pname = "ucc";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "openucx";
+    repo = "ucc";
+    rev = "v${version}";
+    sha256 = "sha256-5rf08SXy+vCfnz4zLJ0cMnxwso4WpZOt0jRRAUviVFU=";
+  };
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+
+    for comp in $(find src/components -name Makefile.am); do
+      substituteInPlace $comp \
+        --replace "/bin/bash" "${stdenv.shell}"
+    done
+  '';
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  nativeBuildInputs = [ libtool automake autoconf ];
+  buildInputs = [ ucx ]
+    ++ lib.optional enableCuda cudatoolkit;
+
+  configureFlags = [ ]
+   ++ lib.optional enableSse41 "--with-sse41"
+   ++ lib.optional enableSse42 "--with-sse42"
+   ++ lib.optional enableAvx "--with-avx"
+   ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}";
+
+  meta = with lib; {
+    description = "Collective communication operations API";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix
index 0ddff4d1812..6ec3acebd6e 100644
--- a/pkgs/development/libraries/vte/default.nix
+++ b/pkgs/development/libraries/vte/default.nix
@@ -9,9 +9,12 @@
 , gnome
 , glib
 , gtk3
+, gtk4
+, gtkVersion ? "3"
 , gobject-introspection
 , vala
 , python3
+, gi-docgen
 , libxml2
 , gnutls
 , gperf
@@ -27,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vte";
-  version = "0.68.0";
+  version = "0.70.0";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-E+fUeJyiFqM3gAMNJGybE92/0ECUxjFu6n/5IoTdF0k=";
+    sha256 = "sha256-k+DdShvCp6GmLaZBYKJ0zORWl26hVn2YWR2pbi0mWuY=";
   };
 
   patches = [
@@ -57,6 +60,7 @@ stdenv.mkDerivation rec {
     pkg-config
     vala
     python3
+    gi-docgen
   ];
 
   buildInputs = [
@@ -69,15 +73,20 @@ stdenv.mkDerivation rec {
     systemd
   ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = assert (gtkVersion == "3" || gtkVersion == "4"); [
     # Required by vte-2.91.pc.
-    gtk3
+    (if gtkVersion == "3" then gtk3 else gtk4)
     glib
     pango
   ];
 
-  mesonFlags = lib.optionals (!systemdSupport) [
+  mesonFlags = [
+    "-Ddocs=true"
+  ] ++ lib.optionals (!systemdSupport) [
     "-D_systemd=false"
+  ] ++ lib.optionals (gtkVersion == "4") [
+    "-Dgtk3=false"
+    "-Dgtk4=true"
   ] ++ lib.optionals stdenv.isDarwin [
     # -Bsymbolic-functions is not supported on darwin
     "-D_b_symbolic_functions=false"
@@ -93,6 +102,11 @@ stdenv.mkDerivation rec {
     patchShebangs src/modes.py
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK31.nix b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
index 5bce6250c74..d84c8a5aa5e 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK31.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
@@ -17,6 +17,7 @@
 , compat28 ? false
 , compat30 ? true
 , unicode ? true
+, withEGL ? true
 , withGtk2 ? (!stdenv.isDarwin)
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
 , withWebKit ? stdenv.isDarwin
@@ -95,6 +96,7 @@ stdenv.mkDerivation rec {
     (if compat28 then "--enable-compat28" else "--disable-compat28")
     (if compat30 then "--enable-compat30" else "--disable-compat30")
   ]
+  ++ lib.optional (!withEGL) "--disable-glcanvasegl"
   ++ lib.optional unicode "--enable-unicode"
   ++ lib.optional withMesa "--with-opengl"
   ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index 199994038b5..5339a0c54cb 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "42.3";
+  version = "43.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "TtEFpmfkYyVGcQPcc0bSAj+uwdXsFTvRcxbak49TrOA=";
+    sha256 = "DhhnpFvKpd2yQKTP2yLdBVz4fwchC547twlJ88e+FqY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 05b0f553448..438940f3bac 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -3,9 +3,9 @@
 , autoreconfHook
 , dbus
 , fetchFromGitHub
-, fetchpatch
 , flatpak
 , fuse3
+, bubblewrap
 , systemdMinimal
 , geoclue2
 , glib
@@ -20,12 +20,12 @@
 , python3
 , pkg-config
 , stdenv
-, substituteAll
+, runCommand
 , wrapGAppsHook
 , enableGeoLocation ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xdg-desktop-portal";
   version = "1.15.0";
 
@@ -33,11 +33,21 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "flatpak";
-    repo = pname;
-    rev = version;
+    repo = "xdg-desktop-portal";
+    rev = finalAttrs.version;
     sha256 = "sha256-Kw3zJeGwPfw1fDo8HsgYmrpgCk/PUvWZPRloKJNAJVc=";
   };
 
+  patches = [
+    # The icon validator copied from Flatpak needs to access the gdk-pixbuf loaders
+    # in the Nix store and cannot bind FHS paths since those are not available on NixOS.
+    (runCommand "icon-validator.patch" { } ''
+      # Flatpak uses a different path
+      substitute "${flatpak.icon-validator-patch}" "$out" \
+        --replace "/icon-validator/validate-icon.c" "/src/validate-icon.c"
+    '')
+  ];
+
   nativeBuildInputs = [
     autoreconfHook
     libxml2
@@ -50,6 +60,7 @@ stdenv.mkDerivation rec {
     dbus
     flatpak
     fuse3
+    bubblewrap
     systemdMinimal # libsystemd
     glib
     gsettings-desktop-schemas
@@ -83,6 +94,11 @@ stdenv.mkDerivation rec {
   passthru = {
     tests = {
       installedTests = nixosTests.installed-tests.xdg-desktop-portal;
+
+      validate-icon = runCommand "test-icon-validation" { } ''
+        ${finalAttrs.finalPackage}/libexec/xdg-desktop-portal-validate-icon --sandbox 512 512 ${../../../applications/audio/zynaddsubfx/ZynLogo.svg} > "$out"
+        grep format=svg "$out"
+      '';
     };
   };
 
@@ -92,4 +108,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index ee51d74fc75..d3b9695fbef 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -3021,6 +3021,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+vusted = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, busted
+}:
+buildLuarocksPackage {
+  pname = "vusted";
+  version = "2.1.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/vusted-2.1.1-1.rockspec";
+    sha256 = "12zw09ib3mmwh1kvcj228dhws2ldvwzymr7qbsq6l5kysaahhjm3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/notomo/vusted.git",
+  "rev": "9607444b9e259b82c0615caabb5fea8cea918edc",
+  "date": "2022-09-12T21:55:42+09:00",
+  "path": "/nix/store/pb5inf25lr63bbc1mvx8aqlh83i4ynwd-vusted",
+  "sha256": "0wv5lmzf36ga0lmyh0xaw4g2jz9hmw4766xmpznbhn2p64lm9kyl",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  propagatedBuildInputs = [ busted ];
+
+  meta = {
+    homepage = "https://github.com/notomo/vusted";
+    description = "`busted` wrapper for testing neovim plugin";
+    maintainers = with lib.maintainers; [ figsoda ];
+    license.fullName = "MIT <http://opensource.org/licenses/MIT>";
+  };
+}) {};
+
 
 }
 /* GENERATED - do not edit this file */
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 7f06652e66b..5becc91699b 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -520,6 +520,13 @@ with prev;
       make all
     '';
   });
+  vusted = prev.vusted.overrideAttrs (_: {
+    # make sure vusted_entry.vim doesn't get wrapped
+    postInstall = ''
+      chmod -x $out/bin/vusted_entry.vim
+    '';
+  });
+
 
   # aliases
   cjson = prev.lua-cjson;
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index f9188054eec..c710f16c98a 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -126979,10 +126979,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "7.13.2";
+    version = "7.13.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.13.2.tgz";
-      sha512 = "lOQRBcCWycLK1PB9KptqTd6iyiH7m4GRuS4G2j4b74yDx/XvRXtP/weYz8e0/ia7HX1pMF1vJCF48ssklq0TJQ==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.13.3.tgz";
+      sha512 = "6avqSfzfAr/9w1ZleaMI276ZuZUu88eOIe6v2mTCuwtSjUEqheboH1G4m7jgF+4arMUfnBrz371UAU+DCeCiSA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix
index de7ca055613..8ef32fd33ea 100644
--- a/pkgs/development/ocaml-modules/bigstringaf/default.nix
+++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix
@@ -2,17 +2,15 @@
 
 buildDunePackage rec {
   pname = "bigstringaf";
-  version = "0.7.0";
+  version = "0.9.0";
 
-  useDune2 = true;
-
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "inhabitedtype";
     repo = pname;
     rev = version;
-    sha256 = "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj";
+    sha256 = "sha256-HXPjnE56auy2MI6HV2XuBX/VeqsO50HFzTul17lKEqE=";
   };
 
   # This currently fails with dune
@@ -20,8 +18,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ pkg-config ];
   checkInputs = [ alcotest ];
-  propagatedBuildInputs = [ bigarray-compat ];
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   meta = {
     description = "Bigstring intrinsics and fast blits based on memcpy/memmove";
diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix
index 0568f899032..a78132f9ba0 100644
--- a/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,14 +1,17 @@
-{ lib, buildDunePackage, fetchFromGitLab, ff-sig, zarith }:
+{ lib, buildDunePackage, fetchFromGitLab, ff-sig, zarith
+, zarith_stubs_js, integers_stubs_js, integers, hex
+, ff-pbt, bisect_ppx, alcotest
+}:
 
 buildDunePackage rec {
   pname = "bls12-381";
-  version = "1.1.0";
+  version = "3.0.0";
 
   src = fetchFromGitLab {
     owner = "dannywillems";
     repo = "ocaml-bls12-381";
-    rev = "22247018c0651ea62ae898c8ffcc388cc73f758f";
-    sha256 = "ku6Rc+/lwFDoHTZTxgkhiF+kLkagi7944ntcu9vXWgI=";
+    rev = "4bbc7818e9ccd025c5e32006f8a9de370739bc43";
+    sha256 = "/Rw0mQvTfHyPqosWFPv+1FoY5Dwuwv9mB8UYjjHxodE=";
   };
 
   useDune2 = true;
@@ -18,6 +21,16 @@ buildDunePackage rec {
   propagatedBuildInputs = [
     ff-sig
     zarith
+    zarith_stubs_js
+    integers_stubs_js
+    integers
+    hex
+  ];
+
+  checkInputs = [
+    ff-pbt
+    bisect_ppx
+    alcotest
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/bls12-381/unix.nix b/pkgs/development/ocaml-modules/bls12-381/unix.nix
deleted file mode 100644
index 3ac3bb5d99f..00000000000
--- a/pkgs/development/ocaml-modules/bls12-381/unix.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, buildDunePackage
-, bls12-381
-, hex
-, integers
-, zarith
-, alcotest
-, bisect_ppx
-, ff-pbt
-}:
-
-buildDunePackage {
-  pname = "bls12-381-unix";
-
-  inherit (bls12-381) version src useDune2 doCheck;
-
-  propagatedBuildInputs = [
-    bls12-381
-    hex
-    integers
-    zarith
-  ];
-
-  checkInputs = [
-    alcotest
-    bisect_ppx
-    ff-pbt
-  ];
-
-  meta = {
-    description = "UNIX version of BLS12-381 primitives implementing the virtual package bls12-381";
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix
index 6868ddc7851..13c5089d822 100644
--- a/pkgs/development/ocaml-modules/carton/default.nix
+++ b/pkgs/development/ocaml-modules/carton/default.nix
@@ -1,20 +1,19 @@
 { lib, buildDunePackage, fetchurl
-, ke, duff, decompress, cstruct, optint, bigstringaf, stdlib-shims
-, bigarray-compat, checkseum, logs, psq, fmt
-, result, rresult, fpath, base64, bos, digestif, mmap, alcotest
+, ke, duff, decompress, cstruct, optint, bigstringaf
+, checkseum, logs, psq, fmt
+, result, rresult, fpath, base64, bos, digestif, alcotest
 , crowbar, alcotest-lwt, lwt, findlib, mirage-flow, cmdliner, hxd
 }:
 
 buildDunePackage rec {
   pname = "carton";
-  version = "0.4.3";
+  version = "0.4.4";
 
-  useDune2 = true;
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/${pname}-${pname}-v${version}.tbz";
-    sha256 = "sha256:0qz9ds5761wx4m7ly3av843b6dii7lmjpx2nnyijv8rm8aw95jgr";
+    url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz";
+    sha256 = "sha256-7mgCgu87Cn4XhjEhonlz9lhgTw0Cu5hnxNJ1wXr+Qhw=";
   };
 
   # remove changelogs for mimic and the git* packages
@@ -25,7 +24,6 @@ buildDunePackage rec {
   buildInputs = [
     cmdliner
     digestif
-    mmap
     result
     rresult
     fpath
@@ -39,8 +37,6 @@ buildDunePackage rec {
     cstruct
     optint
     bigstringaf
-    stdlib-shims
-    bigarray-compat
     checkseum
     logs
     psq
diff --git a/pkgs/development/ocaml-modules/carton/git.nix b/pkgs/development/ocaml-modules/carton/git.nix
index 4f7c880ae06..2cc6b1336de 100644
--- a/pkgs/development/ocaml-modules/carton/git.nix
+++ b/pkgs/development/ocaml-modules/carton/git.nix
@@ -8,7 +8,7 @@
 buildDunePackage {
   pname = "carton-git";
 
-  inherit (carton) version src useDune2 postPatch;
+  inherit (carton) version src postPatch;
 
   propagatedBuildInputs = [
     carton
diff --git a/pkgs/development/ocaml-modules/carton/lwt.nix b/pkgs/development/ocaml-modules/carton/lwt.nix
index 17ba5dddf24..2aeee63dbf1 100644
--- a/pkgs/development/ocaml-modules/carton/lwt.nix
+++ b/pkgs/development/ocaml-modules/carton/lwt.nix
@@ -10,7 +10,7 @@
 buildDunePackage {
   pname = "carton-lwt";
 
-  inherit (carton) version src useDune2 postPatch;
+  inherit (carton) version src postPatch;
 
   propagatedBuildInputs = [
     carton
diff --git a/pkgs/development/ocaml-modules/cstruct/async.nix b/pkgs/development/ocaml-modules/cstruct/async.nix
index 579f12776c0..57647c97c41 100644
--- a/pkgs/development/ocaml-modules/cstruct/async.nix
+++ b/pkgs/development/ocaml-modules/cstruct/async.nix
@@ -1,11 +1,13 @@
-{ lib, buildDunePackage, cstruct, async_unix }:
+{ lib, buildDunePackage, cstruct, async_unix, async, core }:
 
 buildDunePackage rec {
   pname = "cstruct-async";
-  inherit (cstruct) src version meta useDune2;
+  inherit (cstruct) src version meta;
 
   propagatedBuildInputs = [
     async_unix
+    async
     cstruct
+    core
   ];
 }
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index a4d963af652..9efe75af70c 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -1,23 +1,20 @@
-{ lib, fetchurl, buildDunePackage, bigarray-compat, alcotest, ocaml }:
+{ lib, fetchurl, buildDunePackage, fmt, alcotest, crowbar }:
 
 buildDunePackage rec {
   pname = "cstruct";
-  version = "6.0.1";
+  version = "6.1.1";
 
-  useDune2 = true;
-
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-v${version}.tbz";
-    sha256 = "4a67bb8f042753453c59eabf0e47865631253ba694091ce6062aac05d47a9bed";
+    url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
+    sha256 = "sha256-G3T5hw9qfuYAiSRZBxbdUzpyijyhC7GNqf6ovkZ/UY0=";
   };
 
-  propagatedBuildInputs = [ bigarray-compat ];
+  buildInputs = [ fmt ];
 
-  # alcotest isn't available for OCaml < 4.08 due to fmt
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
-  checkInputs = [ alcotest ];
+  doCheck = true;
+  checkInputs = [ alcotest crowbar ];
 
   meta = {
     description = "Access C-like structures directly from OCaml";
diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix
index 60e73449264..7226193565b 100644
--- a/pkgs/development/ocaml-modules/cstruct/lwt.nix
+++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix
@@ -4,11 +4,11 @@ if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
-buildDunePackage {
-  pname = "cstruct-lwt";
-  inherit (cstruct) version src useDune2 meta;
+  buildDunePackage {
+    pname = "cstruct-lwt";
+    inherit (cstruct) version src meta;
 
-  minimumOCamlVersion = "4.03";
+    minimalOCamlVersion = "4.08";
 
-  propagatedBuildInputs = [ cstruct lwt ];
-}
+    propagatedBuildInputs = [ cstruct lwt ];
+  }
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
index 6705602ef25..a808a01153c 100644
--- a/pkgs/development/ocaml-modules/cstruct/ppx.nix
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -8,7 +8,7 @@ else
 
 buildDunePackage {
   pname = "ppx_cstruct";
-  inherit (cstruct) version src useDune2 meta;
+  inherit (cstruct) version src meta;
 
   minimalOCamlVersion = "4.08";
 
diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix
index a9fe7091a1e..a20911cbb29 100644
--- a/pkgs/development/ocaml-modules/cstruct/sexp.nix
+++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix
@@ -6,12 +6,11 @@ else
 
 buildDunePackage rec {
   pname = "cstruct-sexp";
-  inherit (cstruct) version src useDune2 meta;
+  inherit (cstruct) version src meta;
 
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.08";
 
-  # alcotest is only available on OCaml >= 4.08 due to fmt
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
   checkInputs = [ alcotest ];
 
   propagatedBuildInputs = [ cstruct sexplib ];
diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix
index c3d280d785a..064bdadb328 100644
--- a/pkgs/development/ocaml-modules/cstruct/unix.nix
+++ b/pkgs/development/ocaml-modules/cstruct/unix.nix
@@ -4,11 +4,11 @@ if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
-buildDunePackage {
-  pname = "cstruct-unix";
-  inherit (cstruct) version src useDune2 meta;
+  buildDunePackage {
+    pname = "cstruct-unix";
+    inherit (cstruct) version src meta;
 
-  minimumOCamlVersion = "4.06";
+    minimalOCamlVersion = "4.08";
 
-  propagatedBuildInputs = [ cstruct ];
-}
+    propagatedBuildInputs = [ cstruct ];
+  }
diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix
index f7036d38d38..7bd01ff8315 100644
--- a/pkgs/development/ocaml-modules/data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/data-encoding/default.nix
@@ -1,30 +1,36 @@
 { lib
 , fetchFromGitLab
 , buildDunePackage
+, ppx_hash
+, either
 , ezjsonm
 , zarith
+, zarith_stubs_js
 , hex
 , json-data-encoding
 , json-data-encoding-bson
 , alcotest
 , crowbar
+, ppx_expect
 }:
 
 buildDunePackage {
   pname = "data-encoding";
-  version = "0.4.0";
+  version = "0.5.3";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "data-encoding";
-    rev = "v0.4";
-    sha256 = "1f88l9azpfk730hps5v6zlg4yyyyhj1gl27qy3cbbkzjc82d2rhx";
+    rev = "v0.5.3";
+    sha256 = "sha256-HMNpjh5x7vU/kXQNRjJtOvShEENoNuxjNNPBJfm+Rhg=";
   };
-  useDune2 = true;
 
   propagatedBuildInputs = [
+    either
     ezjsonm
+    ppx_hash
     zarith
+    zarith_stubs_js
     hex
     json-data-encoding
     json-data-encoding-bson
@@ -33,6 +39,7 @@ buildDunePackage {
   checkInputs = [
     alcotest
     crowbar
+    ppx_expect
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index 4b5d2e0208f..30e7391f8c3 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -1,25 +1,23 @@
-{ lib, fetchurl, buildDunePackage, ocaml
-, checkseum, bigarray-compat, optint, cmdliner
-, bigstringaf, alcotest, camlzip, base64, ctypes, fmt
+{ lib, fetchurl, buildDunePackage
+, checkseum, optint, cmdliner
+, bigstringaf, alcotest, camlzip, base64, ctypes, fmt, crowbar, rresult
 }:
 
 buildDunePackage rec {
-  version = "1.4.2";
   pname = "decompress";
+  version = "1.5.1";
 
-  minimumOCamlVersion = "4.07";
-
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
-    url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-v${version}.tbz";
-    sha256 = "822f125b46c87f4a902c334db8c86d4d5f33ebe978e93c40351a4d3269b95225";
+    url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-${version}.tbz";
+    sha256 = "sha256-y/OVojFxhksJQQvvtS38SF7ZnMEQhAtwDey0ISwypP4=";
   };
 
   buildInputs = [ cmdliner ];
-  propagatedBuildInputs = [ optint bigarray-compat checkseum ];
-  checkInputs = [ alcotest bigstringaf ctypes fmt camlzip base64 ];
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  propagatedBuildInputs = [ optint checkseum ];
+  checkInputs = [ alcotest bigstringaf ctypes fmt camlzip base64 crowbar rresult ];
+  doCheck = true;
 
   meta = {
     description = "Pure OCaml implementation of Zlib";
diff --git a/pkgs/development/ocaml-modules/ff/default.nix b/pkgs/development/ocaml-modules/ff/default.nix
index 80ea140a201..5681b33cb76 100644
--- a/pkgs/development/ocaml-modules/ff/default.nix
+++ b/pkgs/development/ocaml-modules/ff/default.nix
@@ -1,32 +1,22 @@
-{ lib, fetchFromGitLab, buildDunePackage, ocaml, zarith, alcotest }:
+{ lib, buildDunePackage, ff-pbt, ff-sig, zarith, alcotest }:
 
 buildDunePackage rec {
   pname = "ff";
-  version = "0.4.0";
-
-  src = fetchFromGitLab {
-    owner = "dannywillems";
-    repo = "ocaml-ff";
-    rev = version;
-    sha256 = "1ik29srzkd0pl48p1si9p1c4f8vmx5rgm02yv2arj3vg0a1nfhdv";
-  };
-
-  useDune2 = true;
+  inherit (ff-sig) version src;
 
   propagatedBuildInputs = [
+    ff-sig
     zarith
   ];
 
   checkInputs = [
     alcotest
+    ff-pbt
   ];
 
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
-  meta = {
-    homepage = "https://gitlab.com/dannywillems/ocaml-ff";
+  meta = ff-sig.meta // {
     description = "OCaml implementation of Finite Field operations";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.ulrikstrid ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ff/pbt.nix b/pkgs/development/ocaml-modules/ff/pbt.nix
index e0363160dd7..ffd78381127 100644
--- a/pkgs/development/ocaml-modules/ff/pbt.nix
+++ b/pkgs/development/ocaml-modules/ff/pbt.nix
@@ -1,8 +1,8 @@
-{ lib, fetchFromGitLab, buildDunePackage, zarith, ff-sig, alcotest }:
+{ lib, buildDunePackage, zarith, ff-sig, alcotest }:
 
 buildDunePackage {
   pname = "ff-pbt";
-  inherit (ff-sig) version src doCheck useDune2;
+  inherit (ff-sig) version src;
 
   minimalOCamlVersion = "4.08";
 
@@ -10,6 +10,8 @@ buildDunePackage {
     alcotest
   ];
 
+  doCheck = true;
+
   propagatedBuildInputs = [
     zarith
     ff-sig
diff --git a/pkgs/development/ocaml-modules/ff/sig.nix b/pkgs/development/ocaml-modules/ff/sig.nix
index a2c7ca0d0c6..503a26f6398 100644
--- a/pkgs/development/ocaml-modules/ff/sig.nix
+++ b/pkgs/development/ocaml-modules/ff/sig.nix
@@ -2,16 +2,14 @@
 
 buildDunePackage rec {
   pname = "ff-sig";
-  version = "0.6.1";
+  version = "0.6.2";
   src = fetchFromGitLab {
-    owner = "dannywillems";
-    repo = "ocaml-ff";
+    owner = "nomadic-labs";
+    repo = "cryptography/ocaml-ff";
     rev = version;
-    sha256 = "0p42ivyfbn1pwm18773y4ga9cm64ysha0rplzvrnhszg01anarc0";
+    sha256 = "sha256-IoUH4awMOa1pm/t8E5io87R0TZsAxJjGWaXhXjn/w+Y=";
   };
 
-  useDune2 = true;
-
   propagatedBuildInputs = [
     zarith
   ];
@@ -19,7 +17,7 @@ buildDunePackage rec {
   doCheck = true;
 
   meta = {
-    homepage = "https://gitlab.com/dannywillems/ocaml-ff";
+    inherit (src.meta) homepage;
     description = "Minimal finite field signatures";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.ulrikstrid ];
diff --git a/pkgs/development/ocaml-modules/git/cohttp-unix.nix b/pkgs/development/ocaml-modules/git/cohttp-unix.nix
deleted file mode 100644
index ac6d423d58a..00000000000
--- a/pkgs/development/ocaml-modules/git/cohttp-unix.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ buildDunePackage, git, git-cohttp
-, cohttp-lwt-unix, cohttp-lwt, fmt, lwt, result, rresult, uri
-}:
-
-buildDunePackage {
-  pname = "git-cohttp-unix";
-
-  inherit (git) version src minimumOCamlVersion useDune2;
-
-  propagatedBuildInputs = [
-    git git-cohttp cohttp-lwt-unix cohttp-lwt fmt lwt result rresult uri
-  ];
-
-  meta = git.meta // {
-    description = "A package to use HTTP-based ocaml-git with Unix backend";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/git/cohttp.nix b/pkgs/development/ocaml-modules/git/cohttp.nix
deleted file mode 100644
index e9126ba4bec..00000000000
--- a/pkgs/development/ocaml-modules/git/cohttp.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ buildDunePackage, git
-, cohttp, cohttp-lwt, fmt, lwt, result, rresult, uri
-, alcotest, alcotest-lwt, bigstringaf, cstruct, logs
-, mirage-flow, ke
-}:
-
-buildDunePackage rec {
-  pname = "git-cohttp";
-
-  inherit (git) version minimumOCamlVersion src useDune2;
-
-  propagatedBuildInputs = [
-    git cohttp cohttp-lwt fmt lwt result rresult uri
-  ];
-
-  meta = git.meta // {
-    description = "A package to use HTTP-based ocaml-git with Unix backend";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index b359a397f31..1e886e94dd1 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -1,21 +1,20 @@
 { stdenv, lib, fetchurl, buildDunePackage
-, alcotest, mtime, mirage-crypto-rng, tls, git-binary
-, angstrom, astring, cstruct, decompress, digestif, encore, duff, fmt, checkseum
+, alcotest, mirage-crypto-rng, git-binary
+, angstrom, astring, cstruct, decompress, digestif, encore, fmt, checkseum
 , fpath, ke, logs, lwt, ocamlgraph, uri, rresult, base64, hxd
 , result, bigstringaf, optint, mirage-flow, domain-name, emile
-, mimic, carton, carton-lwt, carton-git, ipaddr, psq, crowbar, alcotest-lwt
+, mimic, carton, carton-lwt, carton-git, ipaddr, psq, crowbar, alcotest-lwt, cmdliner
 }:
 
 buildDunePackage rec {
   pname = "git";
-  version = "3.5.0";
+  version = "3.9.1";
 
-  minimumOCamlVersion = "4.08";
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
-    sha256 = "bcd5a0aef9957193cbaeeb17c22201e5ca4e815e67bbc696e88efdb38c25ec03";
+    sha256 = "sha256-OyeMW5gsq4fMEWRmhzPq2qardFZtMjoQk6mMKz5+Ds4=";
   };
 
   # remove changelog for the carton package
@@ -27,12 +26,12 @@ buildDunePackage rec {
     base64
   ];
   propagatedBuildInputs = [
-    angstrom astring checkseum cstruct decompress digestif encore duff fmt fpath
+    angstrom astring checkseum cstruct decompress digestif encore fmt fpath
     ke logs lwt ocamlgraph uri rresult result bigstringaf optint mirage-flow
     domain-name emile mimic carton carton-lwt carton-git ipaddr psq hxd
   ];
   checkInputs = [
-    alcotest alcotest-lwt mtime mirage-crypto-rng tls git-binary crowbar
+    alcotest alcotest-lwt mirage-crypto-rng git-binary crowbar cmdliner
   ];
   doCheck = !stdenv.isAarch64;
 
diff --git a/pkgs/development/ocaml-modules/git/mirage.nix b/pkgs/development/ocaml-modules/git/mirage.nix
new file mode 100644
index 00000000000..e7398d0d1da
--- /dev/null
+++ b/pkgs/development/ocaml-modules/git/mirage.nix
@@ -0,0 +1,95 @@
+{ lib, buildDunePackage
+, git
+, mimic
+, mimic-happy-eyeballs
+, base64
+, git-paf
+, awa
+, awa-mirage
+, dns
+, dns-client
+, tls
+, tls-mirage
+, uri
+, hex
+, happy-eyeballs-mirage
+, happy-eyeballs
+, ca-certs-nss
+, mirage-crypto
+, ptime
+, x509
+, cstruct
+, tcpip
+, domain-name
+, fmt
+, ipaddr
+, lwt
+, mirage-clock
+, mirage-flow
+, mirage-random
+, mirage-time
+, result
+, rresult
+, alcotest
+, alcotest-lwt
+, bigstringaf
+, logs
+, ke
+}:
+
+buildDunePackage {
+  pname = "git-mirage";
+
+  inherit (git) version src;
+
+  minimalOCamlVersion = "4.08";
+
+  buildInputs = [
+    dns
+    dns-client
+    happy-eyeballs-mirage
+    ipaddr
+    mirage-random
+    rresult
+  ];
+
+  propagatedBuildInputs = [
+    git
+    mimic
+    mimic-happy-eyeballs
+    base64
+    git-paf
+    awa
+    awa-mirage
+    tls
+    tls-mirage
+    uri
+    hex
+    happy-eyeballs
+    ca-certs-nss
+    mirage-crypto
+    ptime
+    x509
+    cstruct
+    tcpip
+    domain-name
+    fmt
+    lwt
+    mirage-clock
+    mirage-flow
+    mirage-time
+    result
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+    bigstringaf
+    logs
+    ke
+  ];
+
+  meta = git.meta // {
+    description = "A package to use ocaml-git with MirageOS backend";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/git/paf.nix b/pkgs/development/ocaml-modules/git/paf.nix
index 9db8c872798..476364a52fb 100644
--- a/pkgs/development/ocaml-modules/git/paf.nix
+++ b/pkgs/development/ocaml-modules/git/paf.nix
@@ -8,7 +8,6 @@
 , logs
 , lwt
 , mirage-clock
-, mirage-stack
 , mirage-time
 , result
 , rresult
@@ -25,7 +24,9 @@
 buildDunePackage {
   pname = "git-paf";
 
-  inherit (git) version src minimumOCamlVersion useDune2;
+  inherit (git) version src;
+
+  minimalOCamlVersion = "4.08";
 
   propagatedBuildInputs = [
     git
@@ -39,7 +40,6 @@ buildDunePackage {
     ipaddr
     logs
     mirage-clock
-    mirage-stack
     mirage-time
     tls
     uri
diff --git a/pkgs/development/ocaml-modules/git/unix.nix b/pkgs/development/ocaml-modules/git/unix.nix
index 91f33d7eeb0..bd2e6f31848 100644
--- a/pkgs/development/ocaml-modules/git/unix.nix
+++ b/pkgs/development/ocaml-modules/git/unix.nix
@@ -1,37 +1,38 @@
 { buildDunePackage, git
-, mmap, rresult, result, bigstringaf
-, fmt, bos, fpath, uri, digestif, logs, lwt, git-cohttp-unix
+, rresult, result, bigstringaf
+, fmt, bos, fpath, uri, digestif, logs, lwt
 , mirage-clock, mirage-clock-unix, astring, awa, cmdliner
-, cohttp-lwt-unix, decompress, domain-name, ipaddr, mtime
-, tcpip, awa-mirage, mirage-flow
+, decompress, domain-name, ipaddr, mtime
+, tcpip, awa-mirage, mirage-flow, mirage-unix
 , alcotest, alcotest-lwt, base64, cstruct
 , ke, mirage-crypto-rng, ocurl, git-binary
 , ptime, mimic, ca-certs-nss, tls, tls-mirage
-, cacert
+, cacert, happy-eyeballs-lwt, git-mirage
 }:
 
 buildDunePackage {
   pname = "git-unix";
-  inherit (git) version src minimumOCamlVersion;
+  inherit (git) version src;
 
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   buildInputs = [
-    awa awa-mirage cmdliner git-cohttp-unix
-    mirage-clock mirage-clock-unix tcpip
+    awa awa-mirage cmdliner
+    mirage-clock tcpip
   ];
   propagatedBuildInputs = [
-    mmap rresult result bigstringaf
-    fmt bos fpath uri digestif logs lwt
-    astring cohttp-lwt-unix decompress
-    domain-name ipaddr mtime mirage-flow
+    rresult result bigstringaf
+    fmt bos fpath digestif logs lwt
+    astring decompress
+    domain-name ipaddr mirage-flow mirage-unix
     cstruct ptime mimic ca-certs-nss
-    tls tls-mirage git
+    tls tls-mirage git happy-eyeballs-lwt
+    git-mirage mirage-clock-unix
   ];
   checkInputs = [
     alcotest alcotest-lwt base64 ke
     mirage-crypto-rng git-binary
-    cohttp-lwt-unix
+    uri mtime
     cacert # sets up NIX_SSL_CERT_FILE
   ];
   doCheck = true;
@@ -39,7 +40,5 @@ buildDunePackage {
   meta = {
     description = "Unix backend for the Git protocol(s)";
     inherit (git.meta) homepage license maintainers;
-    # Not compatible with cmdliner ≥ 1.1
-    broken = true;
   };
 }
diff --git a/pkgs/development/ocaml-modules/irmin/chunk.nix b/pkgs/development/ocaml-modules/irmin/chunk.nix
index 0014bbbcfcb..59bd8154494 100644
--- a/pkgs/development/ocaml-modules/irmin/chunk.nix
+++ b/pkgs/development/ocaml-modules/irmin/chunk.nix
@@ -1,11 +1,11 @@
-{ lib, buildDunePackage, irmin, irmin-test, alcotest }:
+{ lib, buildDunePackage, irmin, irmin-test, fmt, logs, lwt, alcotest }:
 
 buildDunePackage rec {
 
   pname = "irmin-chunk";
-  inherit (irmin) version src useDune2;
+  inherit (irmin) version src strictDeps;
 
-  propagatedBuildInputs = [ irmin ];
+  propagatedBuildInputs = [ irmin fmt logs lwt ];
 
   doCheck = true;
   checkInputs = [ alcotest irmin-test ];
diff --git a/pkgs/development/ocaml-modules/irmin/containers.nix b/pkgs/development/ocaml-modules/irmin/containers.nix
index 76383099a41..547ec410526 100644
--- a/pkgs/development/ocaml-modules/irmin/containers.nix
+++ b/pkgs/development/ocaml-modules/irmin/containers.nix
@@ -1,19 +1,19 @@
 { buildDunePackage
-, irmin, irmin-unix, irmin-git, ppx_irmin, lwt, mtime
+, irmin, irmin-fs, ppx_irmin, lwt, mtime
 , alcotest, alcotest-lwt, cacert
 }:
 
 buildDunePackage {
   pname = "irmin-containers";
 
-  inherit (ppx_irmin) src version useDune2;
+  inherit (ppx_irmin) src version strictDeps;
 
   nativeBuildInputs = [
     ppx_irmin
   ];
 
   propagatedBuildInputs = [
-    irmin irmin-unix irmin-git ppx_irmin lwt mtime
+    irmin irmin-fs ppx_irmin lwt mtime
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/irmin/default.nix b/pkgs/development/ocaml-modules/irmin/default.nix
index 447024f6e12..66b572f576d 100644
--- a/pkgs/development/ocaml-modules/irmin/default.nix
+++ b/pkgs/development/ocaml-modules/irmin/default.nix
@@ -1,33 +1,41 @@
 { lib, buildDunePackage
 , astring, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
-, repr, ppx_irmin, bheap, uutf
+, repr, ppx_irmin, bheap, uutf, mtime, lwt, optint
+, vector, hex, alcotest, qcheck-alcotest
 }:
 
 buildDunePackage {
   pname = "irmin";
 
-  inherit (ppx_irmin) src version;
+  inherit (ppx_irmin) src version strictDeps;
 
-  useDune2 = true;
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
 
   propagatedBuildInputs = [
     astring
+    bheap
     digestif
     fmt
     jsonm
     logs
-    ocaml_lwt
+    lwt
+    mtime
     ocamlgraph
-    uri
-    repr
-    bheap
+    optint
     ppx_irmin
+    repr
+    uri
     uutf
   ];
 
-  # circular dependency on irmin-mem
-  doCheck = false;
+  checkInputs = [
+    vector
+    hex
+    alcotest
+    qcheck-alcotest
+  ];
+
+  doCheck = true;
 
   meta = ppx_irmin.meta // {
     description = "A distributed database built on the same principles as Git";
diff --git a/pkgs/development/ocaml-modules/irmin/fs.nix b/pkgs/development/ocaml-modules/irmin/fs.nix
index 0e9596751b8..54483d39b7e 100644
--- a/pkgs/development/ocaml-modules/irmin/fs.nix
+++ b/pkgs/development/ocaml-modules/irmin/fs.nix
@@ -1,16 +1,15 @@
-{ lib, buildDunePackage, irmin, irmin-test }:
+{ lib, buildDunePackage, irmin, astring, logs, lwt
+, alcotest, irmin-test, irmin-watcher }:
 
 buildDunePackage rec {
 
   pname = "irmin-fs";
 
-  inherit (irmin) version src;
+  inherit (irmin) version src strictDeps;
 
-  propagatedBuildInputs = [ irmin ];
+  propagatedBuildInputs = [ irmin astring logs lwt ];
 
-  useDune2 = true;
-
-  checkInputs = lib.optional doCheck irmin-test;
+  checkInputs = [ alcotest irmin-test irmin-watcher ];
 
   doCheck = true;
 
@@ -19,5 +18,3 @@ buildDunePackage rec {
   };
 
 }
-
-
diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix
index d477c932928..387fc60a0aa 100644
--- a/pkgs/development/ocaml-modules/irmin/git.nix
+++ b/pkgs/development/ocaml-modules/irmin/git.nix
@@ -1,16 +1,15 @@
 { lib, buildDunePackage
-, git, irmin, irmin-test, ppx_irmin, git-cohttp-unix, git-unix
+, git, irmin, ppx_irmin, git-unix, irmin-watcher
 , digestif, cstruct, fmt, astring, fpath, logs, lwt, uri
-, mtime, alcotest, cacert
+, cohttp-lwt-unix, mimic
+, irmin-test, mtime, alcotest, cacert
 }:
 
 buildDunePackage {
 
   pname = "irmin-git";
 
-  inherit (irmin) version src;
-
-  useDune2 = true;
+  inherit (irmin) version src strictDeps;
 
   propagatedBuildInputs = [
     git
@@ -24,9 +23,13 @@ buildDunePackage {
     logs
     lwt
     uri
+    irmin-watcher
+    git-unix
+    mimic
+    cohttp-lwt-unix
   ];
 
-  checkInputs = [ mtime alcotest git-cohttp-unix git-unix irmin-test cacert ];
+  checkInputs = [ mtime alcotest irmin-test cacert ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix
index 3074cfd368e..1b5ecb51396 100644
--- a/pkgs/development/ocaml-modules/irmin/graphql.nix
+++ b/pkgs/development/ocaml-modules/irmin/graphql.nix
@@ -1,5 +1,5 @@
-{ lib, buildDunePackage, cohttp-lwt, graphql-cohttp, graphql-lwt, irmin
-, alcotest, alcotest-lwt, logs, yojson, cohttp-lwt-unix, cacert
+{ lib, buildDunePackage, cohttp-lwt, cohttp-lwt-unix, graphql-cohttp, graphql-lwt, irmin, git-unix
+, alcotest, alcotest-lwt, logs, yojson, cacert
 }:
 
 buildDunePackage rec {
@@ -8,26 +8,19 @@ buildDunePackage rec {
 
   inherit (irmin) version src;
 
-  useDune2 = true;
-
-  propagatedBuildInputs = [ cohttp-lwt graphql-cohttp graphql-lwt irmin ];
+  propagatedBuildInputs = [ cohttp-lwt cohttp-lwt-unix graphql-cohttp graphql-lwt irmin git-unix ];
 
   doCheck = true;
+
   checkInputs = [
     alcotest
     alcotest-lwt
     logs
-    cohttp-lwt-unix
     yojson
     cacert
   ];
 
   meta = irmin.meta // {
     description = "GraphQL server for Irmin";
-    broken = true; # Not compatible with graphql 0.14
   };
-
 }
-
-
-
diff --git a/pkgs/development/ocaml-modules/irmin/http.nix b/pkgs/development/ocaml-modules/irmin/http.nix
index 7bfae998202..1f58daca536 100644
--- a/pkgs/development/ocaml-modules/irmin/http.nix
+++ b/pkgs/development/ocaml-modules/irmin/http.nix
@@ -1,5 +1,6 @@
-{ lib, buildDunePackage, cohttp-lwt, irmin, webmachine
-, checkseum, git-unix, irmin-git, irmin-test, digestif, git-cohttp-unix
+{ lib, buildDunePackage, astring, cohttp-lwt, cohttp-lwt-unix, irmin, webmachine
+, fmt, jsonm, logs, lwt, uri
+, git-unix, irmin-git, irmin-test, irmin-fs, digestif
 , cacert
 }:
 
@@ -7,14 +8,13 @@ buildDunePackage rec {
 
   pname = "irmin-http";
 
-  inherit (irmin) version src;
+  inherit (irmin) version src strictDeps;
 
-  useDune2 = true;
 
-  propagatedBuildInputs = [ cohttp-lwt irmin webmachine ];
+  propagatedBuildInputs = [ astring cohttp-lwt cohttp-lwt-unix fmt jsonm logs lwt uri irmin webmachine ];
 
   checkInputs = [
-    digestif checkseum git-cohttp-unix git-unix irmin-git irmin-test cacert
+    digestif git-unix irmin-git irmin-test irmin-fs cacert
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/irmin/layers.nix b/pkgs/development/ocaml-modules/irmin/layers.nix
deleted file mode 100644
index 40410b004ae..00000000000
--- a/pkgs/development/ocaml-modules/irmin/layers.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ buildDunePackage, irmin, mtime, logs, lwt }:
-
-buildDunePackage {
-  pname = "irmin-layers";
-
-  inherit (irmin) version src useDune2;
-
-  propagatedBuildInputs = [
-    irmin
-    mtime
-    logs
-    lwt
-  ];
-
-  meta = irmin.meta // {
-    description = "Combine different Irmin stores into a single, layered store";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/irmin/mirage-git.nix b/pkgs/development/ocaml-modules/irmin/mirage-git.nix
index e33b766bd4c..09c1820d609 100644
--- a/pkgs/development/ocaml-modules/irmin/mirage-git.nix
+++ b/pkgs/development/ocaml-modules/irmin/mirage-git.nix
@@ -6,7 +6,7 @@
 buildDunePackage {
   pname = "irmin-mirage-git";
 
-  inherit (irmin-mirage) version src useDune2;
+  inherit (irmin-mirage) version src strictDeps;
 
   propagatedBuildInputs = [
     irmin-mirage
diff --git a/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix
index d550b9c924b..bfbe45b3901 100644
--- a/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix
+++ b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix
@@ -5,7 +5,7 @@
 buildDunePackage {
   pname = "irmin-mirage-graphql";
 
-  inherit (irmin-mirage) version src useDune2;
+  inherit (irmin-mirage) version src strictDeps;
 
   propagatedBuildInputs = [
     irmin-mirage
diff --git a/pkgs/development/ocaml-modules/irmin/mirage.nix b/pkgs/development/ocaml-modules/irmin/mirage.nix
index 675c8a3fdd2..9e4bd933079 100644
--- a/pkgs/development/ocaml-modules/irmin/mirage.nix
+++ b/pkgs/development/ocaml-modules/irmin/mirage.nix
@@ -3,7 +3,7 @@
 buildDunePackage {
   pname = "irmin-mirage";
 
-  inherit (irmin) version src useDune2;
+  inherit (irmin) version src strictDeps;
 
   propagatedBuildInputs = [
     irmin fmt ptime mirage-clock
diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix
index 63ad03a3a86..a1a2974a4d7 100644
--- a/pkgs/development/ocaml-modules/irmin/pack.nix
+++ b/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -1,23 +1,22 @@
 { lib, buildDunePackage
-, alcotest-lwt, index, irmin, irmin-layers, irmin-test, ocaml_lwt, fpath, optint
+, index, ppx_irmin, irmin, optint, fmt, logs, lwt, mtime, cmdliner
+, alcotest, alcotest-lwt, astring, irmin-test
 }:
 
 buildDunePackage rec {
-  minimumOCamlVersion = "4.02.3";
+  minimalOCamlVersion = "4.08";
 
   pname = "irmin-pack";
 
-  inherit (irmin) version src;
+  inherit (irmin) version src strictDeps;
 
-  useDune2 = true;
+  nativeBuildInputs = [ ppx_irmin ];
 
-  buildInputs = [ fpath ];
-  propagatedBuildInputs = [ index irmin irmin-layers ocaml_lwt optint ];
+  propagatedBuildInputs = [ index irmin optint fmt logs lwt mtime cmdliner ];
 
-  checkInputs = [ alcotest-lwt irmin-test ];
+  checkInputs = [ astring alcotest alcotest-lwt irmin-test ];
 
-  # Check fails with cmdliner ≥ 1.1
-  doCheck = false;
+  doCheck = true;
 
   meta = irmin.meta // {
     description = "Irmin backend which stores values in a pack file";
diff --git a/pkgs/development/ocaml-modules/irmin/ppx.nix b/pkgs/development/ocaml-modules/irmin/ppx.nix
index 2eecc3a1e5e..8749aef1433 100644
--- a/pkgs/development/ocaml-modules/irmin/ppx.nix
+++ b/pkgs/development/ocaml-modules/irmin/ppx.nix
@@ -1,21 +1,22 @@
-{ lib, fetchurl, buildDunePackage, ppxlib, ppx_repr }:
+{ lib, fetchurl, buildDunePackage, ppxlib, ppx_repr, logs }:
 
 buildDunePackage rec {
   pname = "ppx_irmin";
-  version = "2.9.1";
+  version = "3.4.1";
 
   src = fetchurl {
     url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
-    sha256 = "10r7j4z4gx3dp48lavjhpb1cam27n6ch751amslb0drphy53l00n";
+    sha256 = "sha256-kig2EWww7GgGijhpSgm7pSHPR+3Q5K5E4Ha5tJY9oYA=";
   };
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.10";
 
-  useDune2 = true;
+  strictDeps = false; # We must provide checkInputs as buildInputs because dune builds tests at build time
 
   propagatedBuildInputs = [
     ppx_repr
     ppxlib
+    logs
   ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/irmin/test.nix b/pkgs/development/ocaml-modules/irmin/test.nix
index 90141d925e6..942200bf429 100644
--- a/pkgs/development/ocaml-modules/irmin/test.nix
+++ b/pkgs/development/ocaml-modules/irmin/test.nix
@@ -1,19 +1,34 @@
-{ buildDunePackage
-, alcotest, cmdliner, irmin, metrics-unix, mtime, irmin-layers
+{ buildDunePackage, irmin, ppx_irmin, mtime, astring, fmt, jsonm, logs, lwt
+, metrics-unix, ocaml-syntax-shims, cmdliner, metrics, alcotest-lwt
+, hex, vector
 }:
 
 buildDunePackage {
 
   pname = "irmin-test";
 
-  inherit (irmin) version src;
+  inherit (irmin) version src strictDeps;
 
-  useDune2 = true;
+  nativeBuildInputs = [ ppx_irmin ];
 
   propagatedBuildInputs = [
-    alcotest cmdliner irmin metrics-unix mtime irmin-layers
+    irmin
+    ppx_irmin
+    alcotest-lwt
+    mtime
+    astring
+    fmt
+    jsonm
+    logs
+    lwt
+    metrics-unix
+    ocaml-syntax-shims
+    cmdliner
+    metrics
   ];
 
+  checkInputs = [ hex vector ];
+
   meta = irmin.meta // {
     description = "Irmin test suite";
   };
diff --git a/pkgs/development/ocaml-modules/irmin/tezos.nix b/pkgs/development/ocaml-modules/irmin/tezos.nix
new file mode 100644
index 00000000000..8426316ed39
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/tezos.nix
@@ -0,0 +1,33 @@
+{ lib, buildDunePackage
+, irmin, irmin-pack, ppx_irmin, digestif, cmdliner, fmt, yojson, tezos-base58
+, alcotest, hex, irmin-test, fpath
+}:
+
+buildDunePackage rec {
+  pname = "irmin-tezos";
+
+  inherit (irmin) version src strictDeps;
+
+  propagatedBuildInputs = [
+   irmin
+   irmin-pack
+   ppx_irmin
+   digestif
+   fmt
+   tezos-base58
+  ];
+
+  buildInputs = [
+   cmdliner
+   yojson
+  ];
+
+  checkInputs = [ alcotest hex irmin-test fpath ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Irmin implementation of the Tezos context hash specification";
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/irmin/unix.nix b/pkgs/development/ocaml-modules/irmin/unix.nix
deleted file mode 100644
index 2906e77b1b6..00000000000
--- a/pkgs/development/ocaml-modules/irmin/unix.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, buildDunePackage
-, checkseum, cmdliner, git-unix, git-cohttp-unix, yaml, fpath
-, irmin, irmin-fs, irmin-git, irmin-graphql, irmin-http
-, irmin-pack, irmin-watcher, irmin-test, cacert
-}:
-
-buildDunePackage rec {
-
-  pname = "irmin-unix";
-
-  inherit (irmin) version src;
-
-  useDune2 = true;
-
-  propagatedBuildInputs = [
-    checkseum cmdliner git-unix yaml fpath
-    irmin irmin-fs irmin-git irmin-graphql irmin-http
-    irmin-pack irmin-watcher git-cohttp-unix
-  ];
-
-  checkInputs = [
-    irmin-test cacert
-  ];
-
-  doCheck = true;
-
-  meta = irmin.meta // {
-    description = "Unix backends for Irmin";
-    mainProgram = "irmin";
-  };
-
-}
-
diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
deleted file mode 100644
index 47f48c89be7..00000000000
--- a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview, camlp4 }:
-
-if lib.versionAtLeast ocaml.version "4.04"
-then throw "lablgtk-2.14 is not available for OCaml ${ocaml.version}" else
-
-let
-  pname = "lablgtk";
-in
-
-stdenv.mkDerivation (rec {
-  name = "${pname}-${version}";
-  version = "2.14.0";
-
-  src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz";
-    sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9";
-  };
-
-  nativeBuildInputs = [ pkg-config ocaml findlib camlp4 ];
-  buildInputs = [ gtk2 libgnomecanvas gtksourceview ];
-
-  configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
-  buildFlags = [ "world" ];
-
-  preInstall = ''
-    mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib
-    export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
-  '';
-
-  meta = {
-    branch = "2.14";
-    inherit (ocaml.meta) platforms;
-    maintainers = [
-      lib.maintainers.maggesi
-      lib.maintainers.roconnor
-    ];
-    homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html";
-    description = "LablGTK is is an Objective Caml interface to GTK";
-    license = lib.licenses.lgpl21Plus;
-  };
-})
diff --git a/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix b/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix
index 7a794105e78..72e3f99ddbe 100644
--- a/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix
+++ b/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix
@@ -9,7 +9,7 @@ buildDunePackage {
 
   strictDeps = true;
 
-  buildInputs = [
+  propagatedBuildInputs = [
     mimic
     happy-eyeballs-mirage
   ];
diff --git a/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix b/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix
index 94e862a6bc9..78f3e48c5bd 100644
--- a/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix
@@ -10,6 +10,11 @@ buildDunePackage rec {
     sha256 = "cc0e814fd54efe7a5b7a8c5eb1c04e2dece751b7d8dee2d95908a0768896e8af";
   };
 
+  # Make compatible with cstruct 6.1.0
+  postPatch = ''
+    substituteInPlace src/ramdisk.ml --replace 'Cstruct.len' 'Cstruct.length'
+  '';
+
   minimalOCamlVersion = "4.06";
 
   propagatedBuildInputs = [ io-page mirage-block ];
diff --git a/pkgs/development/ocaml-modules/repr/default.nix b/pkgs/development/ocaml-modules/repr/default.nix
index 168da21a04e..f5a11919c5d 100644
--- a/pkgs/development/ocaml-modules/repr/default.nix
+++ b/pkgs/development/ocaml-modules/repr/default.nix
@@ -1,16 +1,18 @@
-{ lib, buildDunePackage, fetchurl, base64, either, fmt, jsonm, uutf, optint }:
+{ lib, buildDunePackage, fetchFromGitHub, base64, either, fmt, jsonm, uutf, optint }:
 
 buildDunePackage rec {
   pname = "repr";
-  version = "0.5.0";
+  version = "0.6.0";
 
-  src = fetchurl {
-    url = "https://github.com/mirage/${pname}/releases/download/${version}/${pname}-fuzz-${version}.tbz";
-    sha256 = "1y9qnbaxcyxz7bzkkq5lwjrv715mvp2vphzcrd8vbvjhp7df3l1f";
+  src = fetchFromGitHub {
+    owner = "mirage";
+    repo = "repr";
+    rev = version;
+    sha256 = "sha256-jF8KmaG07CT26O/1ANc6s1yHFJqhXDtd0jgTA04tIgw=";
   };
 
-  minimumOCamlVersion = "4.08";
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
+  strictDeps = true;
 
   propagatedBuildInputs = [
     base64
diff --git a/pkgs/development/ocaml-modules/repr/ppx.nix b/pkgs/development/ocaml-modules/repr/ppx.nix
index b495f6bb772..1eb76256362 100644
--- a/pkgs/development/ocaml-modules/repr/ppx.nix
+++ b/pkgs/development/ocaml-modules/repr/ppx.nix
@@ -3,7 +3,7 @@
 buildDunePackage {
   pname = "ppx_repr";
 
-  inherit (repr) src version useDune2;
+  inherit (repr) src version strictDeps;
 
   propagatedBuildInputs = [
     ppx_deriving
diff --git a/pkgs/development/ocaml-modules/ringo/default.nix b/pkgs/development/ocaml-modules/ringo/default.nix
index 7bfd38b869d..87a64beaa50 100644
--- a/pkgs/development/ocaml-modules/ringo/default.nix
+++ b/pkgs/development/ocaml-modules/ringo/default.nix
@@ -2,19 +2,17 @@
 
 buildDunePackage rec {
   pname = "ringo";
-  version = "0.5";
+  version = "0.9";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "ringo";
     rev = "v${version}";
-    sha256 = "1zwha0ycv3rm3qnw7nkg2m08ibx39yxnx5fan4lnn82b0pdasjag";
+    sha256 = "sha256-lPb+WrRsmtOow9BX9FW4HoILlsTuuMrVlK0XPcXWZ9U=";
   };
 
   minimalOCamlVersion = "4.05";
 
-  useDune2 = true;
-
   doCheck = true;
 
   # If we just run the test as is it will try to test ringo-lwt
diff --git a/pkgs/development/ocaml-modules/ringo/lwt.nix b/pkgs/development/ocaml-modules/ringo/lwt.nix
index be9f5bbf2b2..7fb8fb7054e 100644
--- a/pkgs/development/ocaml-modules/ringo/lwt.nix
+++ b/pkgs/development/ocaml-modules/ringo/lwt.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage {
   pname = "ringo-lwt";
-  inherit (ringo) version src doCheck useDune2;
+  inherit (ringo) version src doCheck;
 
   minimalOCamlVersion = "4.08";
 
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index b7940b64032..0ead92d9c54 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -1,5 +1,8 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner }:
 
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
+  "uuidm is not available for OCaml ${ocaml.version}"
+
 stdenv.mkDerivation rec {
   version = "0.9.8";
   pname = "uuidm";
diff --git a/pkgs/development/ocaml-modules/wodan/irmin.nix b/pkgs/development/ocaml-modules/wodan/irmin.nix
index 4b158d5427e..6389b47b617 100644
--- a/pkgs/development/ocaml-modules/wodan/irmin.nix
+++ b/pkgs/development/ocaml-modules/wodan/irmin.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, irmin-chunk, irmin-git, irmin-unix
+{ lib, buildDunePackage, irmin-chunk, irmin-git
 , mirage-block-ramdisk, mirage-block-unix, wodan }:
 
 buildDunePackage rec {
@@ -9,7 +9,6 @@ buildDunePackage rec {
     /* io-page-unix */ # No longer available in nixpkgs
     irmin-chunk
     irmin-git
-    irmin-unix
     mirage-block-ramdisk
     mirage-block-unix
     wodan
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix
index 7afd70c5853..5858fa875cd 100644
--- a/pkgs/development/python-modules/ansible/core.nix
+++ b/pkgs/development/python-modules/ansible/core.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.13.4";
+  version = "2.13.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ePRcLEcq9gubS4y9q6WjkRB5CHiRqfbG7XJjJ7jyHGo=";
+    sha256 = "sha256-JtzZIY1VRMwVFE9gu1tjTyJ25HbIn0gbP2GcT53vFYg=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/pkgs/development/python-modules/astroquery/default.nix b/pkgs/development/python-modules/astroquery/default.nix
index 6c1d39a82b0..4dfcde70c55 100644
--- a/pkgs/development/python-modules/astroquery/default.nix
+++ b/pkgs/development/python-modules/astroquery/default.nix
@@ -13,6 +13,7 @@
 , pytestCheckHook
 , pyvo
 , astropy-helpers
+, setuptools
 , isPy3k
 }:
 
@@ -37,7 +38,7 @@ buildPythonPackage rec {
     pyvo
   ];
 
-  nativeBuildInputs = [ astropy-helpers ];
+  nativeBuildInputs = [ astropy-helpers setuptools ];
 
   # Disable automatic update of the astropy-helper module
   postPatch = ''
diff --git a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
index 0489cb112b8..05d7398b598 100644
--- a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-authorization";
-  version = "2.0.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0776edc4980be940a8602eefc0372b4d1a1fa26caa46e3c0234e0c7a0feda4ec";
+    sha256 = "sha256-Cl1/aDvzNyI2uEHNvUZ39rCO185BuZnD5kTUKGJSBX0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-storage-file-share/default.nix b/pkgs/development/python-modules/azure-storage-file-share/default.nix
index 866e8173278..dc016068569 100644
--- a/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file-share";
-  version = "12.9.0";
+  version = "12.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-faowRP4H1/dQTLmhX5mhessoyAjtgzQWeL8t+TFfXCI=";
+    hash = "sha256-ANp31hkDL4TGoeP6Or9fI0LjYGyVMQJfuzd8RLrYZxI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bcrypt/3.nix b/pkgs/development/python-modules/bcrypt/3.nix
new file mode 100644
index 00000000000..2f242faac86
--- /dev/null
+++ b/pkgs/development/python-modules/bcrypt/3.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, setuptools
+, isPyPy
+, fetchPypi
+, pythonOlder
+, cffi
+, pytestCheckHook
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "bcrypt";
+  version = "3.2.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-QzxBDCF3BXcF2iqfLNAd0VdJOyp6wUyFk6FrPatra/s=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    six
+    cffi
+  ];
+
+  propagatedNativeBuildInputs = [
+    cffi
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "bcrypt"
+  ];
+
+  meta = with lib; {
+    description = "Modern password hashing for your software and your servers";
+    homepage = "https://github.com/pyca/bcrypt/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/bip_utils/default.nix b/pkgs/development/python-modules/bip_utils/default.nix
index 737dad3550c..ec351457a22 100644
--- a/pkgs/development/python-modules/bip_utils/default.nix
+++ b/pkgs/development/python-modules/bip_utils/default.nix
@@ -4,22 +4,39 @@
 , pythonOlder
 , ecdsa
 , pysha3
+, coincurve
+, pynacl
+, crcmod
+, ed25519-blake2b
+, py-sr25519-bindings
+, cbor2
+, pycryptodome
 }:
 
 buildPythonPackage rec {
   pname = "bip_utils";
-  version = "2.5.1";
+  version = "2.7.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "ebellocchia";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    sha256 = "sha256-lH8hd+JA1FhGH60MYIIuwHjr/4wFbYeuw/hd60kr1xc=";
+    rev = "v${version}";
+    sha256 = "sha256-m7/CC5/T6qR2Ot4y5WQlzOAR0czz6XHCjJskES+2nns=";
   };
 
-  propagatedBuildInputs = [ ecdsa pysha3 ];
+  propagatedBuildInputs = [
+    ecdsa
+    pysha3
+    cbor2
+    pynacl
+    coincurve
+    crcmod
+    ed25519-blake2b
+    py-sr25519-bindings
+    pycryptodome
+  ];
 
   pythonImportsCheck = [
     "bip_utils"
@@ -29,6 +46,6 @@ buildPythonPackage rec {
     description = "Implementation of BIP39, BIP32, BIP44, BIP49 and BIP84 for wallet seeds, keys and addresses generation";
     homepage = "https://github.com/ebellocchia/bip_utils";
     license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ prusnak ];
+    maintainers = with lib.maintainers; [ prusnak stargate01 ];
   };
 }
diff --git a/pkgs/development/python-modules/blebox-uniapi/default.nix b/pkgs/development/python-modules/blebox-uniapi/default.nix
index cc43e9b26d5..a080d20c042 100644
--- a/pkgs/development/python-modules/blebox-uniapi/default.nix
+++ b/pkgs/development/python-modules/blebox-uniapi/default.nix
@@ -7,17 +7,21 @@
 , deepmerge
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "blebox-uniapi";
-  version = "2.1.0";
+  version = "2.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "blebox";
     repo = "blebox_uniapi";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-mJaUB4kEm+eRh3Kc+SiTCSSmCmBEJBVZ5uah95MJX64=";
+    hash = "sha256-F0zvfqbcQCgpr9//TfhUHVT5KofFSyzRKWkLw4I4gxk=";
   };
 
   postPatch = ''
@@ -37,7 +41,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "blebox_uniapi" ];
+  pythonImportsCheck = [
+    "blebox_uniapi"
+  ];
 
   meta = with lib; {
     description = "Python API for accessing BleBox smart home devices";
diff --git a/pkgs/development/python-modules/click-option-group/default.nix b/pkgs/development/python-modules/click-option-group/default.nix
index cf39ba80845..828b6a83be1 100644
--- a/pkgs/development/python-modules/click-option-group/default.nix
+++ b/pkgs/development/python-modules/click-option-group/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "click-option-group";
-  version = "0.5.3";
+  version = "0.5.5";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1w0692s8fabncpggpwl2d4dfqjjlmcia271rrb8hcz0r6nvw98ak";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-ur7ycioZmgWMp4N+MURj1ggYMzs2eauteg1B5eLkSvc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/crate/default.nix b/pkgs/development/python-modules/crate/default.nix
index a7d7dc3ec60..fd49ab8bfd6 100644
--- a/pkgs/development/python-modules/crate/default.nix
+++ b/pkgs/development/python-modules/crate/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "crate";
-  version = "0.27.1";
+  version = "0.27.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-YYzn13yaTTVt4mxbE8wbymGrisraMRRHodydawSy/Uc=";
+    sha256 = "sha256-Ch4O3enHlQ+XO6+r7cnptrGJwnElHp07UubJuErft6U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/desktop-notifier/default.nix b/pkgs/development/python-modules/desktop-notifier/default.nix
index a60d4ae45a4..342b0738724 100644
--- a/pkgs/development/python-modules/desktop-notifier/default.nix
+++ b/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -11,15 +11,15 @@
 
 buildPythonPackage rec {
   pname = "desktop-notifier";
-  version = "3.4.0";
+  version = "3.4.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-lOXoiWY6gyWBL4RLrvslqcMmwtjMTOaHJZzsDO+C/F4=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-cqPLnahs3fT6AfQQkS5azh4/cHzaexytg78RsJG5c6U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index 7f0d01ec96f..f38b504cbb8 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.34.0";
+  version = "11.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bahl78c0MGu4AoANO/FWYq/DQWPC4T8WVdRHKzwg444=";
+    hash = "sha256-vrOqsRe2sBsL5CIfGCmoO3geE9G0FJl88HRcP6FzZe0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ed25519-blake2b/default.nix b/pkgs/development/python-modules/ed25519-blake2b/default.nix
new file mode 100644
index 00000000000..f7decd10374
--- /dev/null
+++ b/pkgs/development/python-modules/ed25519-blake2b/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchPypi
+, pythonOlder
+, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "ed25519-blake2b";
+  version = "1.4";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-0aHLkDLsMHzpW0HGGUQP1NP87MGPIkA1zH1tx6fY70A=";
+  };
+
+  pythonImportsCheck = [
+    "ed25519_blake2b"
+  ];
+
+  meta = with lib; {
+    description = "Ed25519 public-key signatures (BLAKE2b fork)";
+    homepage = "https://github.com/Matoking/python-ed25519-blake2b";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny stargate01 ];
+  };
+}
diff --git a/pkgs/development/python-modules/enlighten/default.nix b/pkgs/development/python-modules/enlighten/default.nix
index e970aaee337..1946aa61497 100644
--- a/pkgs/development/python-modules/enlighten/default.nix
+++ b/pkgs/development/python-modules/enlighten/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "enlighten";
-  version = "1.10.2";
+  version = "1.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eluDzQ9NCV5Z2Axkjrtff/ygzYvPeuZjmCjuGtAAYyo=";
+    hash = "sha256-V6vZij0/g0hO+fkfklX00jyLMJfs22R8e5sASdYAt/g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastapi-mail/default.nix b/pkgs/development/python-modules/fastapi-mail/default.nix
index f1ddf3bce78..f7f4b33f168 100644
--- a/pkgs/development/python-modules/fastapi-mail/default.nix
+++ b/pkgs/development/python-modules/fastapi-mail/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "fastapi-mail";
-  version = "1.1.5";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "sabuhish";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Rt+0ZZqo9tiATwS7iwtp7K2RW3t2tsLw5Hp2WrT40B0=";
+    hash = "sha256-RAUxc7spJL1QECAO0uZcCVAR/LaFIxFu61LD4RV9nEI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/gaphas/default.nix b/pkgs/development/python-modules/gaphas/default.nix
index 85d1256b058..9569c1c8e10 100644
--- a/pkgs/development/python-modules/gaphas/default.nix
+++ b/pkgs/development/python-modules/gaphas/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gaphas";
-  version = "3.8.0";
+  version = "3.8.1";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-szES3oLJayboCAMCGKtQqclOcbpYtEn3rg95OPtOZpU=";
+    sha256 = "sha256-mT9o/qV+SkJHV1MDwu/bK5HAiHM5YEv354R0HiMgTb8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/geeknote/default.nix b/pkgs/development/python-modules/geeknote/default.nix
index 6c416548184..813adfb0dbf 100644
--- a/pkgs/development/python-modules/geeknote/default.nix
+++ b/pkgs/development/python-modules/geeknote/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage {
   meta = with lib; {
     description = "Work with Evernote from command line";
     homepage = "http://www.geeknote.me";
-    license = licenses.gpl1;
+    license = licenses.gpl1Only;
     maintainers = with maintainers; [ hbunke ];
   };
 
diff --git a/pkgs/development/python-modules/git-filter-repo/default.nix b/pkgs/development/python-modules/git-filter-repo/default.nix
index e6a434c38bd..ba666c5abec 100644
--- a/pkgs/development/python-modules/git-filter-repo/default.nix
+++ b/pkgs/development/python-modules/git-filter-repo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "git-filter-repo";
-  version = "2.34.0";
+  version = "2.38.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-taCfODhl3goWSwa6F0Rh5V2RZ8xvuwbPKh5i2/DNumM=";
+    sha256 = "sha256-/hdT4Y8L1tPJtXhoyAEa59BWpuurcGcGOWoV71MScl4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index 251438bea1f..68fe9c08a74 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.14.1";
+  version = "3.14.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4M3qIYO2tHj3PKtkaetahlxjaDI3hkg938csDwPDsHs=";
+    hash = "sha256-pwn9fU1kniouSQbDSEDlANkeoBN4gzTeuuhnuD5Puq8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-automl/default.nix b/pkgs/development/python-modules/google-cloud-automl/default.nix
index 16a903c4962..87ac3fe68f1 100644
--- a/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.8.2";
+  version = "2.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hMVsjdjA/BkEuGDQK1x2zqWZSjIR7KroX4kcyJnIq4Q=";
+    hash = "sha256-aMkYgmx4TDGSW2/0KB7FTNUHUxtTaVpmeDiIWq7Z5lc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index 70b8286857d..ebb6d95eb1f 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.7.2";
+  version = "3.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-V7gSzWH5ua648A1WzmYVOFzftG8a8vaMKT6b3mRVhcQ=";
+    hash = "sha256-oPgbgaq5RQM4C2qmf36i+qXDQA9sV16abCleNkdGYC0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
index fecccef18cf..c46db49774e 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-logging";
-  version = "1.0.6";
+  version = "1.0.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-n32dnkSujb8npafG4OQZpKqyfdPsIt9hZVpvtjhI6U0=";
+    hash = "sha256-F8PP/Vs+sOVDEwIUvWnO6C4+rQvVTtWKMPnREwKEQ0I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
index 6d98528e511..766a793082c 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-storage";
-  version = "2.16.1";
+  version = "2.16.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2qCPfrhuR5lqzKXcHvwZlNFFP8CN/sJbm/U/Q37zAOY=";
+    sha256 = "sha256-5qyk97b06tuH+FEJBhd1Y1GOFYfIt7FivPjhyede9BY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 206d1491888..1c71878ed0b 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.3.3";
+  version = "3.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-r7tZyBb8t9T6y6EDPGOfTC1J7xSL/q/0L13gz05Qa/k=";
+    hash = "sha256-+7ZXmcAnVN3K7ZgfSotrAhtpzADUzZw1yh1swnLq2dE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 6fe2b0063e3..4759a71c6d7 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.12.1";
+  version = "2.12.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FwwI5rlVspPjfgFSaed+bqQSHuq6OFgLrQN/JL+bffM=";
+    hash = "sha256-GnA60NjGi33i9P5D8IItQjLKlLirJITyijrGQROQHvM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
index 36494c49181..297847f6f3a 100644
--- a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datacatalog";
-  version = "3.9.2";
+  version = "3.9.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pRFMFet7p5qvNOfti5bmehyTGNaXlxpXxZ/kOxdiiZU=";
+    hash = "sha256-JgGs4lqOruHohIy6GaUGSHr0vd+lFsI5u4PVZwt7tdo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index b6d02ed1169..7e75978a351 100644
--- a/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "5.0.2";
+  version = "5.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+w1f/FrL8968WHbKFCu3ayQ/G7TEx4wuZ/RCadryeIM=";
+    hash = "sha256-gE4PyJCrgEekqR3S4YNUtp3yd2AOt7TmKvvDaJ4stk0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix
index d5e71149828..c5c2fdf988b 100644
--- a/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.8.2";
+  version = "2.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Q/NLGD6ALwJ4mK/LUqovlDQ5lVnf3uMBnpwURya3BEI=";
+    sha256 = "sha256-JtSY/mQ7BAatBiq9XCO9O0x6nnyPpECnlSYNq9brxp8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 390af1240dc..331b6d8adb7 100644
--- a/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.9.1";
+  version = "3.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UZ44USwAVUCXYUelrFj+5DZ7x67BIU7Q6zPeV5Fh68s=";
+    hash = "sha256-yoiHO4/dhFDGZJB+WiouyBtbTQWIecwaIvR+qw8MGBU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index 9dc701dcb1e..5ec7903b9e2 100644
--- a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
+++ b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-error-reporting";
-  version = "1.6.2";
+  version = "1.6.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uiKJOec6chc0YB3OowQ2CQajo/iQekcEwIDkXVLEve8=";
+    hash = "sha256-7QR4NS98MtJ8aMLC+qQeTrK1Rv5kw6XlZhSKbatrZFY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-firestore/default.nix b/pkgs/development/python-modules/google-cloud-firestore/default.nix
index 3e8d3734ba7..5abd123f8f1 100644
--- a/pkgs/development/python-modules/google-cloud-firestore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-firestore";
-  version = "2.7.1";
+  version = "2.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UcgDxbFf5/ZRdtEcMaGhOkPZrJDAmKSOSTJv1fIbY48=";
+    sha256 = "sha256-yGB6dLcRxEuqPYGEbpOI5DInos/1ILWmzeXN+ck/W+g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
index a5fe179eea1..601d213892e 100644
--- a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iam-logging";
-  version = "1.0.5";
+  version = "1.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IIXCMB1QOwKafqaXM9s4jDqZWO2pnOVxhrm0USm2bPc=";
+    hash = "sha256-XiuEki6bNKZ8CzfcBBjnDbAh2yEADZohpP991OTf2DI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-iot/default.nix b/pkgs/development/python-modules/google-cloud-iot/default.nix
index c1ece06f828..bd902197416 100644
--- a/pkgs/development/python-modules/google-cloud-iot/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "2.6.3";
+  version = "2.6.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UB1kxnKobjR1xpezanpgrVg7bU7sA5r2sn7fRbwSrdY=";
+    hash = "sha256-d3RRVqgetOS3sAT6UkV5DB/NZMjeZd5tBtd9ME8Wvs4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-language/default.nix b/pkgs/development/python-modules/google-cloud-language/default.nix
index d5860007ab9..84b2c14ee70 100644
--- a/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.6.0";
+  version = "2.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2boU+QCBYsQUPVEVzmL1WNQ1PkQVv0Zm4CRzyhQ6OPo=";
+    sha256 = "sha256-KAZmikDsTmNarRo9fxrTR5EtGfSYm1i4rP1iX8pa6Zo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-logging/default.nix b/pkgs/development/python-modules/google-cloud-logging/default.nix
index 94900dfb718..81f032a095d 100644
--- a/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "3.2.4";
+  version = "3.2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Dsq4+2EE+fgbMWKZmtlO1lAp6a1EaWpMLvDOC7E10ek=";
+    hash = "sha256-wbB4AD+PwsCGSvBGUeK+EhPltzjqgykeX/VlJSm8Xlg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index 692c6723022..d6d3f5f9815 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.11.2";
+  version = "2.11.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KOvXJUsLAj7Afc1dLE3iMLhZU/piUveIwtvjMN+H/Rw=";
+    hash = "sha256-Nm27yxdf6woQoP37CeNrHggM2Wobv9W9JrmTlx5A4uY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix
index 497f5e46c30..18f7dafae7a 100644
--- a/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-os-config";
-  version = "1.12.3";
+  version = "1.12.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zSVAVh0WiI5I0P5Jy1wAld4IftWm2hurICYK+Hy5fK0=";
+    hash = "sha256-SmzCo/nh6FbTt+7lw4XAyF5gwDHQCOz8Nbl05/AkDfY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 25d8d6e55f3..9b7e9f63d5e 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.13.7";
+  version = "2.13.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZQofVdFmK0Rs9w7tdX7op1IFglK0BH2vhjjdvnUE0yY=";
+    hash = "sha256-5hD6Pi55OviEF0szcDu6j6ME4gOcr+8dBdBW4ohJzIE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
index 237fd97ba75..96b20dcc260 100644
--- a/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.9.2";
+  version = "2.9.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-nltk97HZEpWOQIgL77crnaXR9Qu/mTOIc8v0vty6mtI=";
+    hash = "sha256-81RPV8GaSU0jpYTyjFWxakpbuBz994eA7I/wyTxmg8Y=";
   };
 
   propagatedBuildInputs = [
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 2109694c439..7291702a83d 100644
--- a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-resource-manager";
-  version = "1.6.2";
+  version = "1.6.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OOxxazWbHSYyhHLDtKZIixzHUgsTZmxyyulfzh/TIrM=";
+    hash = "sha256-bPipp05loDhXiWlnx5MHt1gFx1Kt47xBIk5hZ3dLyck=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index 2da04ba2a2c..f8a0e4053d8 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.12.5";
+  version = "2.12.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zfDMYUE05rju6Wb6ghEyvv4Mc3m1ehqhWyPWJngFWQ4=";
+    hash = "sha256-equimX9D+MOzWQPvxUw4moAvOYU7qB6B4RkPCTQg7PY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
index df9af0da9fd..bdf3aca4653 100644
--- a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
+++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "1.16.1";
+  version = "1.16.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hp303Y6vSjoFjSP+q+DNsbjFVQTOkC9CVi1nC59nQE4=";
+    hash = "sha256-DU+0gpnWqmtm5nkLoHbEq5k3pnybsEag+aKEp7+HFmo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 4e3e7bf158b..09b93e721b9 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.22.1";
+  version = "3.22.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lJn1x77C1oiYFZqTRQGCop/1DQ8OsrqRH42bnxJ7Xio=";
+    hash = "sha256-l8HB0gfWM0ABHiIE5Ej6PMvZ7MRRAumUOj5lmSoTbmI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-speech/default.nix b/pkgs/development/python-modules/google-cloud-speech/default.nix
index 21d0afda1e6..a0e68cdff34 100644
--- a/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.16.1";
+  version = "2.16.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-npvNvuzigX/OvCjf9cqmczliiktXW0/gQ95yIktzL58=";
+    hash = "sha256-aegM+pgdKsM7qC8sfPMxV74gwPYasArFWzkJ/p9ESzU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index f784a412d78..8bbaa96f51c 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.10.3";
+  version = "2.10.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iICX2Na3FQgOMzx5R66sKgTPrVeZEk5ofPBPKQWRRv0=";
+    hash = "sha256-ZQ9PQ75yWEEQNyfqO8EyJ66euqL5na2q1TiIgxz8HXA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 2a6518a1a94..6920239879f 100644
--- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.12.2";
+  version = "2.12.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z/rOMqQ+UkJl8zw55JP54+s+Qk+gHxmuBDjZaz3Qacs=";
+    hash = "sha256-gnSl/W0mTv6It//+xV5ti0Rd6io1Gh4yxd0arrbEPtQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
index 6576f2d2e29..0bfe7189c86 100644
--- a/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "1.7.2";
+  version = "1.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-m0dwEm0uQSh4wS+j01BIbRtznyOanv+Joo7LbLplXUQ=";
+    hash = "sha256-HFntFmPn3FPhCrB+nnJlBD9zqG2jDsP2naEl2IxhRqE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix
index aefb77a8282..295eb13a240 100644
--- a/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "3.8.3";
+  version = "3.8.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vaz2UAm3kRliZdog/OxEDYvtYnB8tK7JH+4P7ZgTSpc=";
+    hash = "sha256-cptSFyAByZRZ7Dr93skVPeCvUoh0/PMACp3dmOEQfuc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index 4738926e9d5..0c0d579f7da 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.8.2";
+  version = "2.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NqElDocBlpARYFTK4k47kCsC/7D1048rNYrrARHeWmg=";
+    hash = "sha256-pB7exeGYpFT4nf3YuIhoI+bqG6YYEP6oWs0tohkOIbw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index fade9f28c4d..b29dd1cff41 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "3.1.3";
+  version = "3.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ciZvW7TDtyqCcWfk3DJ/uhXLQtFNFwetTxd/R/p8fDQ=";
+    hash = "sha256-1nqU9Sr+tWPK3l5r7UiFD0wA3+UmYcHFT4ta2bdRL+U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
index 0e2cc1cac33..d35944777fb 100644
--- a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "1.9.1";
+  version = "1.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TBZI32KX1c5XPAV1AmjQvQVhE5UgGOGd5U/enLRV3IU=";
+    hash = "sha256-fUnoV5I9kMwC9zUdsHit6MbIYFV+3E+GT76vwEmzNNs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 593b9004b82..720a3cc9f8a 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2022.10.2";
+  version = "2022.10.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-WQbTs29cbCm8i7cAlCkyBaBjwOKFawY9Xyj0fPhZQUk=";
+    sha256 = "sha256-E4sKIfrdEqdUqbXciIBAfIOuT/jpkS509P3+lVE3p1M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hopcroftkarp/default.nix b/pkgs/development/python-modules/hopcroftkarp/default.nix
index 995f10073c6..775ff1a50f5 100644
--- a/pkgs/development/python-modules/hopcroftkarp/default.nix
+++ b/pkgs/development/python-modules/hopcroftkarp/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Implementation of HopcroftKarp's algorithm";
     homepage = "https://github.com/sofiat-olaosebikan/hopcroftkarp";
-    license = licenses.gpl1;
+    license = licenses.gpl3Only;
     maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 235e93ab875..93d7a89d715 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, isPy27
+, pythonOlder
 , fetchPypi
 , substituteAll
 , imageio-ffmpeg
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.22.0";
-  disabled = isPy27;
+  version = "2.22.1";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    sha256 = "sha256-ozLRJ+w4ey09ypZ/0GWpDxwaS6I0NXCwP+LOu27QZOo=";
+    sha256 = "sha256-Rl7DX5GdU4kG0wI7Yczsdm2OdXX+Vfy9dmns5Vr7l8o=";
     inherit pname version;
   };
 
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 62cd5e3b3e5..7ebfe30ac93 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "3.6.0";
+  version = "3.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SjuRQQM3mOT7B4hv8mJU5jXgIqy91wg3XqxvVuMjUGw=";
+    sha256 = "sha256-D6zzIGVoQwyZjaQOm7rG06DE/IDdUWdNnnlLOBRQEgw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index 915a0154fd8..0e80ef1da88 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.16.5";
+  version = "1.16.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    sha256 = "sha256-dwlLoRRY1Fx1VBOGIJr//zFPf0WpOabS3HuCxHsn4HI=";
+    sha256 = "sha256-x8a2W64zLDi8r7d8B7GYCwWtSAB3BH+Sprbw+Xr7mH4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 3e58b91b160..b664d871fb5 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -63,10 +63,12 @@ buildPythonPackage rec {
     "mypy"
     "mypy.api"
     "mypy.fastparse"
-    "mypy.report"
     "mypy.types"
     "mypyc"
     "mypyc.analysis"
+  ] ++ lib.optionals (!stdenv.hostPlatform.isi686) [
+    # ImportError: cannot import name 'map_instance_to_supertype' from partially initialized module 'mypy.maptype' (most likely due to a circular import)
+    "mypy.report"
   ];
 
   # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
index c12b16611e9..0d043e789df 100644
--- a/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python interface to MySQL";
     homepage = "https://github.com/PyMySQL/mysqlclient-python";
-    license = licenses.gpl1;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ y0no ];
   };
 }
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index f86421aacfe..a647b602c02 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.0.1";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-R4+cShkG1c3PRiU92OPPEVsXR4zt0G/7ZJcYACtPvHs=";
+    hash = "sha256-v/IJdgn3C1JgT0KJ9O7wn+5nexDbakzM/u8bAeEPjz0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index fe1abfe870d..dc8bd7e433b 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "6.0.3";
+  version = "7.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GaN/3WbuXc5p/+VhFngSX6aKnxMj72pyeB9HaA+PbCo=";
+    hash = "sha256-B6N9JLjbezYMO1119OR58cDhKY1ry7FKf+Q9wpHGiBE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 817bd4be1be..36bf41a6e91 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.109";
+  version = "2.1.110";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-G9HcDLVvRB+OXmcp2SYp2rSUsbOcKjrN8KdUMQP8DKo=";
+    hash = "sha256-MYHUTxVc5lh1JnOw10trB6nBiIIExm9cxeHRyKwVzhU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index d65f3d1f7dc..fb0536e6238 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.24.1";
+  version = "0.25.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-LUvhSk1iZSw1K6oMaIj5bSH0/f0vfQbprwAPe6vdf08=";
+    sha256 = "sha256-5kgUSEwrSDdVmPTnWXHGPefDWIWP8AQFBQ+CbKed+Co=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pulumi-aws/default.nix b/pkgs/development/python-modules/pulumi-aws/default.nix
index 57de5cf3a19..2d77b815527 100644
--- a/pkgs/development/python-modules/pulumi-aws/default.nix
+++ b/pkgs/development/python-modules/pulumi-aws/default.nix
@@ -40,7 +40,6 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
     description = "Pulumi python amazon web services provider";
     homepage = "https://github.com/pulumi/pulumi-aws";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/py-bip39-bindings/Cargo.lock b/pkgs/development/python-modules/py-bip39-bindings/Cargo.lock
new file mode 100644
index 00000000000..770d4bdc65d
--- /dev/null
+++ b/pkgs/development/python-modules/py-bip39-bindings/Cargo.lock
@@ -0,0 +1,773 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "anyhow"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "block-buffer"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+dependencies = [
+ "block-padding",
+ "byte-tools",
+ "byteorder",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
+dependencies = [
+ "generic-array 0.14.6",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+dependencies = [
+ "byte-tools",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "byte-tools"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
+dependencies = [
+ "generic-array 0.12.4",
+ "subtle 1.0.0",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
+dependencies = [
+ "generic-array 0.14.6",
+ "subtle 2.4.1",
+]
+
+[[package]]
+name = "ctor"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "digest"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+dependencies = [
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "digest"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+dependencies = [
+ "generic-array 0.14.6",
+]
+
+[[package]]
+name = "fake-simd"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+[[package]]
+name = "generic-array"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "ghost"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "hmac"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
+dependencies = [
+ "crypto-mac 0.7.0",
+ "digest 0.8.1",
+]
+
+[[package]]
+name = "hmac"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
+dependencies = [
+ "crypto-mac 0.8.0",
+ "digest 0.9.0",
+]
+
+[[package]]
+name = "indoc"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
+dependencies = [
+ "indoc-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unindent",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "inventory"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"
+dependencies = [
+ "ctor",
+ "ghost",
+ "inventory-impl",
+]
+
+[[package]]
+name = "inventory-impl"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.135"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
+
+[[package]]
+name = "opaque-debug"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "paste"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
+dependencies = [
+ "paste-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "paste-impl"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
+dependencies = [
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "pbkdf2"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
+dependencies = [
+ "byteorder",
+ "crypto-mac 0.7.0",
+]
+
+[[package]]
+name = "pbkdf2"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd"
+dependencies = [
+ "crypto-mac 0.8.0",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "py-bip39-bindings"
+version = "0.1.10"
+dependencies = [
+ "hmac 0.7.1",
+ "pbkdf2 0.3.0",
+ "pyo3",
+ "sha2 0.8.2",
+ "tiny-bip39",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ca8710ffa8211c9a62a8a3863c4267c710dc42a82a7fd29c97de465d7ea6b7d"
+dependencies = [
+ "ctor",
+ "indoc",
+ "inventory",
+ "libc",
+ "parking_lot",
+ "paste",
+ "pyo3cls",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-derive-backend"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ad070bf6967b0d29ea74931ffcf9c6bbe8402a726e9afbeafadc0a287cc2b3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pyo3cls"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3fa17e1ea569d0bf3b7c00f2a9eea831ca05e55dd76f1794c541abba1c64baa"
+dependencies = [
+ "pyo3-derive-backend",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom",
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sha2"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
+dependencies = [
+ "block-buffer 0.7.3",
+ "digest 0.8.1",
+ "fake-simd",
+ "opaque-debug 0.2.3",
+]
+
+[[package]]
+name = "sha2"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
+dependencies = [
+ "block-buffer 0.9.0",
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.9.0",
+ "opaque-debug 0.3.0",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "subtle"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.102"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tiny-bip39"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d"
+dependencies = [
+ "anyhow",
+ "hmac 0.8.1",
+ "once_cell",
+ "pbkdf2 0.4.0",
+ "rand",
+ "rustc-hash",
+ "sha2 0.9.9",
+ "thiserror",
+ "unicode-normalization",
+ "wasm-bindgen",
+ "zeroize",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "typenum"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unindent"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
diff --git a/pkgs/development/python-modules/py-bip39-bindings/default.nix b/pkgs/development/python-modules/py-bip39-bindings/default.nix
new file mode 100644
index 00000000000..8385f492d8f
--- /dev/null
+++ b/pkgs/development/python-modules/py-bip39-bindings/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, buildPythonPackage
+, pythonOlder
+, pytestCheckHook
+, rustPlatform
+, stdenv
+, libiconv }:
+
+buildPythonPackage rec {
+  pname = "py-bip39-bindings";
+  version = "0.1.10";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "polkascan";
+    repo = "py-bip39-bindings";
+    rev = "ddb74433c2dca7b1f1e1984c33b9da7b51a30227";
+    sha256 = "sha256-MBDic955EohTW6BWprv7X+ZPHoqzkyBJYKV4jpNPKz8=";
+  };
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+  };
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "bip39"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for the tiny-bip39 library";
+    homepage = "https://github.com/polkascan/py-bip39-bindings";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ stargate01 ];
+  };
+}
diff --git a/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock b/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock
new file mode 100644
index 00000000000..ded748b6277
--- /dev/null
+++ b/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock
@@ -0,0 +1,563 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "arrayref"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+
+[[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "block-buffer"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+dependencies = [
+ "block-padding",
+ "byte-tools",
+ "byteorder",
+ "generic-array",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+dependencies = [
+ "byte-tools",
+]
+
+[[package]]
+name = "byte-tools"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "ctor"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216"
+dependencies = [
+ "byteorder",
+ "digest",
+ "rand_core",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "digest"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "fake-simd"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+[[package]]
+name = "generic-array"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "ghost"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "hex-literal"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11"
+dependencies = [
+ "hex-literal-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "hex-literal-impl"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8"
+dependencies = [
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
+dependencies = [
+ "indoc-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unindent",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "inventory"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"
+dependencies = [
+ "ctor",
+ "ghost",
+ "inventory-impl",
+]
+
+[[package]]
+name = "inventory-impl"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "keccak"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838"
+
+[[package]]
+name = "libc"
+version = "0.2.134"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "merlin"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42"
+dependencies = [
+ "byteorder",
+ "keccak",
+ "rand_core",
+ "zeroize",
+]
+
+[[package]]
+name = "opaque-debug"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "paste"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
+dependencies = [
+ "paste-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "paste-impl"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
+dependencies = [
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "py-sr25519-bindings"
+version = "0.1.5"
+dependencies = [
+ "hex-literal",
+ "pyo3",
+ "schnorrkel",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ca8710ffa8211c9a62a8a3863c4267c710dc42a82a7fd29c97de465d7ea6b7d"
+dependencies = [
+ "ctor",
+ "indoc",
+ "inventory",
+ "libc",
+ "parking_lot",
+ "paste",
+ "pyo3cls",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-derive-backend"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ad070bf6967b0d29ea74931ffcf9c6bbe8402a726e9afbeafadc0a287cc2b3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pyo3cls"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3fa17e1ea569d0bf3b7c00f2a9eea831ca05e55dd76f1794c541abba1c64baa"
+dependencies = [
+ "pyo3-derive-backend",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom",
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "schnorrkel"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "curve25519-dalek",
+ "getrandom",
+ "merlin",
+ "rand",
+ "rand_core",
+ "sha2",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sha2"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
+dependencies = [
+ "block-buffer",
+ "digest",
+ "fake-simd",
+ "opaque-debug",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.102"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "typenum"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unindent"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
diff --git a/pkgs/development/python-modules/py-sr25519-bindings/default.nix b/pkgs/development/python-modules/py-sr25519-bindings/default.nix
new file mode 100644
index 00000000000..9db6cc99895
--- /dev/null
+++ b/pkgs/development/python-modules/py-sr25519-bindings/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, buildPythonPackage
+, pythonOlder
+, pytestCheckHook
+, rustPlatform
+, stdenv
+, py-bip39-bindings
+, libiconv }:
+
+buildPythonPackage rec {
+  pname = "py-sr25519-bindings";
+  version = "0.1.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "polkascan";
+    repo = "py-sr25519-bindings";
+    rev = "a97398b386c10ebe0a1f6c45dea466add0d407ce";
+    sha256 = "sha256-RJfwWeD82J5QqY+qq2bC3vlqT75jUwhTXuIsza4qUzk=";
+  };
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+  };
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
+  checkInputs = [
+    pytestCheckHook
+    py-bip39-bindings
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "sr25519"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for sr25519 library";
+    homepage = "https://github.com/polkascan/py-sr25519-bindings";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ onny stargate01 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix
index d32a4a1ca3a..7169a4022f6 100644
--- a/pkgs/development/python-modules/pyatspi/default.nix
+++ b/pkgs/development/python-modules/pyatspi/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyatspi";
-  version = "2.38.2";
+  version = "2.46.0";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "DnCJwLYwlhS1NiCDazRi1/kShOQ2/kkpuhYZqEHPEYU=";
+    sha256 = "1FSJzz1HqhULGjXolJs7MQNfjCB15YjSa278Yllwxi4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix
index c0c919321c0..5c56150e8f5 100644
--- a/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/pkgs/development/python-modules/pylitterbot/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2022.9.6";
+  version = "2022.10.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-+8vsnSEEZ7uypASsJZ2MIK+riIF01Lxa1E3t0pC+e/I=";
+    hash = "sha256-E7rBRPtXa/E6jf75zULuGaiu2DHvq4hZjcwPwj/w9ww=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyregion/default.nix b/pkgs/development/python-modules/pyregion/default.nix
index 6d33e18e4f9..11595e01811 100644
--- a/pkgs/development/python-modules/pyregion/default.nix
+++ b/pkgs/development/python-modules/pyregion/default.nix
@@ -13,15 +13,15 @@
 
 buildPythonPackage rec {
   pname = "pyregion";
-  version = "2.0";
+  version = "2.1.1";
 
   # pypi src contains cython-produced .c files which don't compile
   # with python3.9
   src = fetchFromGitHub {
     owner = "astropy";
     repo = pname;
-    rev = version;
-    sha256 = "1izar7z606czcyws9s8bjbpb1xhqshpv5009rlpc92hciw7jv4kg";
+    rev = "v${version}";
+    sha256 = "sha256-xo+XbBJ2HKql9rd7Ma84JofRg8M4u6vmz44Qo8JhEBc=";
   };
 
   propagatedBuildInputs = [
@@ -30,12 +30,16 @@ buildPythonPackage rec {
     astropy
   ];
 
-  # Upstream patch needed for the test to pass
+  # Upstream patches needed for the tests to pass
+  # See https://github.com/astropy/pyregion/pull/157/
   patches = [
     (fetchpatch {
-      name = "conftest-astropy-3-fix.patch";
-      url = "https://github.com/astropy/pyregion/pull/136.patch";
-      sha256 = "13yxjxiqnhjy9gh24hvv6pnwx7qic2mcx3ccr1igjrc3f881d59m";
+      url = "https://github.com/astropy/pyregion/pull/157/commits/082649730d353a0d0c0ee9619be1aa501aabba62.patch";
+      sha256 = "sha256-4mHZt3S29ZfK+QKavm6DLBwVxGl/ga7W7GEcQ5ewxuo=";
+    })
+    (fetchpatch {
+      url = "https://github.com/astropy/pyregion/pull/157/commits/c448a465dd56887979da62aec6138fc89bb37b19.patch";
+      sha256 = "sha256-GEtvScmVbAdE4E5Xx0hNOPommvzcnJ3jNZpBmY3PbyE=";
     })
   ];
 
diff --git a/pkgs/development/python-modules/python3-application/default.nix b/pkgs/development/python-modules/python3-application/default.nix
index ed3d6e6e7fe..22cb820ea61 100644
--- a/pkgs/development/python-modules/python3-application/default.nix
+++ b/pkgs/development/python-modules/python3-application/default.nix
@@ -1,27 +1,18 @@
-{ stdenv, lib, isPy3k, buildPythonPackage, fetchFromGitHub, fetchpatch, zope_interface, twisted }:
+{ stdenv, lib, isPy3k, buildPythonPackage, fetchFromGitHub, zope_interface, twisted }:
 
 buildPythonPackage rec {
   pname = "python3-application";
-  version = "3.0.3";
+  version = "3.0.4";
 
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "AGProjects";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-oscUI/Ag/UXmAi/LN1pPTdyqQe9aAfeQzhKFxaTmW3A=";
+    rev = "release-${version}";
+    sha256 = "sha256-XXAKp/RlBVs3KmcnuiexdYfxf0zt2A/DrsJzdC9I4vA=";
   };
 
-  patches = [
-    # Apply bugfix commit that is not yet part of a release
-    (fetchpatch {
-      name = "fix-time-import.patch";
-      url = "https://github.com/AGProjects/python3-application/commit/695f7d769e69c84e065872ffb403157d0af282fd.patch";
-      sha256 = "sha256-MGs8uUIFXkPXStOn5oCNNEMVmcKrq8YPl8Xvl3OTOUM=";
-    })
-  ];
-
   propagatedBuildInputs = [ zope_interface twisted ];
 
   pythonImportsCheck = [ "application" ];
@@ -31,7 +22,7 @@ buildPythonPackage rec {
     description = "A collection of modules that are useful when building python applications";
     homepage = "https://github.com/AGProjects/python3-application";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ chanley ];
+    maintainers = with maintainers; [ chanley yureien ];
     longDescription = ''
       This package is a collection of modules that are useful when building python applications. Their purpose is to eliminate the need to divert resources into implementing the small tasks that every application needs to do in order to run successfully and focus instead on the application logic itself.
       The modules that the application package provides are:
diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix
index 1f75683a5b1..a8643ca6507 100644
--- a/pkgs/development/python-modules/reproject/default.nix
+++ b/pkgs/development/python-modules/reproject/default.nix
@@ -2,7 +2,6 @@
 , astropy
 , astropy-extension-helpers
 , astropy-healpix
-, astropy-helpers
 , buildPythonPackage
 , cython
 , fetchPypi
@@ -28,7 +27,6 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     astropy-extension-helpers
-    astropy-helpers
     cython
     setuptools-scm
   ];
@@ -36,7 +34,6 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     astropy
     astropy-healpix
-    astropy-helpers
     numpy
     scipy
   ];
@@ -46,9 +43,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  preCheck = ''
-    cd build/lib*
-  '';
+  pytestFlagsArray = [
+    "build/lib*"
+    # Avoid failure due to user warning: Distutils was imported before Setuptools
+    "-p no:warnings"
+  ];
 
   pythonImportsCheck = [
     "reproject"
diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix
index b537d5a9bf6..4da35b98f4a 100644
--- a/pkgs/development/python-modules/skia-pathops/default.nix
+++ b/pkgs/development/python-modules/skia-pathops/default.nix
@@ -28,6 +28,13 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "build_cmd = [sys.executable, build_skia_py, build_dir]" \
         'build_cmd = [sys.executable, build_skia_py, "--no-fetch-gn", "--no-virtualenv", "--gn-path", "${gn}/bin/gn", build_dir]'
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    substituteInPlace src/cpp/skia-builder/skia/gn/skia/BUILD.gn \
+      --replace "-march=armv7-a" "-march=armv8-a" \
+      --replace "-mfpu=neon" "" \
+      --replace "-mthumb" ""
+    substituteInPlace src/cpp/skia-builder/skia/src/core/SkOpts.cpp \
+      --replace "defined(SK_CPU_ARM64)" "0"
   '';
 
   nativeBuildInputs = [ cython ninja setuptools-scm ]
@@ -46,6 +53,5 @@ buildPythonPackage rec {
     homepage = "https://skia.org/dev/present/pathops";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.BarinovMaxim ];
-    broken = stdenv.isDarwin && stdenv.isAarch64; # clang-11: error: the clang compiler does not support '-march=armv7-a'
   };
 }
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 084d9b4e078..1ee167ab51f 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "2.4.5";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-fsZBHJUX/DytSO680hiXhS6+jCKOKz1n+PxZa9kyWnc=";
+    sha256 = "sha256-9S1ZhXHkLnDmYBAMwOIQt7AUj43+wtxXGpYx7oe4CGc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index ef43c46a0a4..2ffd5fe287e 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.2.4";
+  version = "1.2.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jg2tsCkAAm7/NJ5wcwA/2E0GspM747WHwcXWnC0j1Q8=";
+    sha256 = "sha256-E+Forcx6dRtDeagcjGGE8DFkAKUgsHyCEONW7WU0lpo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 12c24cd99a9..1a1993aebee 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -20,7 +20,7 @@
 { lib, fetchurl, writeScript, ruby, libkrb5, libxml2, libxslt, python2, stdenv, which
 , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick, lasem
 , pkg-config , ncurses, xapian, gpgme, util-linux, tzdata, icu, libffi
-, cmake, libssh2, openssl, openssl_1_1, libmysqlclient, git, perl, pcre, gecode_3, curl
+, cmake, libssh2, openssl, openssl_1_1, libmysqlclient, git, perl, pcre, pcre2, gecode_3, curl
 , msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
@@ -69,13 +69,13 @@ in
   cairo = attrs: {
     nativeBuildInputs = [ pkg-config ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-    buildInputs = [ gtk2 pcre xorg.libpthreadstubs xorg.libXdmcp];
+    buildInputs = [ gtk2 pcre2 xorg.libpthreadstubs xorg.libXdmcp];
   };
 
   cairo-gobject = attrs: {
     nativeBuildInputs = [ pkg-config ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-    buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ];
+    buildInputs = [ cairo pcre2 xorg.libpthreadstubs xorg.libXdmcp ];
   };
 
   charlock_holmes = attrs: {
@@ -230,7 +230,7 @@ in
   gio2 = attrs: {
     nativeBuildInputs = [ pkg-config ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-    buildInputs = [ gtk2 pcre gobject-introspection ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol ];
+    buildInputs = [ gtk2 pcre pcre2 gobject-introspection ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol ];
   };
 
   gitlab-markup = attrs: { meta.priority = 1; };
@@ -275,7 +275,7 @@ in
   glib2 = attrs: {
     nativeBuildInputs = [ pkg-config ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-    buildInputs = [ gtk2 pcre ];
+    buildInputs = [ gtk2 pcre2 ];
   };
 
   gtk2 = attrs: {
@@ -293,7 +293,7 @@ in
       harfbuzz
       libdatrie
       libthai
-      pcre
+      pcre pcre2
       xorg.libpthreadstubs
       xorg.libXdmcp
     ];
@@ -301,7 +301,7 @@ in
   };
 
   gobject-introspection = attrs: {
-    nativeBuildInputs = [ pkg-config pcre ]
+    nativeBuildInputs = [ pkg-config pcre2 ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
     propagatedBuildInputs = [ gobject-introspection wrapGAppsHook glib ];
   };
@@ -518,7 +518,7 @@ in
       pkg-config
       fribidi
       harfbuzz
-      pcre
+      pcre pcre2
       xorg.libpthreadstubs
       xorg.libXdmcp
     ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
diff --git a/pkgs/development/tools/azure-functions-core-tools/default.nix b/pkgs/development/tools/azure-functions-core-tools/default.nix
index 6693d83e1f1..251493d0deb 100644
--- a/pkgs/development/tools/azure-functions-core-tools/default.nix
+++ b/pkgs/development/tools/azure-functions-core-tools/default.nix
@@ -16,12 +16,20 @@
 
 stdenv.mkDerivation rec {
   pname = "azure-functions-core-tools";
-  version = "3.0.3785";
+  version = "4.0.4785";
 
-  src = fetchurl {
-    url = "https://github.com/Azure/${pname}/releases/download/${version}/Azure.Functions.Cli.linux-x64.${version}.zip";
-    sha256 = "sha256-NdTEFQaG8eFengjzQr51ezehIHFvQZqmrjpjWk4vZKo=";
-  };
+  src =
+    if stdenv.isLinux then
+      fetchurl {
+        url = "https://github.com/Azure/${pname}/releases/download/${version}/Azure.Functions.Cli.linux-x64.${version}.zip";
+        sha256 = "sha256-SWvbPEslwhYNd2fTQJWy1+823o1vJR/roPstgelSfnQ=";
+      }
+    else
+      fetchurl {
+        url = "https://github.com/Azure/${pname}/releases/download/${version}/Azure.Functions.Cli.osx-x64.${version}.zip";
+        sha256 = "sha256-m06XeUHVDCxo7sfK4eF1oM6IuaVET9jr/xSO9qzpxSU=";
+      }
+    ;
 
   nativeBuildInputs = [
     unzip
@@ -50,13 +58,17 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -prd *.dll *.so gozip func $out/bin
+    cp -prd . $out/bin/azure-functions-core-tools
+    chmod +x $out/bin/azure-functions-core-tools/{func,gozip}
+  '' + lib.optionalString stdenv.isLinux ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}" "$out/bin/func"
-    chmod +x $out/bin/func $out/bin/gozip
-    find $out/bin -type f -name "*.so" -exec patchelf --set-rpath "${libPath}" {} \;
-    wrapProgram "$out/bin/func" --prefix LD_LIBRARY_PATH : ${libPath}
+      --set-rpath "${libPath}" "$out/bin/azure-functions-core-tools/func"
+    find $out/bin/azure-functions-core-tools -type f -name "*.so" -exec patchelf --set-rpath "${libPath}" {} \;
+    wrapProgram "$out/bin/azure-functions-core-tools/func" --prefix LD_LIBRARY_PATH : ${libPath}
+  '' + ''
+    ln -s $out/bin/{azure-functions-core-tools,}/func
+    ln -s $out/bin/{azure-functions-core-tools,}/gozip
   '';
   dontStrip = true; # Causes rpath patching to break if not set
 
@@ -69,6 +81,6 @@ stdenv.mkDerivation rec {
     ];
     license = licenses.mit;
     maintainers = with maintainers; [ jshcmpbll ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/dagger/default.nix b/pkgs/development/tools/continuous-integration/dagger/default.nix
index 055f361452a..78c93efc2b9 100644
--- a/pkgs/development/tools/continuous-integration/dagger/default.nix
+++ b/pkgs/development/tools/continuous-integration/dagger/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dagger";
-  version = "0.2.35";
+  version = "0.2.36";
 
   src = fetchFromGitHub {
     owner = "dagger";
     repo = "dagger";
     rev = "v${version}";
-    sha256 = "sha256-bLeNCi9ghNuHcMjUV3JWmC7nQTUZA9lU3Rc0TO7AWto=";
+    sha256 = "sha256-U+MdX/7RIrhnPjUjzYAQEVeHQUpgMtKanvjPLBjCNSY=";
   };
 
   vendorSha256 = "sha256-ArdqEHECnGTMs3sJrPIAfmTT0D2V8SHyTYXmDODVtuo=";
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 0c2d1839339..d55ea9ae52a 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitLab, fetchurl }:
+{ lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
 
 let
   version = "15.4.0";
@@ -14,6 +14,9 @@ buildGoModule rec {
     "-X ${commonPackagePath}.REVISION=v${version}"
   ];
 
+  # For patchShebangs
+  buildInputs = [ bash ];
+
   vendorSha256 = "sha256-S0x1b2ITtqMoqdssoTgnolDC6Tyq3IdkJqxwZ29qCyU=";
 
   src = fetchFromGitLab {
@@ -45,6 +48,10 @@ buildGoModule rec {
     rm helpers/docker/auth/auth_test.go
   '';
 
+  postInstall = ''
+    install packaging/root/usr/share/gitlab-runner/clear-docker-cache $out/bin
+  '';
+
   preCheck = ''
     # Make the tests pass outside of GitLab CI
     export CI=0
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5b8dff8d6c6..f8d23d3fcec 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.361.1";
+  version = "2.361.2";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "1cvyj3arqzrvqd5m4plqvl6d4ra85n6kk2vzd9wqbxvhsm1jp9q8";
+    hash = "sha256-QRp5x+DVCCdFBx4mEIE0aqTKJ/ZJ/rBBdW0dJ6mD2/Y=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/documentation/gi-docgen/default.nix b/pkgs/development/tools/documentation/gi-docgen/default.nix
index 85836f435cb..4b627782d8b 100644
--- a/pkgs/development/tools/documentation/gi-docgen/default.nix
+++ b/pkgs/development/tools/documentation/gi-docgen/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
 , python3
@@ -19,6 +20,15 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "35pL/2TQRVgPfAcfOGCLlSP1LIh4r95mFC+UoXQEEHo=";
   };
 
+  patches = [
+    # Fix gnome-builder build
+    # https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/161
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gi-docgen/-/commit/0524047ada3e6a5572c43dd36201ebe589d08095.patch";
+      sha256 = "1P+i7v1sMULOd0w8K363Mssj+tBJ2wiSmE7DlztvCbw=";
+    })
+  ];
+
   depsBuildBuild = [
     python3
   ];
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index 11d3677f5e6..0bf1b71ceb3 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoModule rec {
   pname = "faas-cli";
-  version = "0.14.8";
+  version = "0.14.10";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "sha256-sdvApbsVgs5+pd/gVdkWbBk4eWojbqYbXXIjdbJXwGs=";
+    sha256 = "sha256-wXF9Ol92+JTfxXVuoXH3M8vaTrG+HeBTsvcIdqFfPG8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/glade/default.nix b/pkgs/development/tools/glade/default.nix
index adec880eabe..b7803843c34 100644
--- a/pkgs/development/tools/glade/default.nix
+++ b/pkgs/development/tools/glade/default.nix
@@ -2,7 +2,6 @@
 , lib
 , gettext
 , fetchurl
-, fetchpatch
 , python3
 , meson
 , ninja
@@ -10,7 +9,7 @@
 , gtk3
 , glib
 , gjs
-, webkitgtk
+, webkitgtk_4_1
 , gobject-introspection
 , wrapGAppsHook
 , itstool
@@ -25,29 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glade";
-  version = "3.38.2";
+  version = "3.40.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glade/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q";
+    sha256 = "McmtrqhJlyq5UXtWThmsGZd8qXdYsQntwxZwCPU+PZw=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # data/meson.build:4:5: ERROR: Function does not take positional arguments.
-    # Taken from https://gitlab.gnome.org/GNOME/glade/-/merge_requests/117
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/glade/-/commit/61304b2e8bac8ded76643cb7c3e781f73881dd2b.patch";
-      sha256 = "9x6RK8Wgnm8bDxeBLV3PlUkUuH2706Ba9kwE5S87DgE=";
-    })
-    # help/meson.build:6:6: ERROR: Tried to create target "help-glade-da-update-po", but a target of that name already exists.
-    # Taken from https://gitlab.gnome.org/GNOME/glade/-/merge_requests/117
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/glade/-/commit/04ba6f969f716fbfe3c7feb7e4bab8678cc1e9eb.patch";
-      sha256 = "j3XfF7P6rndL+0PWqnp+QYph7Ba6bgcp4Pkikr2wuJA=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -66,7 +49,7 @@ stdenv.mkDerivation rec {
     gtk3
     glib
     gjs
-    webkitgtk
+    webkitgtk_4_1
     libxml2
     python3
     python3.pkgs.pygobject3
@@ -75,6 +58,11 @@ stdenv.mkDerivation rec {
     gnome.adwaita-icon-theme
   ];
 
+  postPatch = ''
+    substituteInPlace meson.build \
+      --replace 'webkit2gtk-4.0' 'webkit2gtk-4.1'
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/tools/misc/d-spy/default.nix b/pkgs/development/tools/misc/d-spy/default.nix
index a4a49172c23..43be248244d 100644
--- a/pkgs/development/tools/misc/d-spy/default.nix
+++ b/pkgs/development/tools/misc/d-spy/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "d-spy";
-  version = "1.2.1";
+  version = "1.4.0";
 
   outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/dspy/${lib.versions.majorMinor version}/dspy-${version}.tar.xz";
-    sha256 = "TjnA1to687eJASJd0VEjOFe+Ihtfs62CwdsVhyNrZlI=";
+    url = "mirror://gnome/sources/d-spy/${lib.versions.majorMinor version}/d-spy-${version}.tar.xz";
+    sha256 = "6uh0jOpiTFxMdeAhwt8dc3bk+fj76JrEQ0kR7PeIZ3I=";
   };
 
   nativeBuildInputs = [
@@ -42,8 +42,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome.updateScript {
-      packageName = "dspy";
-      attrPath = "d-spy";
+      packageName = "d-spy";
     };
   };
 
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 3d8ade975f9..e2e3f07d58e 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib }:
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-ocamlbuild";
-  version = "0.14.1";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "ocamlbuild";
     rev = version;
-    sha256 = "sha256-ZL0BwOCWTNDjNkrwNAmzHjHF1Rpg3CUuV4lSqcwDqgI=";
+    sha256 = "sha256-QAqIMdi6M9V7RIX0kppKPSkCJE/pLx2iMdh5XYXQCJs=";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 16fc99f3028..832cfb10223 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "12.0.1";
+  version = "12.1.0";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-69H3ZhkK0WPiQY2COP5sMR6maoLyYs+Z3LuXHs8ZiJc=";
+    sha256 = "sha256-kVhdOx4+S0GLYcOIYMN9yzvDDL+/8oke69wqYJ/s5+Q=";
   };
 
-  vendorSha256 = "sha256-cgE2HMtH6vnXmNheFBLOeBakNloeDs6X7JBry3sp2fc=";
+  vendorSha256 = "sha256-zL5tkBkZa2Twc2FNNNUIycd/QvkpR1XEntpJ0j4z/xo=";
 
   sourceRoot = "source/src";
 
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index e2e1643b9c5..12257a25ae5 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.23.0";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2/zXdhRp8Q7e9ty0Zp+fpmcLNW6qfrW6ND83sypx9Xw=";
+    sha256 = "sha256-Gc3TnGxKHmxwu+fhxxU/QmSMufRiiZhrFeoeZCRya7w=";
   };
 
-  vendorSha256 = "sha256-3/kU+M+oKaPJkqMNuvd1ANlHRnXhaUrofj/rl3CS5Ao=";
+  vendorSha256 = "sha256-eczTVlArpO+uLC6IsTkj4LBIi+fXq7CMBf1zJShDN58=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/overcommit/Gemfile.lock b/pkgs/development/tools/overcommit/Gemfile.lock
index 9a6441e76b8..4c96598be69 100644
--- a/pkgs/development/tools/overcommit/Gemfile.lock
+++ b/pkgs/development/tools/overcommit/Gemfile.lock
@@ -1,11 +1,13 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    childprocess (3.0.0)
-    iniparse (1.4.4)
-    overcommit (0.51.0)
-      childprocess (>= 0.6.3, < 4)
+    childprocess (4.1.0)
+    iniparse (1.5.0)
+    overcommit (0.59.1)
+      childprocess (>= 0.6.3, < 5)
       iniparse (~> 1.4)
+      rexml (~> 3.2)
+    rexml (3.2.5)
 
 PLATFORMS
   ruby
@@ -14,4 +16,4 @@ DEPENDENCIES
   overcommit
 
 BUNDLED WITH
-   2.1.4
+   2.3.22
diff --git a/pkgs/development/tools/overcommit/default.nix b/pkgs/development/tools/overcommit/default.nix
index 6b90160245d..663a13af370 100644
--- a/pkgs/development/tools/overcommit/default.nix
+++ b/pkgs/development/tools/overcommit/default.nix
@@ -1,15 +1,19 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "overcommit";
   gemdir = ./.;
   exes = [ "overcommit" ];
 
+  passthru = {
+    updateScript = bundlerUpdateScript "overcommit";
+  };
+
   meta = with lib; {
     description = "Tool to manage and configure Git hooks";
     homepage    = "https://github.com/sds/overcommit";
     license     = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne ];
+    maintainers = with maintainers; [ Br1ght0ne anthonyroussel ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/overcommit/gemset.nix b/pkgs/development/tools/overcommit/gemset.nix
index 95244c1afe6..d0d6f362253 100644
--- a/pkgs/development/tools/overcommit/gemset.nix
+++ b/pkgs/development/tools/overcommit/gemset.nix
@@ -4,30 +4,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
+      sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.1.0";
   };
   iniparse = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
+      sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.0";
   };
   overcommit = {
-    dependencies = ["childprocess" "iniparse"];
+    dependencies = ["childprocess" "iniparse" "rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjrrm9dy9mry5ss96sizn6xcphia5l54ydz9c31phipm61nwmfk";
+      sha256 = "0dbz2y98r351r218m9d871ris1zfb6bcwr1gdhb39g2r9pail79n";
       type = "gem";
     };
-    version = "0.51.0";
+    version = "0.59.1";
+  };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      type = "gem";
+    };
+    version = "3.2.5";
   };
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 2547c42b8cb..5f565a62eb1 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
 }:
 let
   # Poetry2nix version
-  version = "1.34.1";
+  version = "1.35.0";
 
   inherit (poetryLib) isCompatible readTOML normalizePackageName normalizePackageSet;
 
@@ -159,11 +159,14 @@ lib.makeScope pkgs.newScope (self: {
       };
 
       poetryLock = readTOML poetrylock;
+
+      # Lock file version 1.1 files
       lockFiles =
         let
           lockfiles = lib.getAttrFromPath [ "metadata" "files" ] poetryLock;
         in
         lib.listToAttrs (lib.mapAttrsToList (n: v: { name = normalizePackageName n; value = v; }) lockfiles);
+
       evalPep508 = mkEvalPep508 python;
 
       # Filter packages by their PEP508 markers & pyproject interpreter version
@@ -192,7 +195,8 @@ lib.makeScope pkgs.newScope (self: {
                     pkgMeta // {
                       inherit pwd preferWheels;
                       source = pkgMeta.source or null;
-                      files = lockFiles.${normalizedName};
+                      # Default to files from lock file version 2.0 and fall back to 1.1
+                      files = pkgMeta.files or lockFiles.${normalizedName};
                       pythonPackages = self;
 
                       sourceSpec = (
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index d1a009f32c3..e169aced4a1 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -1200,6 +1200,7 @@ lib.composeManyExtensions [
         old: {
           buildInputs = (old.buildInputs or [ ]) ++ [
             self.types-typed-ast
+            self.types-setuptools
           ];
           # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
           # version is also the default in the wheels on Pypi that include binaries.
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
index a72c2a50de8..b9c94544637 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
@@ -283,7 +283,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag
 
 [[package]]
 name = "importlib-resources"
-version = "5.9.0"
+version = "5.10.0"
 description = "Read resources from Python packages"
 category = "main"
 optional = false
@@ -293,8 +293,8 @@ python-versions = ">=3.7"
 zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
 
 [package.extras]
-docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"]
-testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"]
+testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
 
 [[package]]
 name = "iniconfig"
@@ -513,7 +513,7 @@ testing = ["pytest", "pytest-benchmark"]
 
 [[package]]
 name = "poetry-core"
-version = "1.2.0"
+version = "1.3.2"
 description = "Poetry PEP 517 Build Backend"
 category = "main"
 optional = false
@@ -524,7 +524,7 @@ importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""}
 
 [[package]]
 name = "poetry-plugin-export"
-version = "1.1.1"
+version = "1.1.2"
 description = "Poetry plugin to export the dependencies to various formats"
 category = "main"
 optional = false
@@ -636,7 +636,7 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.
 
 [[package]]
 name = "pytest-cov"
-version = "3.0.0"
+version = "4.0.0"
 description = "Pytest plugin for measuring coverage."
 category = "dev"
 optional = false
@@ -662,6 +662,17 @@ py = "*"
 pytest = ">=3.10"
 
 [[package]]
+name = "pytest-github-actions-annotate-failures"
+version = "0.1.7"
+description = "pytest plugin to annotate failed tests with a workflow command for GitHub Actions"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+pytest = ">=4.0.0"
+
+[[package]]
 name = "pytest-mock"
 version = "3.10.0"
 description = "Thin-wrapper around the mock package for easier use with pytest"
@@ -688,19 +699,6 @@ importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""
 pytest = "*"
 
 [[package]]
-name = "pytest-sugar"
-version = "0.9.5"
-description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)."
-category = "dev"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-packaging = ">=14.1"
-pytest = ">=2.9"
-termcolor = ">=1.1.0"
-
-[[package]]
 name = "pytest-xdist"
 version = "2.5.0"
 description = "pytest xdist plugin for distributed testing and loop-on-failing modes"
@@ -806,17 +804,6 @@ optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
-name = "termcolor"
-version = "2.0.1"
-description = "ANSI color formatting for output in terminal"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-
-[package.extras]
-tests = ["pytest", "pytest-cov"]
-
-[[package]]
 name = "toml"
 version = "0.10.2"
 description = "Python Library for Tom's Obvious, Minimal Language"
@@ -966,20 +953,20 @@ cffi = ">=1.0"
 
 [[package]]
 name = "zipp"
-version = "3.8.1"
+version = "3.9.0"
 description = "Backport of pathlib-compatible object wrapper for zip files"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 
 [package.extras]
-docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"]
-testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"]
+testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
 
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.7"
-content-hash = "a3480636766bb3c5c00e1ed48b6b70136726754001837ef7515c6b355fa35812"
+content-hash = "575823805204f4c6f50f64bd729029fdb9111fb5c1326a6ddef9a1b7f8aea5d0"
 
 [metadata.files]
 attrs = [
@@ -1240,8 +1227,8 @@ importlib-metadata = [
     {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"},
 ]
 importlib-resources = [
-    {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"},
-    {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"},
+    {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"},
+    {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"},
 ]
 iniconfig = [
     {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
@@ -1388,12 +1375,12 @@ pluggy = [
     {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
 ]
 poetry-core = [
-    {file = "poetry-core-1.2.0.tar.gz", hash = "sha256:ceccec95487e46c63a41761fbac5211b809bca22658e25a049f4c7da96269f71"},
-    {file = "poetry_core-1.2.0-py3-none-any.whl", hash = "sha256:e248d36c1314dd60fbc66390791923ad8b58c629d3e587080b7c1537a1c0d30f"},
+    {file = "poetry-core-1.3.2.tar.gz", hash = "sha256:0ab006a40cb38d6a38b97264f6835da2f08a96912f2728ce668e9ac6a34f686f"},
+    {file = "poetry_core-1.3.2-py3-none-any.whl", hash = "sha256:ea0f5a90b339cde132b4e43cff78a1b440cd928db864bb67cfc97fdfcefe7218"},
 ]
 poetry-plugin-export = [
-    {file = "poetry-plugin-export-1.1.1.tar.gz", hash = "sha256:23e3e512a609b54ef5ac441339fc9e68fd41e61d15bd924eb0094b4fda1e30d0"},
-    {file = "poetry_plugin_export-1.1.1-py3-none-any.whl", hash = "sha256:170fa367794d2385975d75298fe5509f772d35216ee36b8fa50c0350a064b761"},
+    {file = "poetry-plugin-export-1.1.2.tar.gz", hash = "sha256:5e92525dd63f38ce74a51ed68ea91d753523f21ce5f9ef8d3b793e2a4b2222ef"},
+    {file = "poetry_plugin_export-1.1.2-py3-none-any.whl", hash = "sha256:946e3313b3d00c18fb9a50522e9d5e6a7e111beaba8d6ae33297662fc2070ac1"},
 ]
 pre-commit = [
     {file = "pre_commit-2.20.0-py2.py3-none-any.whl", hash = "sha256:51a5ba7c480ae8072ecdb6933df22d2f812dc897d5fe848778116129a681aac7"},
@@ -1481,13 +1468,17 @@ pytest = [
     {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"},
 ]
 pytest-cov = [
-    {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"},
-    {file = "pytest_cov-3.0.0-py3-none-any.whl", hash = "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6"},
+    {file = "pytest-cov-4.0.0.tar.gz", hash = "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470"},
+    {file = "pytest_cov-4.0.0-py3-none-any.whl", hash = "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b"},
 ]
 pytest-forked = [
     {file = "pytest-forked-1.4.0.tar.gz", hash = "sha256:8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e"},
     {file = "pytest_forked-1.4.0-py3-none-any.whl", hash = "sha256:bbbb6717efc886b9d64537b41fb1497cfaf3c9601276be8da2cccfea5a3c8ad8"},
 ]
+pytest-github-actions-annotate-failures = [
+    {file = "pytest-github-actions-annotate-failures-0.1.7.tar.gz", hash = "sha256:c6af8f9d13f1f09ef4c104a30875a4975db131ddbba979c8e48fdc456c8dde1f"},
+    {file = "pytest_github_actions_annotate_failures-0.1.7-py2.py3-none-any.whl", hash = "sha256:c4a7346d1d95f731a6b53e9a45f10ca56593978149266dd7526876cce403ea38"},
+]
 pytest-mock = [
     {file = "pytest-mock-3.10.0.tar.gz", hash = "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"},
     {file = "pytest_mock-3.10.0-py3-none-any.whl", hash = "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b"},
@@ -1496,10 +1487,6 @@ pytest-randomly = [
     {file = "pytest-randomly-3.12.0.tar.gz", hash = "sha256:d60c2db71ac319aee0fc6c4110a7597d611a8b94a5590918bfa8583f00caccb2"},
     {file = "pytest_randomly-3.12.0-py3-none-any.whl", hash = "sha256:f4f2e803daf5d1ba036cc22bf4fe9dbbf99389ec56b00e5cba732fb5c1d07fdd"},
 ]
-pytest-sugar = [
-    {file = "pytest-sugar-0.9.5.tar.gz", hash = "sha256:eea78b6f15b635277d3d90280cd386d8feea1cab0f9be75947a626e8b02b477d"},
-    {file = "pytest_sugar-0.9.5-py2.py3-none-any.whl", hash = "sha256:3da42de32ce4e1e95b448d61c92804433f5d4058c0a765096991c2e93d5a289f"},
-]
 pytest-xdist = [
     {file = "pytest-xdist-2.5.0.tar.gz", hash = "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf"},
     {file = "pytest_xdist-2.5.0-py3-none-any.whl", hash = "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65"},
@@ -1574,10 +1561,6 @@ six = [
     {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
     {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 ]
-termcolor = [
-    {file = "termcolor-2.0.1-py3-none-any.whl", hash = "sha256:7e597f9de8e001a3208c4132938597413b9da45382b6f1d150cff8d062b7aaa3"},
-    {file = "termcolor-2.0.1.tar.gz", hash = "sha256:6b2cf769e93364a2676e1de56a7c0cff2cf5bd07f37e9cc80b0dd6320ebfe388"},
-]
 toml = [
     {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
     {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
@@ -1710,6 +1693,6 @@ xattr = [
     {file = "xattr-0.9.9.tar.gz", hash = "sha256:09cb7e1efb3aa1b4991d6be4eb25b73dc518b4fe894f0915f5b0dcede972f346"},
 ]
 zipp = [
-    {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"},
-    {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"},
+    {file = "zipp-3.9.0-py3-none-any.whl", hash = "sha256:972cfa31bc2fedd3fa838a51e9bc7e64b7fb725a8c00e7431554311f180e9980"},
+    {file = "zipp-3.9.0.tar.gz", hash = "sha256:3a7af91c3db40ec72dd9d154ae18e008c69efe8ca88dde4f9a731bb82fe2f9eb"},
 ]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
index c38762d3838..0ffdda1918c 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "poetry"
-version = "1.2.1"
+version = "1.2.2"
 description = "Python dependency management and packaging made easy."
 authors = [
     "Sébastien Eustace <sebastien@eustace.io>",
@@ -44,8 +44,8 @@ generate-setup-file = false
 [tool.poetry.dependencies]
 python = "^3.7"
 
-poetry-core = "1.2.0"
-poetry-plugin-export = "^1.0.7"
+poetry-core = "1.3.2"
+poetry-plugin-export = "^1.1.2"
 "backports.cached-property" = { version = "^1.0.2", python = "<3.8" }
 cachecontrol = { version = "^0.12.9", extras = ["filecache"] }
 cachy = "^0.3.0"
@@ -72,24 +72,34 @@ xattr = { version = "^0.9.7", markers = "sys_platform == 'darwin'" }
 urllib3 = "^1.26.0"
 dulwich = "^0.20.46"
 
-[tool.poetry.dev-dependencies]
+[tool.poetry.group.dev.dependencies]
 tox = "^3.18"
-pytest = "^7.1"
-pytest-cov = "^3.0"
-pytest-mock = "^3.5"
-pytest-randomly = "^3.10"
-pytest-sugar = "^0.9"
-pytest-xdist = { version = "^2.5", extras = ["psutil"] }
 pre-commit = "^2.6"
+
+[tool.poetry.group.test.dependencies]
 deepdiff = "^5.0"
+flatdict = "^4.0.1"
 httpretty = "^1.0"
-typing-extensions = { version = "^4.0.0", python = "<3.8" }
+pytest = "^7.1"
+pytest-cov = "^4.0"
+pytest-mock = "^3.9"
+pytest-randomly = "^3.12"
+pytest-xdist = { version = "^2.5", extras = ["psutil"] }
 zipp = { version = "^3.4", python = "<3.8" }
-flatdict = "^4.0.1"
+
+[tool.poetry.group.typing.dependencies]
 mypy = ">=0.971"
 types-html5lib = ">=1.1.9"
 types-jsonschema = ">=4.9.0"
 types-requests = ">=2.28.8"
+typing-extensions = { version = "^4.0.0", python = "<3.8" }
+
+# only used in github actions
+[tool.poetry.group.github-actions]
+optional = true
+[tool.poetry.group.github-actions.dependencies]
+pytest-github-actions-annotate-failures = "^0.1.7"
+
 
 [tool.poetry.scripts]
 poetry = "poetry.console.application:main"
@@ -165,6 +175,14 @@ module = [
 ]
 ignore_missing_imports = true
 
+
+[tool.pytest.ini_options]
+addopts = "-n auto"
+testpaths = [
+    "tests"
+]
+
+
 [tool.coverage.report]
 exclude_lines = [
     "pragma: no cover",
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
index 614c08cd552..2827e33dce9 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
@@ -1,8 +1,8 @@
 {
   "owner": "python-poetry",
   "repo": "poetry",
-  "rev": "1.2.1",
-  "sha256": "10y2vs28xbg5msr49wvhm3s780v4hb2jpxn7lzdin4l1qkrchdiq",
+  "rev": "1.2.2",
+  "sha256": "04cdrq9mjdnp28jx63vjlwj72wrad7941hp3k7263qskzlp27ql6",
   "fetchSubmodules": true
 }
 
diff --git a/pkgs/development/tools/profiling/sysprof/capture.nix b/pkgs/development/tools/profiling/sysprof/capture.nix
index e6690fc0c68..4057db6b74f 100644
--- a/pkgs/development/tools/profiling/sysprof/capture.nix
+++ b/pkgs/development/tools/profiling/sysprof/capture.nix
@@ -15,13 +15,15 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dwith_sysprofd=none"
+    "-Dagent=false"
+    "-Dsysprofd=none"
+    "-Dgtk=false"
     "-Dlibsysprof=false"
     "-Dlibunwind=false"
     "-Dhelp=false"
-    "-Denable_tools=false"
-    "-Denable_tests=false"
-    "-Denable_examples=false"
+    "-Dtools=false"
+    "-Dtests=false"
+    "-Dexamples=false"
   ];
 
   meta = sysprof.meta // {
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index 118b55197da..fed8af725fb 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -4,10 +4,10 @@
 , fetchurl
 , gettext
 , glib
-, gtk3
+, gtk4
 , json-glib
 , itstool
-, libdazzle
+, libadwaita
 , libunwind
 , libxml2
 , meson
@@ -17,19 +17,19 @@
 , polkit
 , shared-mime-info
 , systemd
-, wrapGAppsHook
+, wrapGAppsHook4
 , gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "sysprof";
-  version = "3.44.0";
+  version = "3.46.0";
 
   outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "q12fW3GXOzCI1Yob/fHcI8OaAvX85OXpxz4DSxeLAFs=";
+    sha256 = "PkMNV4FQqN0LB1sX0vzBunBNQogCYvDMZR8z5JO+QHE=";
   };
 
   nativeBuildInputs = [
@@ -41,23 +41,24 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     shared-mime-info
-    wrapGAppsHook
-    gnome.adwaita-icon-theme
-    glib
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    gtk3
+    glib
+    gtk4
     json-glib
     pango
     polkit
     systemd
-    libdazzle
+    libadwaita
     libunwind
   ];
 
   mesonFlags = [
     "-Dsystemdunitdir=lib/systemd/system"
+    # In a separate libsysprof-capture package
+    "-Dinstall-static=false"
   ];
 
   passthru = {
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 026a96e60f1..a8c76f3e5e2 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.67";
+  version = "0.0.69";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZpUrnYIT4OHIwEgq+M+ap/DSZF5y/m7GFRP3iqEamlY=";
+    sha256 = "sha256-5TAuWBb4RJGO7prliR+c1wAOmTRaJ/erwK9ISQTiaNA=";
   };
 
-  cargoSha256 = "sha256-XKGkD4RxRV+7atUPVikPv4106tK5NuH+0BZu39FGREM=";
+  cargoSha256 = "sha256-bv51Hj/JMfFr9SLGQxAoWDCeLr4cI6jpYxnnncAQ6kU=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreServices
diff --git a/pkgs/development/tools/run/default.nix b/pkgs/development/tools/run/default.nix
index 45fb2b8f957..89ccdaf7ec7 100644
--- a/pkgs/development/tools/run/default.nix
+++ b/pkgs/development/tools/run/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "run";
-  version = "0.7.2";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "TekWizely";
     repo = "run";
     rev = "v${version}";
-    sha256 = "17n11lqhywq4z62w2rakdq80v7mxf83rgln19vj4v4nxpwd2hjjw";
+    sha256 = "sha256-ClSB+v153Tj1cKLSmT9Z0IEyc+OABPeG519PzT03pX0=";
   };
 
-  vendorSha256 = "1g5rmiiwqpm8gky9yr5f2a7zsjjmm9i12r7yxj9cz7y3rmw9sw8c";
+  vendorSha256 = "sha256-4n8RRnDNu1Khv3V5eUB/eaFFJGVD/GdqMOywksc2LPw=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/rust/cargo-hf2/add-cargo-lock.patch b/pkgs/development/tools/rust/cargo-hf2/add-cargo-lock.patch
new file mode 100644
index 00000000000..8b7dba9a2cf
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-hf2/add-cargo-lock.patch
@@ -0,0 +1,789 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..c249e21
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,783 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "addr2line"
++version = "0.17.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
++dependencies = [
++ "gimli",
++]
++
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "android_system_properties"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "backtrace"
++version = "0.3.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
++dependencies = [
++ "addr2line",
++ "cc",
++ "cfg-if",
++ "libc",
++ "miniz_oxide",
++ "object",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bumpalo"
++version = "3.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
++
++[[package]]
++name = "cargo-hf2"
++version = "0.3.3"
++dependencies = [
++ "cargo-project",
++ "colored",
++ "hf2",
++ "hidapi",
++ "log",
++ "maplit",
++ "pretty_env_logger 0.3.1",
++ "structopt",
++]
++
++[[package]]
++name = "cargo-project"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04e57b974bffaf97c6a66551e4f947e34637ec25f35aaf9b45f03326a9e3874f"
++dependencies = [
++ "failure",
++ "glob",
++ "log",
++ "rustc-cfg",
++ "serde",
++ "serde_derive",
++ "toml",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "chrono"
++version = "0.4.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
++dependencies = [
++ "iana-time-zone",
++ "js-sys",
++ "num-integer",
++ "num-traits",
++ "time",
++ "wasm-bindgen",
++ "winapi",
++]
++
++[[package]]
++name = "clap"
++version = "2.34.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "colored"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
++dependencies = [
++ "atty",
++ "lazy_static",
++ "winapi",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
++
++[[package]]
++name = "crc-any"
++version = "2.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"
++
++[[package]]
++name = "env_logger"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
++dependencies = [
++ "backtrace",
++ "failure_derive",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
++]
++
++[[package]]
++name = "gimli"
++version = "0.26.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
++
++[[package]]
++name = "glob"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++
++[[package]]
++name = "goblin"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d20fd25aa456527ce4f544271ae4fea65d2eda4a6561ea56f39fb3ee4f7e3884"
++dependencies = [
++ "log",
++ "plain",
++ "scroll",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
++dependencies = [
++ "unicode-segmentation",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hf2"
++version = "0.3.3"
++dependencies = [
++ "crc-any",
++ "goblin",
++ "hidapi",
++ "log",
++ "maplit",
++ "scroll",
++]
++
++[[package]]
++name = "hf2-cli"
++version = "0.3.3"
++dependencies = [
++ "crc-any",
++ "hf2",
++ "hidapi",
++ "log",
++ "maplit",
++ "pretty_env_logger 0.4.0",
++ "structopt",
++]
++
++[[package]]
++name = "hidapi"
++version = "1.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38b1717343691998deb81766bfcd1dce6df0d5d6c37070b5a3de2bb6d39f7822"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "iana-time-zone"
++version = "0.1.46"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501"
++dependencies = [
++ "android_system_properties",
++ "core-foundation-sys",
++ "js-sys",
++ "wasm-bindgen",
++ "winapi",
++]
++
++[[package]]
++name = "js-sys"
++version = "0.3.59"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "libc"
++version = "0.2.132"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
++
++[[package]]
++name = "log"
++version = "0.4.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "maplit"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
++dependencies = [
++ "adler",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.45"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
++dependencies = [
++ "autocfg",
++ "num-traits",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "object"
++version = "0.29.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
++
++[[package]]
++name = "plain"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
++
++[[package]]
++name = "pretty_env_logger"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
++dependencies = [
++ "chrono",
++ "env_logger 0.6.2",
++ "log",
++]
++
++[[package]]
++name = "pretty_env_logger"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
++dependencies = [
++ "env_logger 0.7.1",
++ "log",
++]
++
++[[package]]
++name = "proc-macro-error"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
++dependencies = [
++ "proc-macro-error-attr",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "version_check",
++]
++
++[[package]]
++name = "proc-macro-error-attr"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "version_check",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "regex"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
++
++[[package]]
++name = "rustc-cfg"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ad221fe7cd09334f8735dcc157b1178e343f43dfaefcd1b09d7fd4fc0921b6f"
++dependencies = [
++ "failure",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
++
++[[package]]
++name = "scroll"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec"
++dependencies = [
++ "scroll_derive",
++]
++
++[[package]]
++name = "scroll_derive"
++version = "0.10.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.144"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
++
++[[package]]
++name = "serde_derive"
++version = "1.0.144"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "structopt"
++version = "0.3.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
++dependencies = [
++ "clap",
++ "lazy_static",
++ "structopt-derive",
++]
++
++[[package]]
++name = "structopt-derive"
++version = "0.4.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
++dependencies = [
++ "heck",
++ "proc-macro-error",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "time"
++version = "0.1.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
++dependencies = [
++ "libc",
++ "wasi",
++ "winapi",
++]
++
++[[package]]
++name = "toml"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
++
++[[package]]
++name = "vec_map"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "wasi"
++version = "0.10.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
++dependencies = [
++ "cfg-if",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
++dependencies = [
++ "bumpalo",
++ "log",
++ "once_cell",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/development/tools/rust/cargo-hf2/default.nix b/pkgs/development/tools/rust/cargo-hf2/default.nix
new file mode 100644
index 00000000000..8813af645e9
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-hf2/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, libusb1
+, pkg-config
+, rustfmt
+, AppKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-hf2";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "jacobrosenthal";
+    repo = "hf2-rs";
+    rev = "v${version}";
+    sha256 = "1vkmdmc2041h7msygqb97zcl8vdxjqwy7w0lvbnw99h693q3hqa0";
+  };
+
+  cargoPatches = [
+    ./add-cargo-lock.patch
+  ];
+
+  cargoSha256 = "sha256-5aTqiJ23XuY9MNIt3lVMIJ+33BZkcS02HbctIJrnEfo=";
+
+  nativeBuildInputs = [ pkg-config rustfmt ];
+
+  buildInputs = [ libusb1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
+
+  meta = with lib; {
+    description = "Cargo Subcommand for Microsoft HID Flashing Library for UF2 Bootloaders ";
+    homepage = "https://lib.rs/crates/cargo-hf2";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ astrobeastie ];
+  };
+}
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index acc28a05b11..18b8a9191c2 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.4.15";
+  version = "5.4.16";
   vendorSha256 = "sha256-A0Dq5QoKSFDpif8x27a1O8CGZ9s5PzOycvPfvEp4qn4=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-UESACnwlJjdU1Bm6K9pGNs6p3B/KY71mnlNEfC7ccbc=";
+    sha256 = "sha256-dKt7hM04gDQtpGwDSppDmJqr2uEb77tke4YJYbXMCgU=";
   };
 
   postInstall = ''
diff --git a/pkgs/development/tools/vala-language-server/default.nix b/pkgs/development/tools/vala-language-server/default.nix
index 87f7ce588f8..52e33fee6b6 100644
--- a/pkgs/development/tools/vala-language-server/default.nix
+++ b/pkgs/development/tools/vala-language-server/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -24,6 +26,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gntGnz8uqGz2EGwWWyty/N1ImaUKAPtXVZcjgp73SQM=";
   };
 
+  patches = [
+    # Fix regex for links in comments
+    # https://github.com/vala-lang/vala-language-server/pull/268
+    (fetchpatch {
+      url = "https://github.com/vala-lang/vala-language-server/commit/b6193265d68b90755d57938c2ba1895841cf4b36.patch";
+      sha256 = "sha256-nWG+xQAPDVBXamuKQymvn/FBHEP7Ta9p/vhYjxxBGzI=";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = pname;
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 950012e3624..42edaed7f5d 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.407";
+  version = "0.0.409";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-M1ijAd4V16Su3gIt3wEXeU2gBTdw9/G5DcgIQ6vlr7s=";
+    sha256 = "sha256-ijkmPyz29p8+YUbx9zPj0hSbpTLJiOXOFEzlJI6hI6I=";
   };
 
-  vendorSha256 = "sha256-gIinn3vVQzkASbEUvn0bH8IHL78Lyz9Fb1Tyx1dK49o=";
+  vendorSha256 = "sha256-1pgR6ghuPSFI3KXOyjNmmiVKJU2y4RCRBpFRY5Yt59A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/valum/default.nix b/pkgs/development/web/valum/default.nix
index a11e0f4cb97..caf29a2cc02 100644
--- a/pkgs/development/web/valum/default.nix
+++ b/pkgs/development/web/valum/default.nix
@@ -21,5 +21,8 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ ];
+    # Likely broken by GLib 2.74 switch to PCRE 2.
+    # https://github.com/valum-framework/valum/issues/238
+    broken = true;
   };
 }